Suppose you have been a software developer for few years, you know your technology, you are good at what you do - but what's next?
Looking for answers I found a great post, titled "Why a career in computer programming sucks".
The author, John Bennett, Jr., lists reasons why it's a tough profession:
- Temporary nature of knowledge capital - The technology you know now will be worthless in a few years. Mature developers have no significant advantage over younger developers.
- Low prestige - The average person doesn't really know any famous programmers. You can name BillG, but people know him because he is a billioner. Just try asking someone on the street who Linus Torvald is.
- The foreignization of computer programming - More and more jobs are outsourced to foreign countries and/or cheap workers (even is Israel).
- The working conditions suck - The average employer is contended to dump developers in an open space, and have them fight for decent hardware, although the developer cost much more than any hardware upgrade.
In other words, you got to love this profession to be in it. But love alone won't protect you against foreign outsourcing or age issues.
So what are your choices?
- Software Architect
- Systems Analyst
- Management (usually starting with a team leader position)
- Project Management (you don't really manage anyone, it's more related to a sales position)
- Self employed (Freelance developer, Consultant, Startup founder)
- Specialist / Guru (MVP, consultant, etc)