What career paths are open to programmers? Do a lot of programmers go into management (head of a programming team), or specialize in something harder to learn? You seem to be saying that a programmer with 20 years of experience wouldn’t have that much of an edge over someone with only 2 or 3 years experience.
As an engineer, two of the popular paths are going into project management or similar, or gaining a high amount of technical proficiency in certain domains. Either way, these types of positions really do require the extra experience.
I am aware of four paths, but maybe I am missing something. 1) Get into management. 2) Become an independent contractor, or start your own company. 3) Stay many years in one company and become an internal specialist on their software. 4) Work for a software company that sells to other software companies (e.g. Oracle), and become a specialist on their software. These paths are ordered by a number of people I know who took them, which is probably not a representative sample.
1) Getting into management brings somewhat higher salary, but also more overtime and having to deal with bullshit on daily basis. Which means that your actual salary is almost the same or even lower, but you are supposed to get a big bonus when the project is successfully finished on time. Depending on the company, you may need to talk with your customers daily, telling them a lot of buzzwords and assuring them that the things you actually have little control about will all end well and on time; also if the customer wants to yell at someone, you are the person. If your company works for government, you will have to read a lot of paperwork, and cooperate with people who would prefer if everything failed and they were just left alone. It is a great choice if you don’t care about the content of your work, or if you don’t really have good programming skills, but you enjoy feeling “important”. On the other hand, if you are in IT because you love programming; well, that’s exactly what you will not do.
2) This seems to be the best choice. It requires some skills I don’t feel sure I have, such as networking and making deals with customers.
3) I could actually enjoy this, but there is a lot of risk. You have to spend many years in the same company, and there are some things that could go wrong and then a decade later you would start from zero again, because the skill is non-transferable. For example the company could get bankrupt, or someone else could get your place because of e.g. nepotism.
4) I never worked for a company like that, so I don’t know about the advantages and disadvantages. Could be actually a good choice.
Well, reading what I wrote… seems to me I should seriously put more time into networking and similar things. (But if I had an option 5 -- a safe way to protect my savings from inflation and use them for early retirement, I would certainly prefer that. And possibly combine it with some of the other options.)
But that may be an irrational decision. Where by “irrational” I don’t mean “emotional”, but “failing to calculate the costs and benefits of each option properly” (impacts of moving vs impacts of early retirement).
What career paths are open to programmers? Do a lot of programmers go into management (head of a programming team), or specialize in something harder to learn? You seem to be saying that a programmer with 20 years of experience wouldn’t have that much of an edge over someone with only 2 or 3 years experience.
As an engineer, two of the popular paths are going into project management or similar, or gaining a high amount of technical proficiency in certain domains. Either way, these types of positions really do require the extra experience.
I am aware of four paths, but maybe I am missing something. 1) Get into management. 2) Become an independent contractor, or start your own company. 3) Stay many years in one company and become an internal specialist on their software. 4) Work for a software company that sells to other software companies (e.g. Oracle), and become a specialist on their software. These paths are ordered by a number of people I know who took them, which is probably not a representative sample.
1) Getting into management brings somewhat higher salary, but also more overtime and having to deal with bullshit on daily basis. Which means that your actual salary is almost the same or even lower, but you are supposed to get a big bonus when the project is successfully finished on time. Depending on the company, you may need to talk with your customers daily, telling them a lot of buzzwords and assuring them that the things you actually have little control about will all end well and on time; also if the customer wants to yell at someone, you are the person. If your company works for government, you will have to read a lot of paperwork, and cooperate with people who would prefer if everything failed and they were just left alone. It is a great choice if you don’t care about the content of your work, or if you don’t really have good programming skills, but you enjoy feeling “important”. On the other hand, if you are in IT because you love programming; well, that’s exactly what you will not do.
2) This seems to be the best choice. It requires some skills I don’t feel sure I have, such as networking and making deals with customers.
3) I could actually enjoy this, but there is a lot of risk. You have to spend many years in the same company, and there are some things that could go wrong and then a decade later you would start from zero again, because the skill is non-transferable. For example the company could get bankrupt, or someone else could get your place because of e.g. nepotism.
4) I never worked for a company like that, so I don’t know about the advantages and disadvantages. Could be actually a good choice.
Well, reading what I wrote… seems to me I should seriously put more time into networking and similar things. (But if I had an option 5 -- a safe way to protect my savings from inflation and use them for early retirement, I would certainly prefer that. And possibly combine it with some of the other options.)
Many countries make this possible. Is moving an option?
I would prefer not to move.
But that may be an irrational decision. Where by “irrational” I don’t mean “emotional”, but “failing to calculate the costs and benefits of each option properly” (impacts of moving vs impacts of early retirement).