There are four main types of software developer: systems developers, web developers, mobile developers and test automation developers. New entrants to the profession tend to specialise in one of these areas when they start.
A junior software developer, with experience, is likely to progress to senior software developer and later to software architect or similar. Other opportunities for promotion could include team lead or manager.
Software developers’ typical duties include:
- discussing clients’ requirements and proposed solutions with a senior developer (for developers at mid-skill level and below)
- writing and testing code
- collaborating with other developers
- using development tools (see below)
Development tools are used by software developers to write and test code, often as a team. Common development tools include:
- integrated development environments (eg Eclipse, IntelliJ): for writing and editing code
- source control management (eg Git, SVN, Mercurial): to enable teams to work together to manage changes to source code
- issue management systems (eg Jira): for managing a list of issues or improvements
- test driven development: for writing code to test your code
- deployment (eg Jenkins, Hudson): for ensuring the latest software release is packaged correctly, tested and deployed to an application server
- Software development companies
- Financial services firms
- Technology consultancies
- Telecommunications companies
- Public sector organisations
Jobs are advertised online, by careers services and by recruitment agencies.
There are routes into software development for both graduates and school leavers. For graduate positions, degrees in computer science, software development or similar are usually preferred. However, a handful of employers don’t specify a degree subject and are willing to train you up if you demonstrate enthusiasm and the capacity to learn the relevant skills.
Apprenticeships in software development are advertised, so it is possible to enter this profession without a degree. To find out more about getting into IT and technology via a school leaver route, visit the IT and technology section of TARGETcareers, our website for school leavers.
- Mathematical aptitude
- Problem-solving skills
- Programming languages (different types of developer role require different languages)
- Excellent organisational and time management skills
- Accuracy and attention to detail
- An understanding of the latest trends and their role in a commercial environment
- Teamwork skills
- Self-development skills to keep up to date with fast-changing trends