Move.sidewards() - Alternative Developer Career Paths
When talking about developer career paths the discussion moves quickly to popular technologies and how to become a React, Typescript, or Python developer. Often the conversation is about whether to move into a management role or staying on the individual contributor track.
There are much more alternative developer career paths than you think. Moving into product management or support might be the more obvious ones than becoming a Developer Marketing Manager. Sometimes it’s a good idea to move sidewards into a different area and use your expertise as a software developer. A tech career ladder is not a one way street and has many junctions and a lot of opportunities to keep you motivated and learn something new. Curious what’s out there? Here are 19 alternatives roles in tech to acquire new knowledge and still use your coding skills.
Operations
Code don’t just runs on its own. It needs an infrastructure that operations takes care of. Those people are mostly working behind the scenes and making sure the customers have a smooth and consistent experience. In the last few years these roles have blended more with the traditional developer job. Developers care more about the infrastructure and operations get more into developing. It’s a perfect fit if you like to still want to code a bit and plan the systems growth together with the developers.
System Administrator
Event though cloud services are on the rise there a lot of companies running their own servers. The system administrator is responsible for patching and upgrading them throughout the year. You’ll need a good understanding of operation systems, writing automation scripts, hosting software, and have a good understanding of the system architecture. System administrators make sure that the software from the developers run smooth on the selected infrastructure.
Learn more about what a System Administrator is doing.
DevOps Engineer
DevOps is actually not a role but a mindset to bridge between development and operations. Some companies are nowadays hiring for this role and that’s why we added it to the list.
As a DevOps engineer you care about an automated software delivery process. You need to talk to the system administrators and the developers to make sure the planned code changes will run stable on the infrastructure. There’s still some development involved especially for automating software checks and deployment.
Learn more about what a DevOps Engineer is doing.
Site Reliability Engineer
These engineers are often on call. They need to react fast if an incident is detected. Together with the engineering they analyze the problem and find a solution. Those engineers work on monitoring and diagnosing tools and automate manual processes. The pressure can be high from time to time but it’s also rewarding when an incident can be resolved for the customer.
Learn more about what a Site Reliability Engineer is doing.
Database Administrator
Database Administrators are responsible for the performance of the database. They deal with provisioning, securing, scaling, and optimizing the database. They advice developers on schema optimizations and plan schema updates with the engineering teams.
Learn more about what a Database Administrator is doing.
Product
In product you still work closely with the development teams on implementing and testing new features. You need to understand how the software developers are working, make sure them team creates high value and quality features, and understand the customers needs.
Scrum Master
In smaller organziations the role of the Scrum Master is not a full time job but in larger companies it might be. You make sure that agile rituals and processes are understood by the development teams. A Scrum Master identifies and removes blockers for the developers and improve their workflows.
Learn more about what a Scrum Master is doing.
Product Manager
As a Product Manager you identify the customer need and the larger business objective for a product. In larger organizations they work closely with analysts and researches to get a better understanding of the products market. They draw up designs, build prototypes, do user tests, and define the product vision. It’s very common that they’re directly embedded in cross-functional development teams.
Learn more about what a Product Manager is doing.
Project Manager
Where a product manager is focused on the product a project manager is often needed if an initiative spans different disciplines in the organization like legal and marketing. A project manager often works on more projects at the same time. The role requires excellent organization skills, understanding of the business, and people skills. You are motivating people, make sure deadlines are met, and report the project status to stakeholder and often to the upper management.
Learn more about what a Project Manager is doing.
UX Designer
It’s recommended to have some basic design skills before starting as a UX Designer role. Good HTML/CSS and JavaScript skills will help you building prototypes for software designs that the developers can later implement.
Learn more about what a UX Designer is doing.
QA Engineer
If you like finding bugs, testing software, and writing automation scripts this role might be interesting for you. These days QA Engineers are not clicking through test protocols anymore but enabling the development to define how a new feature should be tested and what quality means for the software created. A huge focus is put on helping development teams to automate repetitive test tasks.
Learn more about what a QA Engineer is doing.
Customers
In these roles you work closely with the customers. Whether helping them with issues, making sure they understand the value of the product, and getting the most out of their purchase. These alternative developer career paths involves a lot of interaction with people.
Technical Recruiter
Maybe this is not the most obvious career shift decision: Technical Recruiters don’t have the best reputation among developers but bear with me. Former software developers will make great recruiters. They have a good understanding of the job and come with a lot of empathy for the candidate. This role requires good people skills and relationship building.
Learn more about what a Technical Recruiter is doing.
Support Engineer
Support Engineers talk to customers every day. You’ll provide solutions and work closely with development to dive deeper into technical problems. Coding skills and experience in development is highly required for this role. But be aware: it can be hard to deal with frustrated customers every day and hear just about what is NOT working. You need good listening skills and patience to find the root problem.
Learn more about what a Support Engineer is doing.
Technical Account Manager
A Technical Account Manager (TAM) helps to frame the customer’s strategic direction and help their teams to succeed with your product. You need good people skills and good experience around the technology you’re providing. As a TAM you make sure that your customers are getting the most value out of your product.
Learn more about what a Technical Account Manger is doing.
Sales Engineer
Sales Engineers have some level of technical expertise. You need to understand the technical needs of a potential customers and turn this into selling a solution. It can be very rewarding to help customers that are struggling or looking for better ways by offering them a solution that will make their lives easier. It requires good people and negotiation skills.
Learn more about what a Sales Engineer is doing.
Research
Researchers these days are not sitting in an ivory tower. They help developers find algorithms and help making software more effective and secure. Research offers great alternative developer career paths if you still want to write code and help gather and process the data developers need to make the code more robust.
Security Analyst
We know: Every developer should be aware on writing secure code, sure. A security analyst helps to discover vulnerabilities and also provide fixes. This role requires a good mix of technical, compliance, business, and risk assessment skills. The job of a security analyst will become increasingly more important over the next years.
Learn more about what a Security Analyst is doing.
Data Engineer
A Data Engineer work closely with developers to optimize the flow of data within the application. They also design algorithms and experiments. In some organizations they are also called Data Scientists. If you love numeric analysis, matrix algebra, and statistics this role is for you.
Learn more about what a Data Engineer is doing.
Promoting
These roles help the business to raise awareness, help potential customer better understand the value of your product, and offer them a smoother onboarding. A lot of skills are needed besides understanding developers like SEO, social media, inbound marketing, and much more. Everything that explains the product and why it can help customers. These people are talking regularly with product and development to align the messaging.
Developer Marketing Manager
Marketing for developers is not an easy job. It is important to position the value of software targeted to developers so they get interested in trying it out. When you’re coming from the developer side you’re already understanding the target audience very well. You just need to acquire some knowledge for SEO, social media, influence marketing, etc. If you like to write content on developer topics this role might be great for you.
Learn more about what a Developer Marketing Manager is doing.
Developer Advocate
If you don’t feel too comfortable with a 100% marketing role this one might be for you. As a developer Advocate you represent the company at community and industry events including giving presentations in front of hundreds of developers. The aim is to build a relationship with different developer communities online and offline. They are often involved in creating demo applications, writing blog posts, and managing social media accounts for tech-focused companies. This role requires still a good amount of coding but normally not on production code anymore.
Learn more about what a Developer Advocate is doing.
Teaching
Passing on your developer knowledge can be very rewarding. You don’t have to be decades in this industry to teach others. It’s also a great way to expand your own knowledge when diving deeper into certain topics. A lot of time as a teacher is spend on training yourself. Some roles are more outgoing than others. Take a look at this alternative developer career paths.
Trainer
Trainer often travel to customer’s offices to deliver a hands on training for your software. Highly technical knowledge is required when teaching other engineers. You also often would speak at conferences and community events, or 3rd party organized workshops. This role normally requires quite a bit of travelling.
Learn more about what a Trainer is doing.
Technical Writer
Documentation sounds boring to you? Wait, there’s more. Technical writers often help developers write documentation by providing them with the tools and the structure. Creating interactive documentation can be fun and as a technical writer you can define how the docs should look like and what’s best for the users. The role often includes creating demo apps and tutorials.
Learn more about what a Technical Writer is doing.
Help us improve alternative developer career paths
We've created a repository on Github with more information on the roles above. Feel free to use it for your internal documentation, job descriptions, or just as a reference. If you want to add to the description or add more roles simply create a pull request.