For people who start as software developers, what is the usual career trajectory ? while being a developer at 25 is one thing its quite a different thing being one at 35, 45 and 55. At the latter stages of the game, you have a family (hopefully) and are more set in your ways (read less agile or fluid) when it comes to change and you are competing against 20 year olds who will out work you (for various reasons) for sure but also be more comfortable with the trends current at that time. Not to mention the rise in the # of software developers coming from other aspiring nations and business work shifting to cheaper places due to the excessive need for optimization or effectiveness that business go for (although thats a different story).
So with this context, I'd like to ask how one should look at the role of software developer in the long run. Should one change their work - go from software developer to managing people in a engineering capacity to leading business eventually or just keep developing software ? The latter just seems a little bit unnatural. What does the community think ? do you guys see it the same way ?
1) You move to management (engineering, project, product, etc). This one is perhaps quite popular but I think few truly enjoy this move and usually get jammed into middle management. It seems prestigious, pays more, less hours but it can be mind numbing to someone who went into software for the creative and exciting aspects of tech. I think probably many find this is a good way to the midlife crisis. Sorry to be so pessimistic.
2) You become a consultant. Lots of folks do this and will do it as long as they are successful. You usually have to work in more enterprise environments but many realize that is where some of the really tough interesting problems are. Pretty good option for Java/Systems/Network engineers. If your a specialist in Rails or social gaming you may find this one tougher.
3) You get into big corp as a full-time engineer and walk up the Principal Engineer / Architect technical latter. Usually pretty good stability, pretty good pay - relatively comfortable for those who like it.
4) You get tired of things and move out of the field. Where to?.. anyone's guess. Could be tech related, could be totally unrelated. Perhaps we don't like to admit it but there is usually a lot of BS in many software development companies (yes even startups) and at 30, 40, or 50 you realize life is too short to be standing up in a SCRUM everyday (sorry I hate SCRUM - my personal bias).
5) You get really lucky and become really rich somehow (stock options, whatever) and retire early. Everyone thinks this will be them - in reality highly unlikely. Many in software do well but plan on always needing an income.
6) You start a non-startup software business. Perhaps an ISV with a side of consulting or open source or something like that. This one can be pretty fun for those who really truly enjoy software.