19 Types of Software Engineers: Entry-Level to Executive
If you browse any company careers page, you will encounter a bunch of software engineer titles with varying responsibilities and descriptions. But I got you covered! Here you’ll find the most popular roles in a software engineer’s career path, with overview of what it takes to do that job, and the approximate compensation info.
In addition, I dispel some secrets about these engineering ranks. Taken from my basket of personal experience and working with others being in them.
Breaking Into Tech (Entry Level Software Engineer)
We all gotta start somewhere! And there’s no one way you’re supposed to break into the industry. One path is through college, getting an internship, and then a full-time offer. Another is transitioning from a similar role, like data engineering, into swe. In my case, it was hustling to get an opportunity to do software related work at any company with any role, and then working my way up. If you’re interested to learn more about how I got started click here.
1. Software Engineer Intern
A Software Engineering Internship is a short program where you get a chance to delve into your team’s domain - build a project end to end, solve a problem, and ask a lot of questions.
In this position, you have maximum support from everyone in the team and company. So the most important thing is to be proactive and don’t hold back any need for help.
This is also a pivotal time to strike a good impression on co-workers and get a return offer. The chance to get an offer from an internship is way more likely than from interviewing.
Average Compensation: Typically $20/hr - $30/hr in the US.
Main Responsibilities: Building the project. Presenting it to steak holders. Proactive communication.
Challenges: Overcoming obstacles in the way of completing your project.
2. Junior Software Engineer (L3 IC)
This is your starting role as a full time engineer. In this role, you’ll have the opportunity to experience core software engineering workflows - build systems, write tests, dogfooding, debugging, oncall, and more.
At this point, You’ll have a share of your team’s responsibility on making impact. So your work will have to tie into the team strategy. Meanwhile, you also have support readily available from your tenured co-workers. They can help unblock any issues you might face.
Your performance is largely based on your productive output. So making sure you’re executing on initiatives and shipping code is critical. The more the better.
Average Compensation: Typically, between $50k - $200k in the US.
Main Responsibilities: Delivering projects. Handling rollouts. Proactive communication. High standard of code excellence. High code output.
Challenges: Keeping your team in the loop often, especially when last minute issues, delays come up. Having the ownership mentality to take responsibility and drive work to completion.
3. Software Engineer (L4 IC)
At this point you’ll have years of experience in the field with numerous shipped projects. You should feel really comfortable with the product development lifecycle. And serve as a key member that your team can rely on for various needs. Like work stream execution help or oncall or high pri task handling.
You should be an onboarded, efficient, and effective member of the team with substantial skin in the game to deliver on the team’s commitments.
Your performance is based on multiple factors - code output (productivity). Impact i.e was the project successfully completed and shipped, bonus points for moving metrics. Code quality.
Average Compensation: Typically, between $100k - $300k in the US.
Main Responsibilities: Delivering projects. Handling rollouts. Changing contexts. Proactive communication. Higher standard of code excellence. Higher code output. Project impact.
Challenges: Playing a substantial role in making sure the team is covered with all its various responsibilities - roadmap commitments, oncall duty, test maintenance, etc.
4. Backend Software Engineer
Backend engineers build and maintain the tech infrastructure of the company. And it gets utilized by all sorts of things - mobile app clients, desktop clients, browsers, internal tools, and so on.
Average Compensation: Typically, between $100k - $300k in the US.
Main Responsibilities: Building microservices, backend jobs, rpc apis, business logic, distributed systems, among other things. Dealing with flow of Data. Handling rollouts and migrations. Setting up instrumentation to keep tabs on system health. Canary testing.
Challenges: Designing scalable systems.
5. Frontend Software Engineer
Front end engineers spend their time on the client side. This could be mobile or browser or any other device. The job, at a high level, requires you to convert apis and data into interfaces.
The nature of building on the client is very close to product development. So this role is more communication intensive and requires coordination with designers, content specialists, product managers, etc.
Details matter here. The particular way a flow is built or how many steps it took the user to achieve their goal make or break the initiative. So developing product sense and using data to make decisions is critical.
Average Compensation: Typically, between $100k - $300k in the US.
Main Responsibilities: Building client systems - apps, browser, extensions, etc. Aligning functional partners. Coordinating with backend development. Working with client infra (state management, action handling, data flow.) Handling rollouts and launches. Instrumentation.
Challenges: Building a product with craft and having positive impact that’s reflected by metrics.
Specialization Flavors
Software engineering is a broad field with companies needing technical expertise in many different parts of the business. So there’s a number of specialty roles that exist out there.
6. Embedded Software Engineer
In this role you build software that runs on hardware devices like appliances, medical devices, cars, etc. The software’s aim is to interface with different components of the hardware like motors and sensors and fulfill a function.
In a way it can be thought of as enabling the “smart” in smart devices. Unlocking capabilities of internet-of-things among other things.
Also, the development cycle happens at a low level. Since you deal with hardware integration, or using C++ for system buildout, or situations requiring to consider resource allocation.
Average Compensation: Typically, between $100k - $300k in the US.
Main Responsibilities: Firmware implementation. Hardware interaction. Resource management. Power consumption. Building connectivity and data flows.
Challenges: Working around limitations in the hardware.
7. Business Engineer
Business engineers develop software to make the business side of the company run. This role is close to themes like internal tools and process automation.
Similar to software engineering, you will handle with communication with functional partners (colleague clients, designers, etc.) Take part in roadmapping. Build the technical business systems and deal with figuring out long term maintenance.
A big part of the job is managing integrations with other company systems. So being familiar with ERPs (enterprise resource planning), CRMs (customer relationship management), BIs (business intelligence), and HRMs (human resource management) is important.
Average Compensation: Typically, between $100k - $300k in the US.
Main Responsibilities: Understand business requirements. Facilitate design. Development. Testing. Deployment. Building integrations. Measuring improvement in business processes.
Challenges: Business and technical feasibility tradeoffs. Building regulatory and compliant systems. Dealing with legacy systems.
8. Software Test Engineer
As a software test engineer, your primary focus is enabling comprehensive testing of all software systems. While engineers in general write tests for their code, software test engineers focus on testing at a more higher level. Like, setting up and building out the entire infrastructure on which tests run on. Or creating frameworks for easy and efficient test writing. Or enabling tests to run part of CI/CD.
Average Compensation: Typically, between $100k - $300K in the US.
Main Responsibilities: Test automation development. Managing test infrastructure. Setting up monitoring and digging into issues.
Challenges: Test suite performance. Complex test environments. Flaky tests.
9. Partner Engineer
Partner engineers are middlemen between the company and their partners. This can be third party developers, other businesses, or integrators. You promote technical collaboration and insure successful software integrations.
Couple areas of work will include onboarding partners on technical steps or apis and supporting their adoption. Making custom changes, scripts, tools to meet partners where they’re at. Receiving and delivering feedback from partners to internal product teams.
Average Compensation: Typically, between $100k - $300K in the US.
Main Responsibilities: Partner onboarding. Support technical integration. Technical consulting.
Challenges: Balancing tech and communication skills. Working around complicated integrations. Managing parter expectations.
10. Documentation Engineer
Documentation engineers create, manage and maintain technical documentation. In scope includes writing manuals, guides, api docs. Gathering and reviewing information from software engineers. Managing versioning.
This role, while being technical, does not usually involve writing production grade code. Scripting or creating code examples would me more applicable here.
Average Compensation: Typically, between $100k - $240K in the US.
Main Responsibilities: Creating and maintaining documentation in different forms. Collaboration with developers. Version control.
Challenges: Understanding technical complexity of the system. Translating technical details into easy to digest information. Updating documentation. Closing communication gaps with product teams.
11. Site Reliability Engineer
Your aim is to make sure systems are reliable and performant. This is a blend of engineering and ops role.
You can expect to setup monitoring systems, dig into root cause of bottlenecks and incidents, scale and manage servers, work on CI/CD. In addition, you write software to load test systems and identify optimization opportunities.
Average Compensation: Typically, between $100k - $300k in the US.
Main Responsibilities: Setting up monitoring and alerts. Scaling servers and managing compute resourcing. Working with CI/CD. Optimizing performance of common infrastructure. Setup SLAs. Load testing.
Challenges: Balancing development speed and reliability. Dealing with incidents. Debugging distributed systems. Capacity and resource management.
12. Research Scientist / ML Engineer
Your job is to move the company’s AI/ML expertise forward - pushing the boundary of what’s state of the art. Often folks transition into these roles from a background in academia. So similarly, in this role you collaborate with other experts in the field, publish research papers, and present in conferences.
There’s a flip side to this role as well that’s focused on building and deploying production AI systems leveraging institutional knowledge. In scope includes architecture design, model training, model deployment and experimentation, as well as feature engineering.
Average Compensation: Typically, between $100k - $300k in the US.
Main Responsibilities: Writing research papers. Setting up and running experiments. Model training. Deploying models. Feature engineering.
Challenges: Being familiar and comfortable with research type work. Managing sudden and quick changes in research direction. Math background requirement.
The Career Path (Software Engineer Levels)
The software engineer hierarchy:
13. Senior Software Engineer (L5 IC)
As a senior engineer, the big distinction is in autonomy and initiative. An ownership mindset should come naturally in anything you spend time on. You should identify gaps and solve them independently.
You work closely with management on refining the roadmap by helping drive scoping and technical feasibility for ambiguous work streams.
When execution is in full motion, you manage the project, steering it through various hurdles and making sure all engineers work well together.
Average Compensation: Typically, between $300k - $500k in the US.
Main Responsibilities: Drive team’s work streams end-to-end. Refine ambiguous direction and bring clarity to the roadmap. Implement highest risk tasks. Manage launch and rollout.
Challenges: Navigating situations with insufficient data. Shipping positive impact supported by metrics and behavior in usage. Manage project risk.
14. Staff Software Engineer (L6 IC)
As a staff engineer, you get more visibility into the org’s strategy. You help find people to execute against it and participate in scoping out the most ambiguous moments.
Teams typically execute against multiple work streams. You track them all and manage against timelines. With addition of keeping org leadership in the loop by communicating execution status as the team’s representative.
Average Compensation: Typically, between $400k - $600k in the US.
Main Responsibilities: Internalizing and adjusting to org strategy. Staffing work streams. Implement highest risk tasks. Upwards status reshare.
Challenges: Managing and resolving different steak holder interests. Manage project risk. Maintaining effectiveness while spreading across work streams.
15. Sr. Staff Software Engineer (L7 IC)
At this point, you are a distinguished expert in your product area and typically will develop further based on an engineering archetype - product hybrid, specialist, fixer, or coding machine.
You should help drive alignment between people by being great at explaining complicated technical problems in an easy to understand way. Often knowing exactly what’s important to discuss and what’s trivial.
You are expected to know the org strategy in detail and help proactively move it forward.
You can spot internal trends across teams and create scope to capitalize on them.
You are a big asset in helping recruitment.
Average Compensation: $170K average salary in the US. Note: most of the compensation consists of equity, which is highly dependent on terms, company valuation, company potential. Typically, between $600k - $1M.
Main Responsibilities: Applying archetype strengths to drive org progress. Influencing org direction. Creating scope and new work streams that move org goals. Hiring talent. Promoting engineering excellence.
Challenges: Managing and resolving different steak holder interests. Work on the most risky and complicated action items. Making effective decisions with consequences on the org.
16. Principal Software Engineer (L8+ IC)
At this role, you are a distinguished engineer with expectations to drive company wide impact. You are considered an industry expert. And can spot internal/external trends with approaches to capitalize on them.
There’s even greater scope and visibility. And you work on the most important engineering problems of your org.
Average Compensation: $193K average salary in the US. Note: most of the compensation consists of equity, which is highly dependent on terms, company valuation, company potential. Typically, total comp exceeds $1M.
Main Responsibilities: Effectively dispelling knowledge and directional perspective with the entire org. Independently creating scope and execution work streams that move org interests forward. Externally represent engineering of the company. Promote culture. Extremely effective communicator.
Challenges: Delivering on expectations for company wide impact. Making effective decisions.
17. Director of Engineering
This role is more people focused - a natural transition from engineering management. You typically support multiple teams across a product area.
You build out your org to efficiently execute against goals, while minimizing cost, and keeping the org healthy. The org should facilitate people growth from within and have a demand of people interested in joining.
You work with senior leadership in establishing direction for your product area. You facilitate roadmapping process across your teams and make adjustments to work streams.
Average Compensation: $201K average salary in the US. Note: most of the compensation consists of equity, which is highly dependent on terms, company valuation, company potential. Typically, total comp exceeds $1M.
Main Responsibilities: Manage teams. Review roadmaps. Facilitate alignment on org goals. Maintain efficient and healthy teams. Promote internal growth.
Challenges: Delivering impact. Making effective decisions. Keeping costs down while shipping results.
18. Head of Engineering or VP of Engineering
This is a senior executive role in engineering. You manage multiple orgs and make sure that they are cost optimized and working seamlessly towards company goals. You collect signal on org health and take proactive actions in resolving issues. Based on evolving company strategy, you work on org restructuring and setting it up for success.
You are expected to be an expert in the industry and notice gaps that the company can capitalize on and have company wide impact.
Average Compensation: $296K average salary in the US. Note: most of the compensation consists of equity, which is highly dependent on terms, company valuation, company potential.
Main Responsibilities: Manage orgs. Refine and promote company goals. Review roadmaps. Maintain org health. Org design and restructuring.
Challenges: Delivering impact. Making effective decisions. Minimizing CAPEX, maximizing ROI from work.
19. Chief Technology Officer (CTO)
This is the highest technical role within a company. You are responsible for the entire technical direction of the company. You manage and develop all technical orgs.
In addition, CTOs hold a seat at the decision making table for any company wide decisions among other functional steak holders.
Average Compensation: $300K average salary in the US. Note: most of the compensation consists of equity, which is highly dependent on terms, company valuation, company potential.
Main Responsibilities: Manage company’s technical orgs. Represent and push company’s technical interests. Org design and restructuring. Position the tech of the company to support the overall strategy.
Challenges: Making effective decisions. Maintaining technical health of the company. Minimizing CAPEX, maximizing ROI from work.
Want to Get a Software Engineering Role?
I’ll be publishing more resources and tips on effective interviewing. But for now, you can start here: behavioral interview guide. If you’re just wondering about what it’s like to be a software engineer: is software engineering hard?
Did This Help?
I hope you found this information helpful. If you want to stay tuned to more engineering content like this, subscribe below. It also helps me get the signal that I should write more on the broader topic.
Cheers! ☕