Software Developer
Key Facts
Overview
Software developers/programmers design, develop, install and test software to meet their clients' needs. They have expert knowledge of computer programming languages, which they use to write the ‘code’ which performs the software’s functions to meet system requirements – such as those used in automatic flight-landing equipment, patient monitoring equipment or financial databases.
Developers meet with clients or receive instructions so that they understand how systems are to be used. They produce initial designs that are discussed with clients and then apply any necessary alterations. They test programs to detect and address any issues before supplying them to clients, where they are made ‘live’. They usually play a key role in the initial installation process. They may also write and update end user documentation and operational procedures, so that clients are able to use programs efficiently. They work according to guidelines and quality standards to ensure programs and applications perform to the required specifications and standards.
Software developers/programmers are highly analytical, with strong problem-solving skills. They need the ability to communicate technical concepts clearly - both within a team environment and to clients.
What it takes
What it takes:
- analytical thinking skills
- maths knowledge for understanding programming
- to be thorough and pay attention to detail
- the ability to come up with new ways of doing things
- complex problem-solving skills
- excellent verbal communication skills for sharing ideas
- persistence and determination
- thinking and reasoning skills
- the ability to use your initiative
- the ability to write computer programs
- knowledge of engineering science and technology
- knowledge of systems analysis and development
- knowledge of computer operating systems, hardware and software
- the ability to use your judgement and make decisions
- the ability to think clearly using logic and reasoning
- design skills and knowledge
- operations analysis skills
- customer service skills
- to have a thorough understanding of computer systems and applications
Day to day
Day to day:
Your day-to-day tasks may include
- talking through requirements with the client and the development team
- taking part in technical design and progress meetings
- writing or amending computer code
- testing software and fixing problems
- keeping accurate records of the development process, changes and results
- carrying out trials and quality checks before release
- maintaining and supporting systems once they're up and running
You could work at a client's business or in an office.
Requirements
You will need
- A GCSE (4+/A*-C) (or equivalent) in English
- A GCSE (4+/A*-C) (or equivalent) in maths
- A degree in a numerate or IT subject
You may need
- An A Level (or equivalent) in a numerate or IT subject
- A GCSE (4+/A*-C) (or equivalent) in physics (or double science)
- A GCSE (4+/A*-C) (or equivalent) in computing/ICT
Academic and Vocational Notes
Due to the technical knowledge required for software development/programming roles, entry is generally through a relevant higher education qualification, which can be gained through university or an employer sponsored apprenticeship.
Most employers look for graduates of relevant subjects such as software development, programming, engineering or computer science. Employers who run training schemes may also take on graduates of other subjects, but you would need to demonstrate sound technical ability; postgraduate/conversion courses are available. When researching courses, check the content and entry requirements with individual providers before you apply.
A relevant college course can provide foundation skills as entry level to a trainee, apprenticeship or assistant-level position in this area of work. It's important to demonstrate your ability to use the computer programming languages required by employers. Courses are available, including online programmes that allow you to teach yourself.
It is possible to train through an apprenticeship; these are available at different levels. Vacancies are advertised with local, national and international organisations, through their websites, and social media feeds. There are also computing training providers that have links with employers and the UK Government apprenticeships website
Relevant experience gained, for example through work placements will be useful when applying for vacancies
Work Based Training Notes
Training in the workplace can be through a graduate training scheme or apprenticeship, for example.
It will be important to keep your skills and knowledge up to date. Your employer may support you to gain software-specific certifications and professional/industry-recognised qualifications.
With experience, you could progress to a more senior and responsible role. Some software developers/programmers decide to work on a freelance or contract basis.
Other Routes
Whilst these are the usual routes to this career, there can be alternatives. You will be able to discuss these with your adviser.