With so many aspects of our lives depending on computers, it’s difficult to imagine a world without them. Software developers play an important role in designing and building the programs that instruct computers to do specific tasks, whether that’s record keeping or allowing us to use apps or computer games.
Here we take a look at software development as a career. We’re grateful to Kirsty Carotti for giving us an insight into her role and for providing valuable advice. Kirsty is senior software developer at BMT, an international maritime engineering consultancy.
What does a software developer do?
Your exact role will vary depending on the complexity of the projects you work on and the size of your development team. You could be involved in a number of stages or undertake specific tasks.
In a large team there might be – amongst other specialists – project managers, business analysts (who are the point of contact between the client and the developers) and software testers, but software developers often collaborate with and help progress tasks undertaken by people in such roles.
Full-stack developers contribute to the development of both the front-end (what is seen by the user) and back-end (what goes on behind the scenes, e.g. databases and servers). Software developers can specialise in specific technologies or in areas such as development operations (better known as ‘DevOps’) where they focus on the deployment, integration and maintenance of software.
Some developers specialise in software for use in certain sectors, such as education, defence, health or financial services, or are involved in certain applications, e.g. cloud-based technologies or computer games.
Your role might include:
- Liaising with your employer or client to find out what is required from the software
- Gathering information
- Designing and writing new or amended programs using code (a set of rules)
- Testing the program and resolving bugs
- Producing a final version of the program
- Conducting quality checks before launch
- Keeping detailed records of how the program has been developed and any changes made
- Maintaining and updating the software
- Training software users
Kirsty explained a little about her role. “I work with clients to develop web apps to interface with their large databases. I’m a full-stack software developer so I’m concerned with the way a client’s data is stored in a database, and how this data is accessed and appears to the user. Before starting a project, we spend time understanding what the client needs to get from the data that they store and planning the project. We are an Agile company and have set periods of time (called ‘sprints’) to get specific tasks done; other companies use different methodologies. The technical part of my work involves coding, devising database structures and designing the structure of the apps themselves. We liaise with the clients and receive continuous feedback. Once the app is accepted, we work on its maintenance and resolve any issues.”
Where could I work as a software developer?
Developers are employed by all sorts of organisations. They work for software houses and consultancies undertaking projects for clients, as well as in manufacturing, retailing, telecommunications, financial service, the utilities etc. Software developers also work for public sector bodies including local authorities and government departments.
TIP: Have a look at vacancies with potential employers and through specialist job sites like computerjobs.com, CWJobs or Bubble Jobs. Sometimes roles with similar responsibilities have different job titles, so read role descriptions carefully.
In terms of work settings, you might work in an office, from home or at your clients’ premises.
Would I suit a career in software development?
To work in software development you must be analytical, logical and methodical. You also need patience and determination.
We asked Kirsty which skills she considers are most important. “It’s essential that you are good at solving problems. You need to be able to see the big picture and think outside the box. Along with technical ability, what people often don’t realise is that teamworking skills are valued and certain career paths suit those who are creative. You may have to explain technical issues to non-technical people, so the ability to communicate clearly is also important.”
Kirsty’s TIP: “Have a go at working on your own projects – even something simple like creating your own to-do list app. It’ll give you experience and help you decide whether software development is right for you.”
Morrisby Profile assessments can help you gain insight into how your aptitudes, interests, and personality align with various careers, including software development. Find out more about our Morrisby Pass (includes assessments and a 60-minute session with a qualified careers professional).
How can I get into software development?
There are various entry routes, but most software developers are graduates.
Kirsty told us a little about her career journey. “I come from a tech family and have always enjoyed using computers. It was natural for me to choose GCSE computer science, but was surprised to find I was the only girl. I went on to do A levels in maths, computer science, physics and graphics, and then took a sandwich degree in computer science. I spent my placement year at BMT and, after completing my course, got a place on BMT’s graduate scheme and worked as a mid-level developer. I moved to another company – the experience was useful but the role wasn’t such a good fit for me. After six months I secured a senior software developer position back at BMT.”
If you are at school or college and have an interest in computing, there’s a range of broad-based courses you could consider. Whilst these may not be essential, they will provide a useful background and give you an idea as to whether or not you would enjoy a career in computing. You could, for instance, take a relevant GCSE/National, A level/Higher, BTEC or OCR qualification. In England, the T level in digital production, design and development is suitable for those interested in software production.
TIP: Look out for coding competitions, workshops and other initiatives (some of which are designed for those who are underrepresented). A few examples include Teach the Nation to Code, The Bebras Challenge, Code First Girls and the British Informatics Olympiad. If you are aged 19+ and live in England, you may be eligible to register on a free 14-week software development Skills Bootcamp.
At higher-education level there are lots of courses to choose from. Depending on whether or not you know where your career interests lie, you could either take a general course in computing or a more specialist one, e.g. in software development, computer programming or cloud computing.
Apart from degree courses, there are other higher education programmes including foundation degrees and HNC/Ds. These take two years full time (or longer part time) and, with further study, can usually be topped up to an honours degree.
For entry to higher education you generally need A level/Higher or equivalent qualifications including a numerate or analytical subject. Some courses include an integrated foundation year for those without the qualifications required for direct entry. Check course entry requirements through UCAS and with individual universities.
Some courses are accredited by bodies such as the BCS, The Chartered Institute for IT or IET (The Institution of Engineering and Technology). Tech Industry Gold Degrees in software engineering have been endorsed by employers as providing students with the technical, business, interpersonal and project management skills they need for a career in the tech sector. (Note that there are also accredited apprenticeships and training programmes.)
TIP: Research course content, find out whether you will be trained in the latest technology and ask what jobs previous graduates have gone on to do. Also check what links the course has with employers. Kirsty says, “I’d definitely recommend a programme that includes work experience. It was only when I did my placement that I really understood how to apply my knowledge in the real world.”
There are also relevant postgraduate courses. Some are aimed at graduates of relevant subjects who want to extend their studies and perhaps specialise in certain aspects of software development. Others are ‘conversion courses’ for those with non-related degrees.
Some employers offer formal training schemes. Occasionally they take on trainees with A level/Higher or equivalent qualifications, but most schemes are for graduates. Although employers usually seek those with degrees in relevant subjects, some train graduates of any discipline provided that they show the right aptitude; psychometric tests may form part of the selection process.
Employers may expect a knowledge of certain programming languages, such as JavaScript, Python or C++, but, as Kirsty says, “Often the only thing needed is a base understanding of language structures as you can apply this knowledge to most other programming languages.”
Apprenticeships also offer training with an employer alongside off-the-job learning. Examples of suitable programmes include those in England at level 3 for software development technicians, at level 4 for software developers, software testers and DevOps engineers, and at level 6 (degree level) and level 7 (master’s level) for digital and technology solutions professionals/specialists.
Once in employment, various qualifications and certifications can be gained at different levels through distance learning or part-time study. These are available, for instance, through bodies such the BCS and large software companies.
What opportunities are there to progress in software development?
With experience promotion is possible to more responsible positions, such as senior or lead software developer. Software developers, because of their understanding of business operations, are in a good position to apply for more general senior management roles. Some move into training or technical writing. You can also spend time working overseas.
Self-employment is an option. You could work on different contracts as a freelancer, offer consultancy services or set up your own software business, for example.
Once you have developed sufficient competence you can apply for professional registration as a Registered IT Technician (RITTech), Advanced RITTech or Chartered IT Professional (CITP) through the BCS. This can raise your profile and demonstrate your capabilities to future employers and clients.
Kirsty told us that, “There’s a demand for those with the right skills, but it’s important to take time to develop your career in the direction that’s right for you. I like working on whole projects whereas some people enjoy just the tech side.”
TIP: Becoming a member of a relevant professional body, such as the BCS, The Institution of Analysts and Programmers (IAP) or the Developers Alliance, can give you the chance to network, further develop your skills through their webinars, events etc, and keep up to date with developments.
How can I find out more about careers in software development?
The TechSkills site helps you explore routes into tech jobs in general, and careers information is available through the BCS and IAP. Targetjobs has information on careers in tech and more specifically on software development.
There are software developer career profiles on the national careers sites – the National Careers Service for England, Careers Wales and My World of Work in Scotland. Relevant career profiles, e.g. for applications developers, can also be found through Prospects.
Kirsty told us, “For almost two years I was on the WISE Young Professionals Board (WYPB). WYPB aims to tackle gender disparity in STEM (science, technology, engineering and maths). If you’re thinking about a career in tech, I’d recommend you take a look at some of WYPB’s resources including a series of podcasts called Unfiltered STEM.”
Finally…
We asked Kirsty for some final comments about her career. “Every day is different and I get great satisfaction from resolving tricky issues. Getting it right first time can be difficult, but I’ve learnt to ask the right questions. Apart from the tech side of my role, I enjoy project planning and talking to customers.”
Debbie Steel, September 2024
With a background working with apprentices and teaching in further education, Debbie was employed as an in-house careers author before establishing herself as a freelancer. As well as co-authoring numerous careers books, Debbie has produced resources and web content for a range of high-profile clients. She is a member of the Careers Writers Association and Career Development Institute, and an enthusiastic proponent of impartial and reliable careers information.