There are a number of different career paths in software development. The path you choose can largely determine your options, but it’s also okay to choose more than one. With software development, you can choose to specialize or be more of a generalist—but both come with tradeoffs. Below, we’ve listed some common types of software development paths. The path toward upward mobility will slightly vary for each of these, but in the table below, we’ve highlighted common career progressions across software development.
But before we get started, a few words of advice…
A good place to start before jumping down a specific path is to think about where you want to go and what type of developer you want to be. Entry-level programming jobs could mean any type of programming—they vary so much.
So instead of trying to learn all the languages, it’s good to find the paths most interesting to you, then look for overlaps in languages used by programmers on those tracks.
For example, if being full-stack developer sounds interesting, where you design apps and visuals and UX but also do back-end work and use databases, learning JavaScript is a good option because it is used on both front-end and back-end development. Similarly, if you know you like data science and want to be more appealing to an employer, learning Python is a good choice because it’s used in both data science and back-end development.
Especially at a startup, learning continually and building your skills in different areas and languages will help you ship in other areas inside the company—thus making you incredibly valuable to any company.
Here are some common types of web development—and they're great to launch your career in.
Front-End Web Development
Front-end programmers build the visual part of any site. Instead of the web being full of white pages with text running from one edge of your screen to another, front-end web developers build and style websites so the user gets a stunning experience.
Languages: HTML, CSS, React.js
A note on frameworks, like React.js: if you can learn any JavaScript framework and show that, it can help you win a job—even if the company you’re interviewing with doesn’t use that specific framework—because they see you can learn.
Mobile Development
Mobile development is a great path for anyone who wants to build the operating systems running on any mobile device. If working on the software running daily on your phone—and the phones all around the world—sounds exciting, it’s good to focus on choosing one primary OS to focus on (iOS, Android, etc.) as their languages vary.
Languages: Swift or Objective-C for iOS, Java for Android. It’s also good to learn the iOS SDK and Android SDK.
Back-End Development
Back-end developers connect the work front-end developers do (the part of a site you see) with servers so websites and web applications run and function properly. This is the core part of any website or web application—the web wouldn’t run properly without this type of development! Back-end developers make sure processes run logically and often write documentation so others can use the systems they’ve built.
Languages: JavaScript, Ruby on Rails, Python, Django
Data Science
Data scientists extract meaning from and explain data. But they aren’t your typical white-coat scientists–they are the people who strive to make sense of any amount of information so other parts of an organization can use that information in the best ways possible. At their core, they work to help businesses determine goals and make wise decisions based off of what they discover.
It’s helpful to have a solid understanding of mathematical concepts if you want to go into data science—a background in linear algebra and matrix math is especially valuable.
Language: Python
To highlight a few of the common ranges, here’s a breakdown by experience level, courtesy of Payscale.
If you’re itching to get your hands dirty on some code, all you need is an internet connection. You’ll find countless resources online that teach you to code. (You’ve also got the whole world of no-code app development at your fingertips.) Coding bootcamps are also getting more student-friendly as they grow in number and compete with each other.
The quickest way to learn anything, whether you’re in high school or already have your master’s degree, is to start dabbling in it right now. This philosophy will get you far in life, and it’s just as applicable to software development as anything else. Thanks to the amazing internet on which you’re reading this article, you can start learning software development languages that matter to potential employers and clients.
Websites like Codecademy, freeCodeCamp, Codewars, and GA Dash are great places to start writing code from day one. Get familiar with Stack Overflow as soon as possible. You can also take free and paid courses on sites like Udacity, Treehouse, and Coursera. Those platforms also have tons of resources for learning no-code, as well as sites like MakerPad, Zeroqode, Nucode, and many more.
If you’re trying to teach yourself to build apps, remember that the quickest way to learn and improve is to just build. Start with baby steps, like this awesome React.js tutorial that walks you through building a tic-tac-toe game. Walk before you run, practice every day, and before you know it, you’ll be running full speed ahead!
Coding bootcamps are all the rage these days. You might have heard of Lambda School, Galvanize, General Assembly, App Academy, and many others. You might even be one of the 23,043 students estimated to have graduated in 2019 or one of the tens of thousands more who will graduate this year from a part-time or full-time program.
Coding bootcamps are great because they fully immerse students into the work, focusing specifically on applied learning rather than pure theory like many computer science classes in universities. They teach computer engineering, information technology, successful software habits, software design, computer science, and many more related fields.
The best coding bootcamps are free until you get a job making enough money to start paying them back. This new model uses income share agreements (ISAs) to de-risk the experience for students and align the bootcamp’s incentives—meaning, teaching computer programming languages that are in high demand in the real world.
P.S. Not sure how to get into a coding bootcamp? Clayton Wert wrote a helpful piece on how to launch your career through a coding bootcamp by showing your work. Read it here!
How Austin Tackaberry Landed a Six-Figure Software Engineering Job in Nine Months
In no other engineering discipline can you just have an idea, start building it, show it to users, and iterate with little capital and low barrier to entry. In chemical engineering, you essentially need a running plant or a lot of money to design a plant if you had an idea for a new product.
Read more of Austin's story here.
How Madison Kanna went from Complete Beginner to Software Developer
Two years ago, I was right where you are today. I wanted to become a professional programmer. But I had no idea how to make it happen. I had no college degree, no previous coding experience, and I sucked at math. And there was the nagging doubt: can someone like me become a developer? Well, I made it happen. I have my dream job. I’m a software developer.
How Jonah Grimm Pursued His Dream of Becoming a Developer and Launched His Career
Jonah started his career working at Chick-il-A–but he always wanted to be a coder. So he started coding—and now he's doing it full-time for a startup while working on building a gaming company on the side. Here's an interview we did with him to hear his story.