Jeff Cunliffe has a background in technology management spanning 20 years starting back in 1994 for US Defense firm, Rockwell. Jeff founded Automation Consultants in 2000, a company that provides IT solutions and consultancy for clients including EE, Vodafone, HSBC, Network Rail, BT and Sky. He has an engineering degree from London University and a Masters degree in economics from Oxford University. In this guest post, he outlines the range of roles in Software Development along with key skills required.
STEM (Science, Technology, Engineering and Maths) degrees are highly sought after amongst employers, so the job market for computer science graduates is in excellent shape. That said, not every graduate knows where to go with their career when they’ve just left university. While you may have a solid foundation of technical knowledge to work with, there are positions all over the software lifecycle, and getting an idea of which one will suit your skillset and personality when you’re pursuing an internship or your first job is harder than it looks.
For computer science graduates, knowing which career ladder in particular to step on is just as important as getting your degree certificate. I started working in Information Technology (IT) well after completing my engineering studies in 1990 and it is now even more widely accepted by employers that a traditional computer science BSc isn’t the only path into IT anymore. Maths, physics, engineering, and other courses all teach valuable skills, and job descriptions are now significantly looser and more flexible – even if you never thought about it, a career in IT could well be open to you.
That said, each position across the software lifecycle still attracts a certain type, and in my experience, different personal attributes are required for each of the various roles available. So take a look at the examples below and think about which sound like you.
(Note that the salaries listed below are based on working outside of London. The software lifecycle is managed from bases all over the UK, but as with almost all other professions, in London the wages and living costs are higher.)
1. I’m great at understanding different people’s needs and explaining complex information.
If so, you’ll certainly be an asset to an IT department’s requirements team. Every software development project originates in a specific need or problem. Requirements is there to identify what actions are needed to solve it.
You’ll have excellent communication skills, because this is, by nature, an interdepartmental role, and stakeholders in other parts of the business won’t share your level of know-how. They may understand that something’s going wrong, but they won’t necessarily know why, or what is necessary to improve things. If you’re in requirements, that’s your job.
Junior business analyst is a typical entry-level position in this area, and commands a salary of around £20k – with time and experience, however, this can approach the £30-40k mark. The standard entry criteria is a high 2:1 in a related degree.
2. I’m a creative thinker and good at coming up with interesting solutions to IT issues.
In this case, you’ll want to take a serious look at a job in design. If requirements is about understanding the issue, design’s job is to come up with a workable IT solution and identify the tools to use.
‘Workable’ is the key word. The requirements team isn’t there to worry about the practicality of delivering what’s needed; you, the designer, are. You’re in charge of deciding which technology will best suit the business’s objectives, and you’re in charge of fitting it all together within a technical design. It’s essential to be able to come up with the non-obvious fix for a particular issue, and it’s equally critical that you can maintain good relationships with other stakeholders – in requirements and beyond.
Graduates interested in design will need a high 2:1, and will generally start as junior architects – a role that offers a competitive salary of £25k.
3. I love to code
A great design needs talented developers to implement the solution as software, otherwise it is worthless. Keeping requirements’ criteria firmly in mind, the development team creates the system devised by design. Members will generally be ‘fluent’ in programming languages such as C# and Java, and they’ll also have top-notch relationship building skills: not every designer likes to be told that their blueprint isn’t working, and requirements certainly doesn’t enjoy being told that their highly-demanded feature can’t be put into practice.
If you’ve started in a development team, you’re likely working as a junior developer and earning a salary of £22-25k. Again, a high 2:1 is considered the standard for entry.
4. I’m excellent at ironing out the kinks.
Software development doesn’t end when the system’s designed and the software is built; verification is necessary to ensure it isn’t riddled with bugs. And it’s not all automated, either: while much testing is becoming computerised, a human touch is usually still required – a pair of knowledgeable eyes can pick up subtleties machines might have missed.
To identify these subtleties, you need to know what requirements and design intended the system to do, and how implementation has temporarily fallen short of that mark. An extreme attention to detail and good relationship management with other stakeholders is therefore an absolute must, as are excellent written skills – you need to be able to produce reports that people can read and understand.
Your first job in verification will be as a junior tester, which requires a 2:1. Junior testers tend to earn between £18-20k.
5. I like to make sure everything runs smoothly.
No software team wants post-launch bugs, but they’re often sadly unavoidable – even the best testers won’t catch everything all the time, and problems that may not have arisen during active development could emerge as the system gets older and has to bear the weight of more data.
That’s where an operations team comes in. This team keeps an eye on software after delivery, ensures that it functions as it’s supposed to, and applies fixes to any problems that do occur. To fit in, you’ll need to know the ins and outs of your network architecture and the relationships between each application – which requires truly impressive attention to detail.
As a junior operations engineer, you’ll be paid around £20k. To be considered for a position, you’ll need a 2:12:1 in computer science or a related discipline.