What is a Software Developer?  

A software developer is a multi-disciplined person who is capable of designing, developing, maintaining, updating, testing, and evaluating software systems and processes. You may work on services used directly by millions of citizens or APIs used by vehicle retailers and the emergency services. You may be involved in writing computer programmes from scratch or amending existing “off-the-shelf” programmes to meet the needs of a project. 

What does a Software Developer do in the DVLA? 

At DVLA, a software developer can be working on a wide range of topics using many varied tools and technologies. At all levels, you will be creating, updating and maintaining code which forms part of the UK’s Critical National Infrastructure as well as ensuring the systems you maintain are well tested, performant and secure. 
 
You may also be tasked with designing and developing new systems and processes in close collaboration with system architects, service designers and many other areas of the business. Software developers are often in control of the strategic direction of the organisation from a technical perspective and have an input into what tools and technologies are used across the wider group.

Software developers frequently work across many projects and technologies from Java, Ruby, NodeJS and more. They also use cloud services like AWS and Azure, as well as modern CI/CD and dev-ops tooling.

What is a squad? 

A squad is a collection of people from across multiple areas of the business combined to form a multi-disciplined team. Each squad is typically comprised of several software developers, an SDET (Software Development Engineer in Test), an ADM (Agile Delivery Manager) and possibly some QE (Quality Engineering) staff. The squad is relatively autonomous, allowing freedom in the way they approach problems and business tasks. They use any of the approved technologies or solutions within DVLA, or create their own solution design for review across the wider group. Each squad will have an associated name, for example, “Flying Squad”, “Vulcan squad”, or some of the more comedic names such as “The muppets”. 

What Qualifications and skills do I need? 

You don’t have to complete formal qualifications at degree level to become a software developer, and many are self-taught! Most importantly is to have problem solving skills and to enjoy coding. There are many websites for beginners, such as https://developer.mozilla.org, where you can learn CSS+HTML for web development. DVLA provides access to Pluralsight, A Cloud Guru and Udemy, where courses can be taken for free. 

DDat Skills Snapshot

The table below shows the skills required at each level:

SkillApprentice Software DeveloperJunior Software DeveloperSoftware DeveloperSenior Software DeveloperLead Software DeveloperPrincipal Software Developer
1Availability and Capacity ManagementAwarenessAwarenessWorkingWorkingWorkingWorking
2Development Process Optimisationn/an/aAwarenessWorkingWorkingPractitioner
3Information SecurityAwarenessWorkingPractitionerPractitionerPractitionerExpert
4Modern Standards ApproachAwarenessWorkingPractitionerPractitionerExpertExpert
5Programming & Build (Software Engineering)WorkingWorkingPractitionerPractitionerExpertExpert
6PrototypingAwarenessWorkingPractitionerPractitionerPractitionerExpert
7Service SupportAwarenessWorkingWorkingPractitionerPractitionerPractitioner
8Systems Designn/aAwarenessWorkingPractitionerPractitionerExpert
9Systems Integrationn/aAwarenessWorkingPractitionerPractitionerPractitioner
10User FocusAwarenessAwarenessPractitionerPractitionerPractitionerPractitioner

How can I become a Software Developer?  

There are more formal, academic courses emerging, but it is a fast-paced, evolving sector. If you have a mathematical aptitude, problem solving skills and attention to detail, you’re part way there! If you don’t have an IT-related degree, you may still be able to access a graduate trainee programme or a degree apprenticeship. In DVLA, the CoDE programme recruits Software Developers, giving them an opportunity to develop the practical skills and knowledge to perform.