When I first started on the software engineer career path, I thought I knew where I wanted to go (become a Senior Software Engineer) and how to get there (write better code faster). I was wrong on both accounts.
First, by focusing on a generic career ladder instead of my individual career path, I was losing sight of my own development as an engineer. I was like a student who is focused on getting an A instead of on their education: the former is only a symbol of the latter. Career ladders are useful tools, and can be instrumental in ensuring equity of promotions across an organization. But they are a poor substitute for a person’s career path. Or to put it another way, titles are metrics, not targets.
Second, I was wrong about how to get that Senior title. At the time, I measured myself by the things I understood: how quickly I could implement features, the performance of my code, and how few bugs it had. I thought that my career progression would be about me improving those metrics. Write faster code faster, and with fewer bugs, and then I’d be recognized as a Senior Software Engineer.
What I ultimately came to realize was that the real measure of my career growth was in having an ever-increasing impact. My focus at that time was very much on my personal performance, which was only one part of my impact.
Impact is the north star for a software engineer career path
You can increase your impact, and thus grow in your career, in a number of different ways. You could expand the depth and breadth of your skills, to have a greater direct impact in more areas. You could increase the scope of your concerns to encompass the performance of your team, and eventually of your entire organization. You could work with, influence, and support a broader range of people. Each of these software engineer career paths will come with a different set of titles, but chasing those titles is putting the cart before the horse.
I’m not saying titles don’t matter. They do, depending on where you work. Having a title starting with Senior or Lead can affect how deeply people consider your input, or what projects and opportunities are available to you. If you are doing the same kind/quality/quantity of work as someone else, of course you will care if you don’t have the same title. But it is still a mistake to treat a string of titles as being identical to your software engineer career path.
(One thing I love about working at Sourcegraph is that we don’t have those title prefixes. I “lost†my Senior title when I came here, and I wasn’t sure how I would feel about that. But right away I could see how it put early career engineers on a more equal footing with more experienced engineers, which raises the quality of conversations and designs. That’s definitely worth more to me than a title.)
Every career is unique; there’s no one right way to do this. The trick is to find the path that most resonates with you. When you are the most engaged, you will be most effective in expanding your own impact. Here are a few anonymized examples of real software engineers and their career paths.
Get Cody, the AI coding assistant
Cody makes it easy to write, fix, and maintain code.