Your career path should be intriguing enough for you to maintain a steady and growing desire for more ownership and accountability over the years.
As an engineer, picking your software engineering career path really comes down to asking yourself some questions to identify if you'd rather grow vertically (people & team orchestration path) or horizontally (technical thought leader path).
Here are 5 questions to help you gain some visibility into your own needs:
The last and final question to ask yourself is where do you want you to want to spend most of your mental energy and time. People or product. Where do you feel like your skills align best: coach or builder?
In a vertical pathway, your job will be to transition into a somewhat of a technological coach. One that can build teams, nurture individuals, and boost team performance all while making an indirect impact on your organization's product.
In a horizontal pathway, your job will be to build the most innovative products the world has ever seen. It involves collaborating and debating with other builders to make sure the technology is headed in the best direction. You'll have indirect touches on teams and people management along the way - but your main focus is to continue to deepen your technological skillset to put it into the product.
The beauty of choosing a horizontal pathway is you get to, eventually, have a wide scope of impact on the technical strategy and direction of your company's product.
Right now, you may only influence the tasks you work on directly but over time this will expand to some of the organization's most complex technical problems and projects, shaping broader architecture, and shipping large services or complex libraries/major pieces of infrastructure.
The holy grail of having product influence is setting multi-year technical strategies while identifying areas of technical improvement and setting technology strategic growth opportunities.
A vertical pathway means you'll be responsible and held accountable for making sure your teams hum. This is an artful balance of technical leadership, team orchestration, and people development.
Your scope of impact is less focused on technical direction and more focused on team synchronization, nurturing talent, and managing business goals. You'll develop and deploy new strategies for building high efficiency, high-velocity development to meet customer needs while collaborating with cross-functional partners to build organizational trust.
A large part of your job will be ensuring you have the right people in the right places and that they're growing in the pathways that they've chosen.
You'll oversee multiple pillars and/or multiple independent functions to ensure the organization is functioning at its fullest potential.
We call technical problem solving and recruiting - the engineering grind. They're typically the most time-consuming and stressful parts of either pathway, but sometimes it's easier to make a decision based on what you absolutely can't stomach.
Here you're making a decision between spending hours trying to debug complex issues in the codebase or spending hours finding the right fit for the team.
One takes a deepened skill set in technical abilities while the other takes deepened skill set in empathetic people management. Both can seem like endless roads leading to nowhere, but when completed and done successfully they're often the most rewarding.
Another decision you'll need to take into consideration when choosing a pathway is what you want to collaborate on and who you want to collaborate with.
As a principal engineer or staff engineer, you'll be responsible for building out technical strategies and communicating this strategy to the wider technical team to increase product value. Expect debates around architecture, performance, and technological innovation.
On a more vertical path, you'll get to collaborate across the business with marketing, product, and business departments. Your goal here is to ensure engineering is aligning with business needs while communicating predictability and engineering decisions to non-technical people.
At first glance, this can sound/feel daunting but it's an opportunity to sit a bit higher-level view and make sure that everything is headed in the right direction.
The answers to the questions should help give you some idea of whether horizontal or vertical growth is aligned with your interests. From there, reach out to the people that have to take your path and learn from their experiences.
We'd love to hear from you - which software engineering career path do you think works best? Vertical or horizontal?