Apprentices

  1. Details of the Software Developer Apprenticeship: https://firebrand.training/uk/apprenticeships/programmes/higher-level-4/software-developer?utm_campaign=website&utm_source=Goldmine&utm_medium=email#curriculum
  2. Role Suitability Form: Role Suitability form - HEE SD.pdf


Main contact: Luke Shaw - ls@firebrandtraining.co.uk

Enrolment Consultant - Keat Ng


Modules

Abrar Khan (Unlicensed)

  • Microsoft Programming in HTML5 with JavaScript and CSS3

Peter Collum (Unlicensed)

  • OCA Java SE 8 Programmer

Both

  • Software Testing Introduction to DevOps
  • Microsoft Querying Data with Transact-SQL

Software Developer Overview

Software Developer apprentices are taught how to build and test simple, high-quality code across front end, logic and database layers. They'll be able to interpret design documentation and specifications.

To achieve their Software Developer apprenticeship, apprentices must:

  • Demonstrate competence against two knowledge modules: Software Development Methodologies and Software Language. These are assessed by examinations set by the British Computer Society and regulated by Ofqual. Apprentices must pass both modules.
  • Submit a portfolio of evidence showing how they have applied the knowledge from these modules to projects and activities in their workplace.
  • Complete their formal End Point Assessment, which comprises: a synoptic project to showcase knowledge and skills from across the apprenticeship; a review of their portfolio of evidence; and a final interview with an independent EPA assessor.

Successful Software Developer apprentices go on into roles such as a Web Developer, Application Developer, Mobile App Developer, Games Developer and Software Developer.

Technical Competencies

Upon completion of their Software Developer apprenticeship, individuals will be able to:

  • write good quality code (logic) with sound syntax in at least one language
    • HEE TIS Team Coding standards
    • HEE GitHub repo and associated standards
  • develop effective user interfaces for at least one channel
    • Use of HEE TIS UX/I standards and templates
    • Use of agreed libraries
    • Supervised development with HEE UI/X Lead
  • effectively link code to the database/data sets
    • Data management will be carried out in the following environments
    • Java to MySQL endpoints (Stored procedures) TIS
    • Java to MySQL endpoints (ETL) - TIS - NDW
    • MySQL - DBA
    • Tableau
  • test code and analyse results to correct errors found using either V-model manual testing and/or using unit testing
    • Use HEE TIS Continuous Integration Testing
    • Unit Testing
  • apply structured techniques to problem-solving, can debug code and can understand the structure of programmes in order to identify and resolve issues
    • Whilst debug tools are a useful aid, we will be working with apprentices to ensure they develop logic, structured approaches to problem-solving
  • create simple data models and software designs to effectively communicate an understanding of the program, following best practices and standards
    • We will expect apprentices to produce UML model notation and are able to reconcile models to designs
  • understand and create basic analysis artefacts, such as use cases and/or user stories
    • The TIS mode of operation uses use cases and user stories as a key element of the software development process
  • understand and utilise skills to build, manage and deploy code into enterprise environments
    • Apprentices can develop appropriate user documentation, planning for user training and data migration
  • operate at all stages of the software development lifecycle, with increasing breadth and depth over time with an initial focus on build and test.
  • apply good practice approaches according to the relevant paradigm (for example object-oriented, event-driven or procedural)
  • interpret and follow:
    • software designs and functional/technical specifications
    • the 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
  • respond to the business environment and business issues related to software development
  • operate effectively in their own business', their customers' and the industry's environments
  • apply the maths required to be a software developer (e.g. algorithms, logic and data structures)

Technical Knowledge and Understanding

Upon completion of their Network Engineer apprenticeship, individuals will understand:

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

Underpinning Skills, Attitudes and 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 a productive, professional and secure working environment