Using things where they don't need to be used is always wrong, but that's almost always just the consequence of a bad developer writing stuff. Not a bored one.
Great portion of developers aren't "bored", they are bad, so they do everything as they go, without optimizing, without planning, etc. When they try using different things outside of their limited knowledge base, they screw up even harder. Creating the unnecessary complexity you talk about.
I find refactoring/optimization to be a necessity and even tho my boss probably won't ever know I optimized X, I know I did it, and I will keep doing it. It's how you grow as a developer, specially in CRUD companies that do not care.
And keep in mind, most developers don't want to get out of the CRUD. And they are very happy with a good paying CRUD job.
Comments
Using things where they don't need to be used is always wrong, but that's almost always just the consequence of a bad developer writing stuff. Not a bored one.
Great portion of developers aren't "bored", they are bad, so they do everything as they go, without optimizing, without planning, etc. When they try using different things outside of their limited knowledge base, they screw up even harder. Creating the unnecessary complexity you talk about.
I find refactoring/optimization to be a necessity and even tho my boss probably won't ever know I optimized X, I know I did it, and I will keep doing it. It's how you grow as a developer, specially in CRUD companies that do not care.
And keep in mind, most developers don't want to get out of the CRUD. And they are very happy with a good paying CRUD job.