https://codecapsule.com/2021/07/15/the-skills-map-of-senior-tech-career-progression/
To talk about career paths, I think it is important to be transparent about my own background. I have been titled as a mid-tier dev my entire career, but throughout that time I’ve spent time working on things both above and below that “role”, as well as moving to companies with higher and higher standards for their devs.
-1.5 years: Full Stack Web Dev at a small SaaS company
It’s important to note that what a “senior dev” means varies by company and region of the world you are working in. Generally speaking, there are two categories of how these titles are determined. One is by years of experience, and the other is by the kind of work you do daily. I’m going to be using kind of work as a measure since that is the primary concern when planning out a career path.
Here are the definitions I’m using:
Early
SWE1/Junior: Main focus is on learning. Doing simple implementations of tasks handed to them by mid-tier and senior devs.
SWE2/Mid-tier: Able to work on most tasks independently. Participates in planning and design work but is not necessarily a decision-maker in these high-level areas.
Mid
Senior: Help with project planning, delegate tasks, and mentor junior devs. We might spend some time coding but are mainly focused on keeping the technical parts of the team moving forward.
Late
Principal/Staff and Higher: The person is focused almost entirely on big picture planning and execution. The scope of the planning will usually be broader than with senior devs. Ex. Staff engineer designs the overall structure, and a senior dev is given a specific feature or group of features to implement.
Lead: This is sometimes given to the most senior member of a team and doesn’t necessarily fit into a specific tier.
In any job where you want to get promoted, it’s a good idea to start the conversation early. Hopefully, you will be with a manager that will take your unique skills seriously and work with you on creating a plan that fits both you and the business’s requirements for what that next level requires. Once you’ve met enough of those goals, you can shift the conversation from action on your part to action on your manager’s part to push through the promotion.
In the current work environment though, it is important to acknowledge that upwards career growth is often easier to get by changing jobs than by getting a promotion. This will work even if you work somewhere that is not open to internal promotions. In an ideal scenario you can use both methods to work your way up to where you want to be. Changing companies can act as a backup plan in case your boss is unwilling or unable to promote you even when you’ve fullfilled the requirements.
Moving from education (whether college, bootcamp, or self taught) to junior, and next to SWE 2 (or PM 2, etc.) is generally pretty straightforward.
Your main goal during this time is to learn and to grow- experiment with different types of tech and see what you enjoy working on. You might switch specialties, but you often won’t need to move down a tier to do so. Instead you’ll leverage the skills you’ve gained so far in order to move into the new role more quickly than someone who is new to the industry, brining in an additional perspective to your new role/team.
It might seems a bit weird to consider a senior dev “mid-career” as opposed to a mid-tier dev, but stick with me. It is entirely possible, myself included, to spend an extended amount of time at a lower level, but the majority of devs will sit at senior level for a large portion of their career. Many will never go past it. In addition, it is where the roles that we take on start to fan out more.
The most important thing to understand here is that there is an inaccurate view of the industry that from this point on, you need to move into management in order to continue growing in your career. While that once may have been true, it’s a trap that leads to technical people going into management despite their interests lying elsewhere and making everyone, including themselves, miserable in the process.
Instead it’s best to look at your career options as a tree- your jr. and mid years create the trunk, and the options branch out from there with many different directions to go, and only some of them are in management.
While you may spend many years in the “Senior” title, that does not mean your career has stalled out– far from it. While you may find yourself a comfortable spot and stay there, if you want to continue your growth, you will want to look at making one or more lateral moves within that space. This is because as your responsibilities become broader in scope you need to understand more aspects of the business. A principal architect might seem to be focused on the technical aspects of a project, but they need to have some knowledge of people and business management in order to design a successful plan for that project.
If you didn’t do much moving around previously, you may have to move down a level in order to obtain this broader understanding, and it’s often worthwhile to do so despite a possible loss of income. The loss is likely to be temporary as you skill up in your new role more quickly than in your previous one. In the end these additional skills are going to improve your value as an employee, allowing you to recoup those losses.
While you can start this early in your career, and I recommend starting early since they are helpful throughout your career, the higher up you go in the tech field, the harder it will be to do so without spending some time on things outside of your job description.
These are the topics of many of the other workshops we do on discord– things like networking can help you move into areas where your resume is weak to help you build experience. Content increases your visibility in the industry so that future bosses will be more willing to give you additional responsibility. If you want to move into something like a consulting role, these types of things become even more important as your reputation essentially replaces your resume.
Many people will never get into what I’ve categorized as “late career”, but it may be something you personally want as a goal. In my opinion, there are two different main branches at this level. The first is to continue up the corporate hierarchy into principal level and above in whatever path (or multiple paths) you choose. As with mid-stage, shifting around between disciplines is still possible, though in my observation people tend to stay a bit more in a single track at that point.
The other route is that this is where things like being an independent consultant become extremely viable. You’ve had 5-10 years to build a professional brand that you can leverage to gain clients and charge them enough to keep you comfortable. This path is a bit different, however. Where-as something like a product manager needs to have a solid foundation in a lot of different disciplines, the consultants I’ve talked to at this level tend to be extremely deep in only a few skills. If they choose to be independent they still need the skills for running a business, but these are the ones that are commited to a specific technology or type of technology, and wouldn’t necessarily do well in a more general role.