Software developer career paths: 2025 job guide
A complete list of 17 different career paths you can pursue, including salary information, key skills, portfolio ideas, and career advancement options.
Jun 25, 2025 • 15 Minute Read

- 1. Front-end development
- 2. Back-end development
- 3. Full-stack development
- 4. Mobile development
- 5. QA engineering
- 6. DevOps engineering
- 7. Application security engineering (AppSec)
- 8. Cloud engineering
- 9. AI/ML engineering
- 10. Data engineering
- 11. Embedded systems engineering
- 12. Game development
- 13. XR development
- 14. Developer relations
- 15. Scientific computing / HPC
- 16. Software project management
- 17. Creative coding
- Conclusion
- Advance your tech skills today
Software development is bigger than you think! There are many different career moves available, both advancing within your chosen domain or shifting to a new one. Here is a comprehensive list of the career paths available in software development in 2025.
* Note: All average salary data is in USD and sourced from Indeed as of June 2025. Salary ranges will differ depending on your country and state.
1. Front-end development
Been on the internet lately? None of it would be possible without front-end developers. This career path focuses on building the client-side parts of websites and applications, typically working in tandem with designers and back-end developers. Front-end developers spend most of their time translating design mockups into responsive experiences.
Who would thrive
If you love mixing your technical and creative skills, front-end development may be for you. It’s perfect for people who love to see and share the results of their work quickly, compared to the often abstract and invisible work of back-end development.
Typical salary range
The average salary range in front-end development is between $63k to $142k per year.
Tools and technologies to know
Project management tools: Learn the three Gits: Git, GitHub, and GitLab. Also, it helps to be familiar with Jira, Confluence, and Slack.
Key languages: Master the sacred trinity of HTML, CSS , and JavaScript.
Popular front-end libraries and frameworks: Try to get familiar with React, Vue, Angular, Bootstrap, and Tailwind CSS.
IDE Web Development tools: To work your magic, you’ll need an IDE like Visual Studio Code or Sublime Text.
Developer tools: Chrome DevTools, FireFox Developer Tools, and React Developer Tools are key to testing your work.
Build Tools: Vite, SWC, and esbuild.
Web design tools: Knowledge of Figma will help you not only plan your work, but collaborate internally with designers and key stakeholders.
Valued mindsets and soft skills
Problem solving: A key skill for any hands-on development. However, there is typically less troubleshooting involved in front-end compared to back-end development.
Communication and collaboration: Career success in front-end development will rely on your ability to listen, communicate, and work with team members, clients, and other stakeholders.
User-centric thinking: You’re building the user-facing portion of a product, so being able to put yourself in their shoes will be a valuable skill.
Attention to detail: Your work will be public facing, which means your ability to notice and catch errors before things go live will directly affect how you are perceived internally.
Critical thinking: Critical thinking is a crucial skill that helps you ask the right questions at the start of a project and spot errors and issues before they go live.
Creativity: Having a creative mind helps you picture the perfect experience, communicate with designers, and think of novel solutions to a brief.
Continuous learning: Keeping on top of new frameworks, libraries, best practices, and underlying frameworks will help keep you current and advancing.
Possible career pathways
Contrary to popular belief, you can build a senior career in front-end development. There are many niche front-end roles that require more seniority, such as:
Front-end Architects
UI/UX Engineers
Developer Experience Engineers
Front-end Performance Engineers
Accessibility Leads
Design Systems Leads
In terms of lateral career moves, it’s quite common for front-end professionals to go into full-stack development, developer advocacy, product management, UX design, or technical writing.
Portfolio idea
Build small websites that demonstrate specific skills like performance optimization or web accessibility. You can host these demos on a personal site or on a CodePen portfolio.
2. Back-end development
Back-end developers are responsible for all the unseen magic behind the scenes that make websites and applications possible, working on the server-side logic. They design APIs, handle database interactions, manage authentication, and ensure that the business logic runs smoothly.
Who would thrive
If you enjoy solving data-flow puzzles and architecting scalable systems, back-end work can be satisfying. Besides these skills, you also need an eye for security and to think about optimizing performance.
Typical salary range
The average salary range in back-end development is between $77k to $150k per year.
Tools and technologies to know
Key programming languages: Java, Python, PHP, Ruby, and JavaScript are all languages to learn.
Back-end or full-stack frameworks: Frameworks are the backbone of the program or app you’re working on. Consider Spring for Java, Django for Python, Laravel for PHP, Ruby on Rails, and Node.js.
Project management tools: Learn the three Gits: Git, GitHub, and GitLab. Also, it helps to be familiar with Jira, Confluence, and Slack.
Understand databases: Practice designing schemas, writing SQL queries, and using NoSQL stores.
API knowledge: You’re going to be establishing connections between different applications, and to do that, you need an Application Programming Interface (API).
Server knowledge: Learn how to spin up your own servers using Apache, NGINX, or Microsoft IIS.
Cloud computing knowledge: Study up on one of the big three cloud providers (AWS, Azure, or GCP), Docker, Kubernetes, and Terraform.
Data knowledge: Your role will likely involve managing, organizing, and retrieving data, so knowing about data structure and algorithms will be helpful.
Front-end knowledge: Even though you’re dealing with the back-end, it’s good to know HTML, CSS, and JavaScript to ensure proper output.
Cybersecurity and DevOps knowledge: Even though you’re not directly aiming for these roles, understanding how to secure the back end, as well as key DevOps practices like containerization and CI/CD pipelines is important.
Valued mindsets and soft skills
- Problem solving: A key skill for any hands-on development.
- Communication and collaboration: Back-end developers typically work as part of a larger development team, so they need to be able to communicate effectively to achieve a larger vision.
- Critical thinking: There are a lot of issues that need to be ironed out as a back-end developer, so critical thinkers thrive in this space.
- Systems thinking: You’ve got to imagine the final project and how it all fits together.
- Continuous learning: Keeping on top of all the changes in back-end frameworks, databases, servers, cloud computing services, and APIs is part of the job.
Possible career pathways
You can easily specialize as a back-end developer. Alternatively, it’s quite common for professionals to move into full stack, cloud development, data science, DevOps, or SRE roles.
Portfolio idea
Spin up a mini microservices project: Create a few small services that talk to each other and a database, wrap each in its own container, and then configure a CI/CD pipeline to build and deploy them automatically. This not only highlights your skills in designing scalable back-end systems but also shows you know how to make them production-ready.
3. Full-stack development
By your powers combined! Full-stack developers are proficient in both front-end and back-end technologies, able to handle everything from UI design to server logic. They’re versatile, which opens more career opportunities. However, mastering both takes time and patience.
Who would thrive
People who have equal passion for front- and back-end development, are continuous learners, and want to maximize their career options. This career also works well with people who like working at small to medium organizations, where there are more opportunities to “do it all.”
Typical salary range
The average salary range in full-stack development is between $61k to $157k per year.
Tools and technologies to know
See front-end and back-end development.
Valued mindsets and soft skills
Full-stack developers have all the same requirements as front-end and back-end developers, but the following skills are of particular importance:
Time management: Since you’ll be able to do the work of multiple people, you may be asked to do twice as much. Knowing how to balance your time—and when to say no—is very important.
Continuous learning: There’s twice as much to keep on top of, so you’ll need to set aside time to make sure your knowledge and skills don’t lapse in certain areas.
Possible career pathways
If full-stack developers get tired of their current path, they can always specialize in front- or back-end development. Shifts into product or engineering management are common, as is becoming a startup entrepreneur.
Portfolio idea
Create a complete website or application with both front- and back-end components. You can clone the functionality of a popular website such as Airbnb, Twitter, or any e-commerce website.
4. Mobile development
Mobile app developers build software for smartphones and tablets. Although both web and mobile developers write code for user interfaces, mobile work demands deeper attention to device capabilities (camera, GPS, sensors), offline data handling, and platform‑specific patterns.
App developers also contend with app‑store lifecycles that web developers generally don’t face.
Who would thrive
User-centric thinkers who enjoy rapid feedback loops, are okay working within platform-specific constraints, and are product-minded. Entrepreneurial spirits are also likely to thrive in this space, as they can create complete, shippable products with built-in revenue streams as a solo developer or with a small team.
Typical salary range
The average salary range in mobile development is between $81k to $160k per year.
Tools and technologies to know
Platform-specific languages and frameworks: The most obvious skill for a mobile developer is knowing how to code. Depending on the platform you want to target, you’ll want to learn different languages and frameworks. For example:
For iOS, you’ll need to know Swift or SwiftUI and use XCode as an IDE.
For Android, you’ll want to know Java, Kotlin, or Jetpack Compose, and use Android Studio as an IDE.
For cross-platform, it helps to know JavaScript, Dart, or C# and use frameworks like React Native, Flutter, or .NET MAUI.
User interface design fundamentals and tools: Mobile apps are only as successful as they are attractive, intuitive, and responsive. You’ll need to know UI fundamentals and how to use tools such as Sketch or Figma for mockups and prototyping.
Mobile architecture patterns: Mobile architecture patterns are very similar to front-end architecture patterns. Common mobile patterns you should know are MVC, MVVM, or Bloc (in Flutter).
Back-end development: Most mobile apps require a back end to store, process, and retrieve data. You’ll also need to have a way to authenticate users.
App deployment knowledge: You need to know how to deploy and maintain your app on mobile stores. Knowledge of testing tools like TestFlight, Firebase App Distribution, or Google Play Console will help you distribute and test your apps.
Project management tools: Learn the three Gits: Git, GitHub, and GitLab. Also, it helps to be familiar with Jira, Confluence, and Slack.
Valued mindsets and soft skills
User-centric thinking: People who can put themselves in the user’s shoes thrive in mobile development.
Entrepreneurship: You’re coming up with a product, so having an entrepreneurial mindset can help you both working for someone else or as a solo developer.
Product-minded: Thinking of the finished product and not just your tasks is a valuable skill as a mobile developer.
Project management: Managing your timelines, the dependencies, and coordinating with others are all great skills to have.
Continuous learning: Mobile development requires deeper knowledge of current platform capabilities, the latest tools and techniques, and user expectations.
Creativity: Creative people thrive as mobile developers because they have an easier time coming up with novel app ideas or features, and picturing how to execute it.
Problem solving: If there’s no problem to solve, you’re not in mobile development.
Possible career pathways
From mobile development, it’s not uncommon to leverage those skills to go into full-stack or front-end development, product management, UX, or DevOps. Another possibility for entrepreneurial developers is to create a startup.
Portfolio idea
Build a couple of polished, real‑world apps that highlight your ability to tap into a device’s hardware:
Weather App: Detect the user’s location via GPS, fetch live forecasts from a public API, and display the results in a sleek UI.
Navigation or Map‑based App: Use the device’s GPS and compass to plot routes on an interactive map (with Mapbox or Google Maps SDK).
5. QA engineering
Do you have a keen eye for noticing what others miss, are user-centric, and enjoy working with others? QA engineering may be the path for you. QA professionals are responsible for analyzing software for any bugs, issues, or errors, and they’re typically involved in every step of the software development lifecycle. They make sure products are properly polished and secure before release.
Who would thrive
People who are detail oriented, value the user experience, love learning, and enjoy troubleshooting and catching bugs. Great communicators also do well in QA, because this field involves handling a lot of people (developers, stakeholders, project managers) and being diplomatic about the bugs and issues you discover.
Typical salary range
The average salary range in QA engineering is between $63k to $143k per year.
Tools and technologies to know
Programming languages: The languages you need to know are going to depend on your role, but once you’ve learned one, it’s always easier to pick up more. Python and Ruby are safe bets to start with.
Test automation tools: Again, this will depend on what you’re testing, but Selenium, Cypress, Playwright, Karate, and Postman are all worth learning.
Project management tools: Learn the three Gits: Git, GitHub, and GitLab. Also, it helps to be familiar with Jira, Confluence, and Slack.
CI/CD proficiency: Knowing about continuous integration (CI) and continuous delivery (CD) is a key part of being a QA professional.
Security testing: Make sure you’re familiar with OWASP.
Performance testing: Learn how to evaluate how systems and apps perform under different workloads and conditions, particularly with tools like Apache JMeter and K6.
Valued mindsets and soft skills
Attention to detail: Most roles in QA engineering require a keen eye for detail. After all, you’re the person who’s noticing what other people miss.
User-centric thinking: The best QA professionals always have the user in mind.
Communication and collaboration: Being able to diplomatically tell developers and other stakeholders about their mistakes is an incredibly helpful skill. The best QA professionals have well-honed collaboration skills.
Critical thinking: The best QA specialists instinctively question assumptions and think about how things might break.
Continuous learning: While automated testing is going on or there’s a lull, you’ll likely be spending time learning about databases, APIs, or whatever else is needed to test other’s work.
Possible career pathways
There are a lot of career choices under the broad umbrella of QA, such as manual QA, test automation engineering, QA architecture, or performance testing. Outside of this, leveraging your software engineering experience to become a software developer in test (SDET), going into DevOps, SRE, product or project management, or cybersecurity are all potential next steps. Cybersecurity teams particularly love to recruit from QA and support teams.
Portfolio idea
Interviewers are unlikely to ask for a QA portfolio, but you can use sites such as uTest to get experience (and cash) beta testing real software products. Additionally, it can be useful to set up a GitHub repo with manual test cases, automation tests, and planning documentation.
6. DevOps engineering
Software development (Dev) and IT operations (Ops) don’t always work together as well as they should. DevOps specialists are silo breakers, making sure Devs and Ops communicate with each other, and helping efficiently deliver new software code and products. They are masters of the software development life cycle (SDLC), from planning to implementation and support.
Who would thrive
If you’re a team player who can communicate well and build connections, as well as someone who loves to see things operate efficiently, then you’ll likely love working in DevOps.
Typical salary range
The average salary range in DevOps is between $94k to $170k per year.
Tools and technologies to know
DevOps frameworks and concepts: The very first thing you need is a clear understanding of what DevOps is, as well as related or alternate ways of doing things (E.g. Platform engineering, SRE, chaos engineering.)
Cloud computing: Cloud is practically the de facto way for deploying sites and software. Get familiar with the ‘big three’ (AWS, Azure, or GCP), as well as DevOps specific tools in these services (E.g. Azure DevOps and AWS DevOps).
Containerization and orchestration: Learn about Kubernetes, Docker, Jenkins, and Terraform.
Automation: Even simple automation saves time, and DevOps is all about efficiency. Ansible offers a great way to do this across diverse environments.
Project management tools: Learn the three Gits: Git, GitHub, and GitLab. You should be very familiar with Jira, Confluence, and Slack.
AIOps/MLOps: AI operations (AIOps) and machine learning operations (MLOps) may be useful knowledge to have as the industry shifts towards a greater focus on AI.
Valued mindsets and soft skills
Communication and collaboration: For DevOps to succeed, there needs to be a strong culture of collaboration, and you’ll need to foster and nurture it.
Problem solving: You’ll be putting out fires and solving pain points to keep things moving.
Customer thinking: Growing and developing your ability to understand customer pain is a valuable DevOps skill.
Holistic thinking and project management: You’ll need to be thinking of the whole SDLC, as well as picturing all the moving pieces and how they fit together.
Time management and multitasking: It’s easy to get overwhelmed with things to do in DevOps, so being able to manage yourself and others is a great skill.
Critical thinking: In DevOps, you’re questioning why things are the way they are, and if they can be done better.
Continuous learning: Keeping pace with industry trends, tools, and best practices is essential for DevOps success.
Possible career pathways
Within DevOps, there are a lot of different career options—automation expert, DevOps engineer or architect, UX engineer, security engineer, evangelist roles, and more. In terms of lateral moves, DevOps experience can lend itself well to roles in engineering management, solutions engineering, system architecture, or cybersecurity.
Portfolio idea
Develop a simple web application using Django or a PHP framework, then deploy in your preferred cloud with Terraform. Then, build a pipeline where every time you make any change on the code, it is deployed to the cloud. This shows you know how to dockerize applications, and how pipelines and cloud computing works.
7. Application security engineering (AppSec)
Software needs to be securely designed, and application security engineers make sure security is part of the equation from start to finish. They complete secure design reviews, conduct threat modelling, respond to developer questions about security, oversee bug bounty programs and pen testing, and advocate for security best practices.
Who would thrive
Anyone with the ‘security mindset’ who has the ability to think critically about applications and architectures, loves learning, and has strong empathy and collaboration skills.
Typical salary range
The average salary range in AppSec engineering is between $105k to $157k per year.
Tools and technologies to know
Security knowledge: It’s important to understand authentication protocols, cryptographic principles, identity management, data protection mechanisms, and other security concepts.
AppSec testing tools: Consider skilling up in SAST, DAST, SCA, and web proxies like Burp or ZAP.
Threat modeling and security risks: It’s recommended to know OWASP, CWE, ATT&CK, threat modeling, and risk assessment techniques.
Development experience: Usually in one or more languages, such as Python, Golang, C++, or C#.
Networking knowledge: Having foundational understanding of networking and network protocols and how they relate to development will help a great deal.
CI/CD proficiency: You’ll be working as part of the SDLC, so understanding CI/CD is important.
Knowledge of cloud, databases, and microservices: All of these are helpful if you’re seeking a career in security engineering.
Valued mindsets and soft skills
The security mindset: Read Bruce Schneier’s famous article on the topic, as this is a must-have skill to develop to thrive in cybersecurity.
Critical thinking: This goes hand-in-hand with the security mindset, but also covers your ability to question general assumptions, not just spot gaps in things.
Continuous learning: Essential in any cybersecurity role, as you’re only as relevant as your knowledge of current threats and best practices are up to date.
Communication and collaboration: You’ll be working with people across the whole SDLC, so being a team player who can express themselves well is a valued skill.
Empathy: Asking people to adopt secure best practices often requires an empathic touch, as this often means more work for the people involved.
Creativity and strategic thinking: Experts know how to reduce risk through secure design and simplicity, not just applying controls.
Possible career pathways
AppSec is a huge and critical field, but roles can be somewhat hidden as many don’t specify ‘AppSec’ in the title. This can also be a great field to use to step fully into cybersecurity or DevOps.
Portfolio idea
Take one or more existing vulnerable applications (DVWA, DVNA, WebGoat) and apply your AppSec skills, such as identifying and attacking vulnerabilities, and then documenting these clearly with a focus on remediation guidance you could actually hand a developer. Use techniques such as generating a CVSS score, branching and fixing problems, and verifying these work.
8. Cloud engineering
Cloud engineers design, build, and maintain the infrastructure and services that run on cloud platforms like AWS, Azure, or Google Cloud. This can include setting up scalable servers, managing storage and databases, implementing networking configurations, and ensuring high availability. In practice, cloud engineering means abstracting away physical hardware and leveraging Infrastructure as Code to let applications run reliably at scale.
Who would thrive
Developers who enjoy systems architecture and big-picture thinking often excel in cloud roles. If you find yourself interested in how different components of an application fit together and love automating processes, cloud engineering might suit you.
Typical salary range
The average salary range in cloud engineering is between $91k to $183k per year.
Tools and technologies to know
Deep cloud computing knowledge: Pick one of the big three—AWS, Azure, or GCP—and never stop learning about it. Make sure to get hands-on experience.
Infrastructure as Code: IaC mixes your coding knowledge with cloud technology. Get familiar with tools such as Terraform and CloudFormation.
DevOps toolchains: Familiarize yourself with Git, CI/CD, Docker, Kubernetes, Jenkins, and GitOps.
Scripting skills: Python, Bash, and PowerShell are all good to know.
Serverless and event-driven architectures: Serverless is amazing, so make sure you develop a solid understanding of how to leverage it.
Networking experience: There’s really no avoiding networking if you’re working with cloud technologies, so definitely study and practice the fundamentals.
Valued mindsets and soft skills
Continuous learning: With providers like AWS constantly adding, modifying, or ending services, there’ll never be a shortage of things to keep up to date with.
Problem solving: There will be many ways to solve a problem using cloud services, but not all solutions will be equal. Great cloud engineers can pick and apply the best one.
Systems thinking: Cloud architecture can quickly get complex, so being able to figure out how different systems work together is a core skill.
Critical thinking: Questioning your current or proposed solutions, or those of others, is vital to picking the best path forward.
Communication and collaboration: You’ll be working with multidisciplinary teams, so being great at teamwork and talking will help you thrive.
Possible career pathways
There is no shortage of senior cloud computing roles, many broken up based on interests and expertise. This might involve focusing on solutions architecture, security architecture, DevOps, or systems administration. There are also opportunities to advance to higher roles such as head of cloud infrastructure or chief technology officer (CTO).
Cloud computing also has a large number of developer advocates, educators, and community leaders compared to other careers (such as AWS Heroes), which can supplement or become an entire career in itself.
Portfolio idea
Show off a project where you implemented a full cloud architecture. For instance, a scalable web service using load balancers, auto-scaling groups, and a database service. This demonstrates you can apply cloud concepts in practice. Another idea is checking out and completing the cloud resume challenge.
9. AI/ML engineering
AI and machine learning engineers create and deploy smart systems that help software think, learn, and make decisions. The job covers a lot—some ML engineers take existing algorithms and make them run smoothly in live apps, while others (like AI researchers) experiment with brand-new ways of teaching computers.
Day-to-day, you'll probably team up with data scientists to figure out what kind of models you need, clean up messy data, train models with tools like TensorFlow or PyTorch, and then plug these smart features into real products or services.
Who would thrive
If you love math, data, and solving complex analytical problems, AI/ML will be exciting for you. People who come from backgrounds in computer science, math, statistics, or even physics usually do great because the role mixes coding and analytical thinking.
Typical salary range
The average salary range in AI/ML engineering is between $84k to $201k per year.
Tools and technologies to know
Build foundational knowledge: Understand the basics of machine learning, such as supervised vs. unsupervised learning, and algorithms like linear regression, decision trees, and neural networks.
Learn ML frameworks: Get proficient with one or two libraries such as TensorFlow, PyTorch, or scikit-learn.
Data engineering skills: Surprisingly, a lot of ML work is data wrangling. Improving your Python skills (especially with pandas for data manipulation) and learning how to use databases or big data tools can set you apart.
Math and theory: Depending on how deep you want to go, brushing up on linear algebra and calculus is useful.
Valued mindsets and soft skills
Continuous learning: AI moves faster than most fields, and there are always new models and solutions to learn about.
Problem solving: A love of solving tricky problems will serve you well in AI/ML.
Analytical thinking: Being able to break a whole problem down into smaller parts and take an in-depth look is a valuable skill.
Possible career pathways
There are a lot of career opportunities within this field, such as:
Computer vision engineer
NLP engineer
AI research scientist
Robotics engineer
AI ethics consultant
AI product manager
AI architect/strategist
In terms of lateral moves, AI/ML professionals can easily sidestep into careers in data science, mathematics, developer relations, or mainstream development.
Portfolio idea
Try projects like creating a simple image classifier, a sentiment analysis tool, or a movie recommendation system. Use real datasets from Kaggle to get started.
10. Data engineering
Data engineers write the code to create, manage, and monitor data pipelines. They are responsible for designing and maintaining these systems, and ensuring data flow is optimized. Data engineers work closely with data scientists and analysts, who are traditionally their end users. They help transform data into valuable insights.
Who would thrive
If you’ve got strong analytical, problem solving, and communication skills—and obviously love data—then you’ll likely enjoy working in data engineering.
Typical salary range
The average salary range in data engineering is between $83k to $176k per year.
Tools and technologies to know
Data fundamentals: You should know the types of data, and how data can be manipulated, analyzed, and stored. Know the difference between a data lake and a data swamp, or how to set up an ETL pipeline.
Programming and data query languages: Python, SQL, DAX, Java, and Spark are worth learning.
Relational database, cloud computing, and big data technologies: Learn about solutions like Hadoop, Kafka, Amazon Aurora, MongoDB, and Amazon RDS. Cloud will be a huge part of your role.
DevOps and source control tools: Familiarize yourself with Git, CI/CD, AWS DevOps, and Infrastructure as Code (IaC).
Data security, compliance, and privacy principles: There’s a good chance you’ll be dealing with sensitive data, and knowing the fundamentals will help you know how to identify and handle it.
Valued mindsets and soft skills
Analytical thinking: A given for any career involving data.
Communication and collaboration: You’ll be working closely with other data professionals, so this isn’t a lone-wolf career.
Problem solving: Inherently, data engineering is about solving problems and troubleshooting the solutions you implement.
Continuous learning: The tools and techniques available to you will be constantly shifting, especially when you’re working with cloud solutions.
Possible career pathways
While there’s no one path to data engineering, this is typically a career people select after working as a traditional software engineer first. Advancement may look like becoming a Lead Data Architect, VP of Data Engineering, or Chief Data Officer (CDO). Lateral progression might involve becoming a data scientist, lead software manager, or AI/ML developer.
Portfolio idea
Building an ETL pipeline with open data is typically a great portfolio project for beginners, such as extracting data from a CSV file, cleaning and transforming it using Python, and loading the transformed data into a cloud-based data warehouse.
11. Embedded systems engineering
Embedded systems engineers (also known as firmware engineers) create and maintain low-level software, known as firmware, which directly integrates with hardware components. They help create things like IoT devices, bank terminals, smart cars, medical devices, or even space flight equipment.
Who would thrive
People who loved to disassemble hardware as a kid and were equally interested in both the hardware and software. Continuous learners who like to know how everything works down to the microcontrollers and processor logic.
Typical salary range
The average salary range in embedded systems engineering is between $95k to $170k per year.
Tools and technologies to know
Low-level languages: You’re going to be working with C and C++ a lot. Knowing assembly code isn’t mandatory but can be helpful. Python is good for testing purposes. Studying up specifically on embedded systems programming is a good idea.
Real-time operating systems (RTOS): These are specialized operating systems for embedded systems designed for handling time-critical tasks with precision and accuracy. Get started with FreeRTOS, then once you’re ready, dive into Zephyr.
Embedded Linux: An alternative to a RTOS that is useful for scenarios where versatility is more important than split-second precision. Look into Yocto, Buildroot, and OpenWrt.
Hardware familiarity: You should have a strong grasp of how computers work internally, as well as be able to read and understand hardware design schematics, and be familiar with FPGA.
Hardware debugging tools and techniques: Things like GDB and Lauterbach TRACE32, as well as oscilloscopes and logic analyzers.
DevOps and source control tools: Familiarize yourself with Git, CI/CD (E.g. GitLab), and Docker. Make sure you understand the Software Development Lifecycle (SDLC.)
Valued mindsets and soft skills
- Problem solving: One of the most pivotal skills for any embedded systems engineer.
- Analytical thinking: You’re going to be delving very deep into the weeds and pulling things apart.
- Critical thinking: If firmware goes wrong, it can go very wrong and be hard to update. Being able to catch things prior to release is a valuable skill.
- Continuous learning: You’ve got to know a great deal about two separate streams—hardware and software—so keeping up to date is essential.
- Communication and collaboration: You’ll be working closely with a crew of engineers, and you’ll need to clearly express often complex technical processes to others.
Possible career pathways
There is typically a path for advancement into senior positions, such as becoming a Principal Embedded Engineer, Engineering Manager, or advancing to Chief Technology Officer (CTO). Specialists may want to step into product or project management, or work as a quality assurance lead.
Portfolio idea
One of the most basic portfolio projects is to make a control and response system, such as a light dimmer. However, building a small robot that can interact with its environment or a data acquisition system that gathers sensor data are also good ideas to show your wider skills.
12. Game development
Who wouldn’t love to make games for a living? A career in game development can be incredibly varied, from working as a sole developer or with a small studio, to being part of a massive team working on a AAA-grade release. Professionals are responsible for building the core gameplay mechanics, AI, and game features. It is a highly collaborative field, as professionals often work with a wide range of designers, artists, software developers, QA testers, marketers, and other specialists.
Who would thrive
If you find the idea of using your creative and technical skills to create something amazing that visibly brings people joy, love solving problems, and seeing the results of your efforts rather quickly, game development may be for you.
Typical salary range
The average salary range in game development is between $61k to $148k per year.
Tools and technologies to know
Programming languages: C++ is the industry standard, but many engines have preferred languages, such as C# or Python. Also, have a strong grasp of object-orientated programming (OOP).
Game development fundamentals: Brush up on things like physics, collision detection, AI, game loops and player progression.
Major game engines: Be familiar with Unity and Unreal as well as competing solutions. You’ll pick the engine based on your game requirements.
Project management tools and frameworks: Understand Git and GitHub version control, as well as tools like Jira, Confluence, and Slack. Knowing about agile workflows will also help.
2D/3D assets and animation: At some point, you’re going to need to work with and animate assets, unless you’re creating a very static game. Blender and Maya are great places to start. If you love this, you can actually specialize in this field further as a 3D graphics developer.
Working with SDKs: You’ll rarely want to build things from scratch. The SDKs you need to know will vary by project, but you should be familiar with how to install and use them.
Working with APIs: You’ll want to know this because you might need to extend functionality, like enabling in-game purchases, subscriptions, or social media interaction.
Valued mindsets and soft skills
- Problem solving: Your career will be an endless cycle of coming across frustrating problems, followed by the cathartic release of solving them.
- Communication and collaboration: Game development is a team sport. Even as a solo developer, you’ll still be working with freelancers (unless you’re a true one-person band like Eric Barone).
- Creativity: As a developer, you don’t need to be as artistic or creative as a designer or artist, but it helps if you are.
- User-centric thinking: A multi-year development cycle can sink or swim based on how much the user was taken into account during development, from core mechanics to AI behavior.
- Product-minded: Thinking of the finished product and not just your tasks is a valuable skill as a game developer.
- Project management: Managing your timelines, the dependencies, and coordinating with others are all great skills to have.
- Entrepreneurship: This one is optional but can be a real help if you want more creative control and strike out as a solo developer or start your own studio.
- Continuous learning: Game development requires deeper knowledge of current platform capabilities, the latest tools and techniques, and user expectations.
Possible career pathways
In this field, there are a lot of pathways, such as working as a:
Engine programmer
3D programmer
Gameplay / AI programmer
Network programmer
Lead programmer
Game director / Producer
There are also lateral moves into game design, QA, mobile development, and AR/VR development. Additionally, it’s not too hard to switch into more traditional development roles such as front-end or back-end development, depending on your existing skillset.
Portfolio idea
The easiest portfolio option is to create your own game using the Unity Engine. Keep the scope small at first, such as creating a basic 2D platformer, 3D racing game, or tower defense game. Try to publish it on Steam, itch.io, or a mobile app store.
13. XR development
XR stands for extended reality, which is a field covering augmented reality (AR), virtual reality (VR), and mixed reality (MR) solutions. While many people think these technologies are used just for games and entertainment, XR professionals also create assistive technology in fields like healthcare, logistics, education, science, and everyday commerce. As an XR developer, this field involves keeping on top of a wide range of tools, devices, and platform requirements.
Who would thrive
Anyone who likes to develop interesting solutions on the cutting edge and don’t mind keeping up to date with an ever-shifting landscape of tools, kits, and technology requirements.
Typical salary range
The average salary range in XR development is between $68k to $117k per year.
Tools and technologies to know
Programming skills: C++, C#, Python, and JavaScript (for front-end) are all useful languages to know.
3D modelling and rendering knowledge: You’ll be working a lot more with shaders and 3D assets than other developers, so having Blender experience helps.
XR development technologies: The list is extensive and ever-changing, but tends to include things like 8th Wall, Niantic SDK, Immersal, and Snap Lens Studio. Also, get experience with Unity and Unreal.
UX Design: You’ll be thinking a lot about the end user, so being familiar with frameworks, usability testing methods, and other UX fundamentals is important.
Platform knowledge: You’ll need to know how to build and deploy for headsets, controllers, smartphones, and whatever other tools are currently on the market.
AI/ML: Incorporating AI into XR products is becoming increasingly common, particularly in object detection.
Networking fundamentals: A lot of XR products have networking elements, such as multi-user support.
Back-end experience: It helps to be familiar with AWS and Azure, microservices, and serverless architecture.
Photogrammetry and spatial mapping techniques: Practice with capturing digital models of a scene in the real world, and then using it in an XR solution.
Valued mindsets and soft skills
User-centric thinking: People who can put themselves in the user’s shoes thrive in XR development.
Product-minded: Thinking of the finished product and not just your tasks is a valuable skill in XR.
Project management: Managing your timelines, the dependencies, and coordinating with others are all great skills to have.
Continuous learning: XR development requires deeper knowledge of current platform capabilities, the latest tools and techniques, and user expectations.
Creativity: Creative people thrive as XR developers because they have an easier time coming up with novel app ideas or features, and picturing how to execute it.
Problem solving: If there’s no problems to solve, you’re not in XR development.
Entrepreneurship: You’re coming up with a product, so having an entrepreneurial mindset can help you both working for someone else or as a solo XR developer.
Possible career pathways
From XR development, it’s not uncommon to leverage those skills to go into game development, full-stack or front-end development, product management, UX, or DevOps. Another possibility for entrepreneurial developers is to create a startup.
Portfolio idea
Create an app in Unity that creates an AR portal in the real world. When the user walks inside, they are transported into a virtual environment completely removed from the real world. There are many tutorials on how to do this online!
14. Developer relations
Developer Relations (DevRel) specialists combine their technical skills with their ability to educate, entertain, and engage others, forming deep connections with the developer community. They are often hired by companies to build and nurture a community around a particular product, inspiring loyalty and helping others. They typically attend and speak at events, webinars, and workshops, produce articles and videos, and generate their own brand and social media presence.
Who would thrive
Engaging communicators who have a passion for and experience in tech, don’t mind being visible, and get along with marketers. You don’t have to be an extrovert (many DevRel professionals aren’t!) but being willing to work through your nerves is important.
Typical salary range
The average salary range in DevRel is between $89k to $135k per year.
Tools and technologies to know
Familiarity with your industry tools: This will be case-by-case. If you’re going for a DevRel position with AWS, you’d want to be familiar with this service. Likewise, if you’re working at Anthropic, you’d want to know how to work with AI models. This is important for being able to speak to developers where they live.
Basic coding knowledge: Since most developer roles require knowledge of programming, learning a popular language such as Python or JavaScript is beneficial.
Marketing measurement tools: Having familiarity with Google Analytics or similar solutions to measure and analyze the performance of your content is important.
Video production: Brush up on how to shoot a face-to-camera video, such as video, lighting, and audio requirements. Knowing tools like Premiere Pro, Camtasia, and OBS will help you with building your brand and sharing tutorials.
Social media: You’re going to need to build an audience, and so being proficient in social media and its associated measurement tools will help you start and build your career.
Graphic design: Knowing Canva (or even better, Adobe Photoshop) will help you create assets for social media posts and tutorials. Extra points if you know how to illustrate!
Writing skills: DevRel professionals tend to do an awful lot of writing, whether it’s thought leadership, tutorials, or social media posts. It’s best to build your own unique and authentic voice, and use generative AI only as a supplement.
Valued mindsets and soft skills
Empathy: Your main job is going to be to relate to your audience and speak to them where they live, so empathy is a must.
Communication and collaboration: Written and verbal communication is the bread and butter of DevRel. You’ll also be working with marketing towards shared goals, especially events and content marketing professionals.
Public speaking: You’ll be asked to get in front of a crowd of developers at some point, and speak like you’re an industry expert. Like everything, this is a skill you can develop!
Networking: DevRel professionals spend a lot of time getting to know anyone worth knowing in the industry and forming good connections with them.
Continuous learning: DevRel professionals need to be on top of the latest trends in their industry, especially since they’ll be asked to come up with thought leadership pieces.
Creativity: Thinking of novel and engaging ways to connect with your audience will help you shine in DevRel.
Critical thinking: Developers can detect BS, so thinking critically about your own messaging can help you avoid some fairly embarrassing faux pas.
Possible career pathways
Advancement in DevRel will be closely related to your personal brand, and so advancement and earning power is less role-based than other careers. That said, there are industry roles leading DevRel teams or developer advocacy strategy. Since DevRel professionals are equal parts practitioner, marketer, and educator, it’s easy for them to transition into these careers full time. There are particularly lucrative opportunities in education, as DevRel professionals can supplement their salary by creating video tutorials and courses and earning on-platform revenue.
Portfolio idea
I’d recommend reading this series of articles which specifically talk about pursuing a path in DevRel, written by DevRel specialists:
A good first step is to set up your own YouTube channel and publish a series of face-to-camera videos where you either talk about a current industry issue, explain a service or product, or show people how to solve a common problem. Try to only use screen capture or cutaways when you really need to illustrate a process or concept. Putting yourself in front of the camera will demonstrate your speaking skills, demonstrate you know how to perform end-to-end production, and help you start building your audience.
15. Scientific computing / HPC
Scientific computing (also known as high-performance computing, or HPC) is a specialized profession that uses mathematical models and computers to analyze and solve scientific problems. This often involves running simulations, data handling, and constructing mathematical models.
Who would thrive
People passionate about science and programming who don’t mind working in a competitive market, and care more about the work they do than larger salary opportunities.
Typical salary range
The average salary range in scientific computing is between $91k to $151k per year.
Tools and technologies to know
Scientific domain knowledge: This might be physics, chemistry, biology, astronomy, medicine, or another field. Having knowledge and curiosity about one of these will help set your career direction.
Mathematics skills: Know your algebra, calculus, discrete mathematics, and statistics. It might be worth spending some time watching 3Blue1Brown.
Programming languages: Python, R, MATLAB, Julia, C/C++, and Fortran are typically used in the field.
Libraries and frameworks: NumPy, SciPy, Pandas, TensorFlow, Pytorch, and Matplotlib.
Computational software: Mathematica, Maple, ANSYS, and Comsol.
Version control systems: Essential for basically every developer career path. Study up on Git and SVN.
Valued mindsets and soft skills
- Analytical thinking: Being able to break a whole problem down into smaller parts and take an in-depth look is a valuable skill.
- Data driven: You’re going to be staring at a whole lot of data. Loving math is a plus.
- Continuous learning: Keeping up with your chosen domain as well as your skills as a developer will require ongoing upskilling.
- Problem solving: A love of solving tricky problems will serve you well.
- Communication and collaboration: You’ll be working with others, but it’s also important in this field to constantly communicate your value and what you do, particularly to leadership.
Possible career pathways
While difficult, you can become a career academic by balancing software development and research. You can also join a Research Software Engineering (RSE) department, join companies that focus on scientific computing, or join a national lab with a supercomputer.
Portfolio idea
Create a project demonstrating your ability to solve a scientific problem using a computational technique. You can also contribute to an open-source project related to your chosen field in scientific computing.
16. Software project management
When it comes to software development, project managers are the captain of the ship, making sure the project is delivered successfully, on time, and within budget. They handle everything from scope, requirements, cost, risk, release, and management. In smaller organizations and startups, they may also be a “player-coach” who also writes code.
Who would thrive
People with great leadership, communication, time management, and problem solving skills. Those with a strong understanding or experience in an IT domain.
Typical salary range
The average salary range in software product management is between $84k to $195k per year.
Tools and technologies to know
Software delivery methodologies: You’ll want to know all about SDLC, Agile, Waterfall, Scrum, and similar approaches, and ideally have experience working with them.
Software project management software: Jira, Confluence, and Slack are very common in technical teams, as well as Asana, Trello, and ClickUp for lighter lifts.
IT domain knowledge: You don’t have to have worked as an IT professional, but having strong skills or knowledge in a job-relevant IT domain (E.g. Development, data, AI, cloud, etc.) is highly regarded in project management.
Valued mindsets and soft skills
Time and project management: For obvious reasons.
Leadership: You’ll be bringing together a multi-disciplinary team, often full of engineers, designers, and data scientists.
Communication and collaboration: Being able to effectively communicate with your team, as well as key stakeholders outside of it, will be key to project success.
Stakeholder engagement and relationship building: Engaging with and building up allies is a valuable skill.
Product and holistic thinking: It’s one thing to deliver the product, but great project managers also think of what the final result should be and the wider workings and demands of the business.
Conflict resolution: There is going to be conflict, so being able to defuse it is a great soft skill.
Possible career pathways
It depends on the organization, but within the project management field there is usually room for vertical advancement into program manager, portfolio manager, project director, Chief Operating Officer (COO), and Chief Project Officer (CPO) roles. Outside of project management, it’s not uncommon for people to move into product management, business strategy, digital transformation, consulting, DevRel, or DevOps.
Portfolio idea
Unlike other developer roles, project managers don’t have a traditional portfolio as much as a list of projects they have worked on. The best way to build a portfolio is to seek out project opportunities within your current role, and then build a project history document or website within the limits of your NDAs that clearly and concisely describe the project, its duration, your role, and the results.
17. Creative coding
Creative coding is an area where software development meets art and design. The field uses code to create expressive, often visual or interactive experiences rather than traditional functional applications.
Who would thrive
If you have an artistic streak or background in design and also love to code, creative coding will feel rewarding.
Typical salary range
The average salary range in creative coding is between $59k to $106k per year.
Tools and technologies to know
Creative coding frameworks: Start with accessible tools like p5.js or Processing. They are beginner-friendly for creating visuals.
Code sharing platforms: Think OpenProcessing or CodePen.
Valued mindsets and soft skills
Creativity: This is an artistic field, so creativity is a given.
Continuous learning: As creative coding is a very new space, keeping up with the latest tools and techniques is beneficial.
Possible career pathways
As creative coding mixes software development, art, and design, it can be a good ‘walled garden’ to jump into these careers full-time.
Portfolio idea
Creative coding is all about showing rather than telling. Create a portfolio website where you showcase interactive sketches, visualizations, or even animations.
Conclusion
Hopefully, this guide has shown you just how broad the field of software engineering is, and that there are many different paths for you to pursue (if you so choose). Remember, the right career choice to make is the one that fits you best.
To cite Larry Trittschuh—a seasoned CISO, CSO, and executive leader with over 25 years of experience in technology—you should select your next career move using your own criteria.
“The truth is, success isn’t a ladder—think of it as a menu. You’ve got to pick the item that appeals to you and personalize your success. For you, success might mean a high wage, a great title, loving the company or person you work for, spending lots of time with your family, or enjoying a low-stress job. After all, it would be absurd to suggest one meal suits everyone’s tastes.”
No matter what path you choose for your software development career, or even if you choose something entirely different, I wish you the best of luck!
Advance your tech skills today
Access courses on AI, cloud, data, security, and more—all led by industry experts.