I've been a software developer for 11 years. I recall, as a junior developer, I enjoyed spending the nights working on refactoring legacy codebases, trying out the latest library, and making sure I wrote the "cleanest code." I did this at the expense of real tasks and deliverables. Somehow, learning was always more comfortable than doing. Many developers fall into this pit.
Here's the thing, at management meetings, there's never any question about which programming language you used or what version of the framework you used. Usually, they ask two things:
- Was the job done?
- Does it work?
What matters most when all is said and done is results, not effort. First, focus on completing the task at hand with the shortest and simplest available method, then you can do other things.
Results, not effort judge you.