I often see Software Developers (aka Developers aka Software Engineers aka Programmers, etc.) concerned with the long term prospects of remaining “just” a Developer. Although they may have an aptitude for software development, they fear that unless they get promoted out of a development role then their career will grow stagnant. To make matters worse, companies may even “promote” good developers to other positions — like a Business Analyst or Project Manager — which may be regarded as higher up the food chain. I contend that being a Developer is a career path of its own, and any “promotion” out of that role is probably just be a lateral move into a different profession.
Having filled the role of Developer, Business/Systems Analyst, Project Manager, and Development Manager, I can say with confidence that a great Developer can often times contribute to a software project in a bigger way than these other roles. In an Agile environment, a Developer is empowered not only through doing the actual development, but by helping with requirements, providing estimates, bringing new ideas to the table, testing, etc. On the other hand, a Business Analyst, Project Manager, or Development Manager most likely cannot directly contribute to the actual software development — which is of course the most fundamental thing that has to happen for software to get built. My point is that a Developer ultimately makes the most important contribution in a software development project, and may even have the most challenging job.
A second point is that good Developers scale in value much more quickly and for a much longer duration than most other professions. That is, a Developer with two years of experience might be twice as valuable as they were in their first year. A Developer with five years of experience might even be five times as valuable as they were in their first year. You can probably think of your own experiences where one experienced Developer was an order of magnitude more productive than a junior Developer. Many professions hit a plateau relatively quickly and do not see this kind of growth in value. So long as your contribution to work is growing year after year then you should expect to see your income growing year after year. In these other kinds of professions where your value plateaus quickly, you could understand why one might want to get promoted out of their role. The point is that Developers are valuable, and exceptionally good developers are exceptionally valuable. If you are passionate about development then you could reasonably expect to stay within the software development profession and make a good living.
That being said, these other roles can be equally impactful and can be extremely rewarding as well. If you are passionate about something other than development, or you believe you can make a better contribution as a Business Analyst/Project Manager/Development Manager/Team Lead/etc. then go ahead make the career change (but notice I didn’t call it a promotion).
Does the career path of a Developer scale at your company?