So, you’ve chosen a career in software development. Check. But have you narrowed down your career pathway? For so many developers—junior and senior alike—this decision relies not only on your areas of interest but also your experience and strengths.
Whether you plan to specialise or become a jack-of-all-trades, this is my go-to summary of software development fields to help your decision along.
As the name suggests, web development is the field that focuses on building websites. Many software developers fall into this category to some degree, but if you choose to pursue this niche, you can specialise in one of the following sub-niches:
Everything behind-the-scenes powering a web application. As a back-end developer, your job is to ensure the database information communicates with the browser. Ideally, you’ll have a qualification in computer science. At a minimum, you’ll know your code (e.g. Java, Python, PHP, Golang or Ruby; .NET or Node.js) and database management systems (e.g. MySQL, Mongo DB, Oracle, SQLserver).
Full Stack dev
This is the best of both words - it's a mixture of front-end and back-end and most web developers will naturally fall into this path as doing both gives enough variety in your day-to-day to keep you from feeling bored and getting burnt out in your career.
Although this is the default for most web developers - you need to consider whether this is the right option for you.
You may not actually like doing front end too much, but really favour that back end. In this case, there isn't really much point for you to be a glorified full stack developer, and it makes much more sense to play to your strengths and sit in that back end space.
Mobile App dev
Not only do you create the mobile app, you maintain it (and better yet, optimise it). As a mobile app developer, you’ll show a great deal of agility and ingenuity—ready to creatively problem solve bugs at the drop of a hat. You can focus on building apps for specific platforms (e.g. Android, iOS, Windows Mobile) or become versed in cross-platform builders like React Native.
Despite the rise in web applications, desktop applications are not yet a legend of yesteryear. In fact, this field continues to support most professional and enterprise applications today. As a desktop developer, you’ll use Graphical User Interface frameworks (e.g. JavaFX and Swing or Qt and WPF or Electron).
Data science is a multidisciplinary field that involves extracting insights from data for reporting and business intelligence. To do this job, you use scientific methods, algorithms, systems and theories. It’s one of the oldest and highest paying fields in tech. As a data scientist, you likely have a mathematics background, combined with your software engineering or computer science qualification.
Cloud and Ops
As a DevOps (development and operations) engineer, you bridge the gap between software development and IT teams. Your role maximises collaboration and communication for faster, more efficient and more integrated software releases. Using your knowledge of cloud infrastructure, you ensure that systems are equipped with defence mechanisms against cybersecurity threats.
Artificial Intelligence (AI)
What used to be a thing of sci-fi epics is now part of our every day lives. Recent years have seen many software engineers shift into AI to some degree at least. As a specialist in this field, you’ll work to simulate human intelligence, including learning, reasoning and self-correction. You’ll know a few specific languages that excel at processing these large datasets, like Python, R, Go and more.
So what's the right pathway for you?
Your career will not be determined by one day or even a week of development. It takes time, finesse and commitment. If you're looking to be an overnight success in this field, sorry to burst your bubble, but it won't happen.
Make sure you set yourself up correctly. Give yourself the time to learn and research each of these pathways, to determine what makes you love doing what you do, every day.