4 answers
Josh’s Answer
The promotions you can get in the programming industry can take lots of paths. Almost all of them boil down to “making more of a difference than you would if you were just typing code into a computer.”
One path is to make more of a difference as an individual by getting really, really good — possibly in a specific skill, like Computer Vision or finding security holes in software. This is probably the rarest promotion path in my experience.
The other paths are all about making a bigger difference by helping people work together.
Sometimes that means working together as a team, or helping groups of teams work together. This is usually a “manager path”.
Other times it means providing technical leadership to a team or groups of teams. This might be being the person who’s in charge of deciding “how do we test our software”, or it might be about the architecture or design of code, or even the person who decides what process will be used to make software. A lot of times this role isn’t to just be the person who “makes a rule”, but it’s to be the person who listens to what lots of people have to say, and helps put together the results, and then works to make sure everyone understands the decisions. This path has lots of different names, depending on the company, but it might be “tech lead”, “architect”, “designer”, or “champion.” Sometimes these roles are not even a promotion at first, just something that a person takes on in addition to their normal job, but they can give a lot of great experience.
There are other jobs that a programmer can be really useful in as well, such as:
- Helping the company decide what technologies to invest in using, both to build their products, or to run their business with.
- Working on making technical products that meet customer needs
- Helping make products which comply with laws, or ensuring that they’re secure
- Helping products be more reliable
- Working on making the business more efficient or learn more from it’s data
A lot of them are not a direct promotion path within software engineering, but they can make great use of the development skills you have.
M’s Answer
There are many paths that you can take to grow in the Tech/Programming industry.
If you want to remain on more of a Technical Coding Path you could grow from a Software Engineer to a Senior Engineer to a Principal Engineer and so on. You would remain an individual contributor on this path - which really means that you would be given bigger an bigger responsibilities in terms of the projects you own but not necessarily have to manage people.
If you prefer to grow into management once you learn the ropes of Programming you can switch from being a software engineer /Senior Software engineer into the Engineering Management route which would take you upwards as an Engineering manager, Engineering Director and so on. With this path you would still be involved with Technology but not necessarily writing code on a daily basis. You would be working to empower your team to enable them to work as best as they can.
There are other paths that you could take in the industry too, for eg: if you enjoy working with Technology but dont necessarily want to write code you can also choose to move into the Product management which keeps you closely in touch with Tech and yet lets you drive the Product Roadmap.
To Summarize there are many ways to grow in the Programming industry , and it would really depend on which route you enjoy the most and the kind of impact you would want to make.
Source: Sr. Software Engineering working in the tech industry for more than 10 years.
Bonnie’s Answer
John’s Answer
Hi Corey,
There is a wide variety of promotions possible in the programming industry. I started out as a Programmer I, then was promoted to Programmer II (which carried more challenging problems but not necessarily any extra responsibility), and now I am a developer technical lead. These are examples of vertical promotions.
However, it is also possible to become more specialized in something, and this is more of a horizontal promotion. For example, if I were to gain knowledge in a specific domain such as user experience or machine learning, I could be transferred to a position that reflected that expertise.
Focus on learning what you're passionate about and you'll find your path. If you're in to leadership and you're good at it, then vertical promotions are right for you, but not everyone has to follow a career path like that.
I hope this answers your question!
Thank you for reaching out.
John recommends the following next steps: