Software Developer

Occupation overview

The primary role of a software developer is to build and test simple, high-quality code across front end, logic and database layers. A developer will typically be working as part of a larger team, in which they will have responsibility for some of the straightforward elements of the overall project. The developer will need to be able to interpret design documentation and specifications. The customer requirements will typically be defined and agreed by more experienced or specialist members of the team, such as a business analyst or technical architect. 

Skills

  • Logic: writes good quality code (logic) with sound syntax in at least one language
  •  User interface: can develop effective user interfaces for at least one channel
  • Data: can effectively link code to the database/data sets
  • Test: can test code and analyse results to correct errors found using either V-model manual testing and/or using unit testing
  • Problem solving: can apply structured techniques to problem solving, can debug code and can understand the structure of programmes in order to identify and resolve issues
  • Design: can create simple data models and software designs to effectively communicate understanding of the program, following best practices and standards
  •  Analysis: can understand and create basic analysis artefacts, such as user cases and/or user stories • Deployment : can understand and utilise skills to build, manage and deploy code into enterprise environments
  • Development lifecycle: can operate at all stages of the software development lifecycle, with increasing breadth and depth over time with initial focus on build and test.
  •  Can apply good practice approaches according to the relevant paradigm (for example object oriented, event driven or procedural)
  • Can interpret and follow: − software designs and functional/technical specifications − company defined ‘coding standards’ or industry good practice for coding − testing frameworks and methodologies − company, team or client approaches to continuous integration, version and source control
  •  Can respond to the business environment and business issues related to software development
  •  Can operate effectively in their own business’s, their customers’ and the industry’s environments
  •  Can apply the maths required to be a software developer (e.g. algorithms, logic and data structures)

 

Knowledge

  • Understands and operates at all stages of the software development lifecycle
  •  Understands the similarities and differences (taking into account positives and negatives of both approaches) between agile and waterfall software development methodologies
  •  Understands how teams work effectively to produce software and contributes appropriately
  • Understands and applies software design approaches and patterns and can interpret and implement a given design, compliant with security and maintainability requirements
  • Understands and responds to the business environment and business issues related to software development
  • Understands and applies the maths required to be a software developer (eg algorithms, logic and data structures

 

Behaviours

  • Logical and creative thinking skills
  • Analytical and problem solving skills
  • Ability to work independently and to take responsibility
  • Can use own initiative
  • A thorough and organised approach
  • Ability to work with a range of internal and external people
  • Ability to communicate effectively in a variety of situations
  • Maintain productive, professional and secure working environment

 

Entry Requirements

Individual employers will set the selection criteria, but this is likely to include A levels; a level 3 apprenticeship or other relevant qualification; relevant experience and/or an aptitude test with a focus on functional maths.

Level 2 English and Maths will need to be achieved, if not already, prior to taking the end point assessment

 

Duration

The duration of this apprenticeship is typically 24 months.

 

Professional Qualifications / Recognition

Apprentices must achieve one internationally recognised vendor or professional qualification, from the list below. This then exempts one of the Ofqual-regulated knowledge modules.

Knowledge Module 1: Software Development Methodologies

  • BCS Systems Development Essentials

 Knowledge Module 2: Software Language

  • Cloud certified developer apache
  • Hadoop
  • C++
  • PHP
  • Drupal
  • Oracle SQL Developer
  • Oracle Java Certified
  • MCP.net
  • MTA/MCP programming in HTML5 with Javascript and CSS3
  • C#

 

Originally published on Gov.uk, this information has been re-used under the terms of the Open Government Licence.

";

Recruiting school leavers? We can help