Software developer

Software developers create and test programs that allow people to complete tasks, run services and use digital devices.


What you'll do

Day-to-day tasks

As a software developer, you could:

  • discuss client requirements and potential development ideas
  • work with a technical team to form design plans and timescales
  • write or update computer code
  • test software at each stage or iteration to find and fix problems
  • make sure software meets industry quality standards
  • record changes made, with reasons, at each stage of development
  • complete final checks before a product is released for use
  • maintain and support systems once they're up and running

Working environment

You could work in an office, from home, remotely or at a client's business.

Career path and progression

With experience, you could:

  • become a senior developer, leading a team
  • manage development projects
  • move into related areas, such as systems design, IT architecture and business systems analysis
  • set up your own company and work as a consultant

What it takes

Skills and knowledge

You'll need:

  • analytical thinking skills
  • to be thorough and pay attention to detail
  • maths knowledge for understanding programming
  • the ability to come up with new ways of doing things
  • complex problem-solving skills
  • excellent verbal communication skills for sharing ideas
  • knowledge of systems analysis and development
  • the ability to write computer programs
  • to have a thorough understanding of computer systems and applications

How to become

You can get into this job through:

  • a university course
  • a college course
  • an apprenticeship
  • a graduate training scheme

You could do a foundation degree, higher national diploma or a degree in:

  • computer science
  • information technology
  • software development
  • financial technology
  • software engineering
  • maths

Entry requirements

You'll usually need:

  • 1 or 2 A levels, or equivalent, for a foundation degree or higher national diploma
  • 2 to 3 A levels, or equivalent, for a degree

More Information

You could do a college course to learn some of the skills needed to get a trainee position, or to move onto further study. Courses include:

  • computing
  • computer science
  • programming
  • principles of coding
  • T Level in Digital Production, Design and Development

Entry requirements

Entry requirements for these courses vary.

  • 4 or 5 GCSEs at grades 9 to 4 (A* to C), or equivalent, including English and maths for a T Level

More Information

You could apply to do an apprenticeship, such as:

  • Software Development Technician Level 3 Advanced Apprenticeship
  • Software Developer Level 4 Higher Apprenticeship
  • DevOps Engineer Level 4 Higher Apprenticeship
  • Digital and Technology Solutions Professional L6 Degree Apprenticeship
  • Game Programmer Level 7 Degree Apprenticeship

These can take between 2 and 4 years to complete. They combine on-the-job training with time spent at a college or other learning provider.

Entry requirements

You'll usually need:

  • 5 GCSEs at grades 9 to 4 (A* to C), or equivalent, including English and maths, for an advanced apprenticeship
  • 4 or 5 GCSEs at grades 9 to 4 (A* to C) and A levels, or equivalent, for a higher or degree apprenticeship

More Information

You may be able to apply for a place on a graduate training scheme with an IT company, if you have a degree.

These are often open to graduates of any subject, not just people with a degree in a computing.

Career tips

You could build up your skills and knowledge using online learning resources for:

  • programming languages
  • project management
  • software development methods

Further information

You can find out more about working and training in computing from:


Suggested videos

Coffee With is in early release mode with a limited number of videos. New videos are being added every week, so please check back for updates.

This page contains public sector information licensed under the Open Government Licence v3.0.