It’s official and you’ve told your parents. You’re going to be a software engineer. Not only does it have an important enough sounding title to get them off your back for a little while, it also means you can sail into a job with a starting salary of more than £30,000 a year. One slight hitch though – you going to need to be slightly more specific.
If you’re looking to kick off a career within software engineering, it’s worth taking the time now to work out exactly what you’re aiming to do. There are a huge bundle of job roles that fit within software engineering, all looking for slightly different skills and experience. Of course, that’s not to say you can’t move around later, but it pays to know where to kick off.
So, here’s our guide to some of the most common titles you’ll see cropping up on our jobs board, complete with a rundown of the key skills you’ll need to ace that job application.
Front End Developer
A front end developer is exactly what it sounds like – they’re the people working on the parts of a website or piece of software that you can see. As well as knowing the ins and outs of various coding languages, they also need a good knowledge of web design, as they’re the people making sure something looks how it’s supposed to.
Back End Developer
A back end developer is basically the Beyoncé to the Jay-Z that is a front end developer. Or perhaps the Jay-Z to the Beyoncé that is the front end developer. We’re not quite sure which way around works best, but either way, they fit together to make the whole thing work.
The opposite of front end developers, back end devs basically focus on all the stuff you can’t see and the stuff it’s harder to explain to your ‘rents. They’re looking after stuff like the server, the application, and the database that make the front end possible.
You’ll need to be hot on server-side languages like PHP, Java, Ruby, Python, and tools like MySQL, Oracle, and SQL Server to succeed here. And, even though users can’t see your work, hiring managers will still be expecting a portfolio, so come armed.
Full Stack Developer
So, you know when we told you earlier it was best to specialise? Well, we weren’t lying exactly, but sometimes it does actually pay to have your apples across more than one cart. In short, a full stack developer is someone who works across both the front and back end of a piece of software or a website. Not only does this mean you can work across more aspects of a project, but it can also help give you a better understanding of how to tie everything together.
It’s a huge amount of work to master the whole lot though, so don’t feel you need to know everything at once. Being a successful full stack developer is as much about experience as it is learning actual languages. Hiring managers will be looking for people who have crammed in as much experience as possible – and developers who are still eager to learn more.
We’ll start with a fun fact to kick us off here – there are more than 2.5 million apps in the Google Play Store along with 1.85 million in Apple’s App Store. What’s more, the average mobile phone owner will have anywhere between 60 and 90 downloaded. Whichever way you look at it, that’s a heck of a lot of apps – and you’re going to need a heck of a lot of people to build them all.
If you’re looking to get into apps for iOS, learning Swift is a great place to start and Apple have their own app to help you learn it quickly and easily. For Android apps, you’ll be looking to learn Java, and the Android Studio has a bundle of resources on what you need to know. The main thing here is to give it a go though – apps can be as simple or as complex as you make them.
If you’ve ever wanted an excuse to call all those hours clocked up on the Switch “research” this one is it. Working as a games developer you’ll be crucial to bringing games to life for online platforms, games consoles, mobiles, or computers. Sadly though, there’s a bit more to it than knowing how to get the best prices for turnips in Animal Crossing.
As a games developer, you’ll be using programming languages like C++ and C# and depending on the job, you might also be expected to know 2D and 3D modelling software like Maya. Just like most of the entries on this list, the main thing employers are looking for is that you’ve given it a shot already. Don’t be put off by the pressure to make a hit though, even if it’s only been played by your flatmates, it’s more about the fact you made it than the fact you had to force people to play it.
Web developers are basically the magic behind the internet and the reason everything mostly works when you click on it. This isn’t necessarily just about websites though – you could be working on software that works online, or the underlying databases needed so you can log into a community or application online. Essentially, any kind of system you’ve used online will have had a web developer involved at some point in the process.
Okay, so this one’s a bit of a side step, but not that much. Data scientists are a vital part of the team when you’re building stuff digitally and work closely with software engineers to make products better. They also try to understand how stuff is being used currently, as well as make predictions about what could happen next.
In short, a data scientist is the gal who sifts through raw data to get some worthwhile information and insights, which can be fed back into the next iteration of a programme, app, or piece of software. You’ll still need to have good programming skills to help you sift through some incredibly large data sets, and you’ll also need to be able to pick out trends and anomalies in the results you get back. So no, you can’t start slacking during your coding classes, sorry.
Okay, so perhaps best to start this one by explaining what an API is in the first place. It stands for “application program interface” and is just a set of rules you make for any kind of software and allows different types of software to work together.
For example, it’s an API that works out what you show you in your travel status app – the raw data comes in from the train company and the app will decide what to do with it depending on the details in the API. And that’s just one example, trust us when we say APIs are everywhere.
Deciding what skills you need as an API developer is a bit like asking how long until Otis and Maeve get together in Sex Education. There’s no definitive list, but you’ll be expected to have a broad base of skills so you can pick the best language for each API.
Basically, I’m a sucker for any job title that just sounds cool. UX/UI designer definitely hits the spot. It’s basically just a shortening of “user experience” and “user interface” but somehow shortening it makes it sound way cooler. Practically, you’ll be the person in charge of making sure that anything that gets developed works for the person actually using it. After all, no one is going to use your shiny new app if it feels like it was built in the 80s.
As a designer you’ll be the one physically mapping out what a piece of software should look like from a user perspective, so your work will mainly be focused on the front end. You’ll need to be able to work with both clients and understand the basics of development too, as you’ll be working with software engineers to make the whole thing happen.