All day we use software written by someone. Except for some exceptions, you’ll never hear about that person, see them, and in the eyes of a company they are often viewed as “replaceable.” They are developers, and without them there is no software. Without software the people doing the “replacing” have no livelihood.
I understand the concept of division of labor, and an implementer can’t/shouldn’t do it all. But let’s get some things straight here:
- There are more employees that do something that is not directly adding value to the product
- Grossly there is more money spent paying non-implementers
- Implementers are typically not the highest-paid
- Someone doing the implementing strangely has less control over how it should be done
I agree to some degree we need project managers, testers, marketing, etc. but I think most companies have drown their implementers in a sea of busy workers. At the end of the day the people writing the software are often times overly micro-managed and lose too much control or freedom to people making less-informed decisions with wishful intent in absence of logic the implementer has probably already figured out weeks ago.
So if you’re a wiz-bang implementer, what’s your motivation to do it for someone else? You can very likely get paid more to do something that depends on the work you’re currently doing. I’m mainly comparing the idea of going from a programmer to a project manager/analyst.
Most implementers have their own dreams as well. Almost every coder has one or too-many side-projects. Why do they never get done? If you’re a working implementer you’ll never have enough steam to critically think all day, and then do it at home. You may be able to do it sometimes, but when that big-hit happens at work your side projects will slip and eventually fail.
Long story short, if you’re good at coding and doing it for someone else – either make your own start-up or get a different job.
Once you’re working less hours, with less critical thinking, more control, and higher pay you’ll have not only the steam to get your dreams done but the desire as well. Compare the difference between coming home after a day of writing code and keeping all of that in your head for the next day versus coming home thinking about programming-related problems all day but not having tried anything out.
Edit: I didn’t have comments set to publish, so I apologize for the near 20 comments that got posted before I figured that out. I did read all your comments and responded to many. I only enable the comment filtering to keep meme idiots and spammers out and I publish comments I disagree with.