Software Development Technician Apprenticeship
A digital apprenticeship focusing on building simple applications for use in larger software developments. If you’d like to know more about a specific apprenticeship or wish to enquire about a vacancy then please contact us.
This occupation is found in every sector in organisations ranging from large multi-nationals, public sector bodies and government projects developing multi-billion-pound software solutions to support key projects to small consultancy firms designing bespoke software solutions for clients.
For example, Financial Services, Transport, Security and Defence. The broad purpose of the occupation is to understand a client’s requirements as provided in design specification and then build and test high-quality code solutions to deliver the best outcome.
Software development technicians are the supportive entry level team member helping to create computer programs. Some assist in developing the applications that allow people to do specific tasks on a computer or another device. Others assist in developing the underlying systems that run the devices or that control networks. For example, a software development technician may work to support a software developer or wider team on Transport ticketing systems, traffic light control systems, customer-facing websites for journey planning and account management, internal websites for monitoring the status of train and road networks. They may assist in developing software to create bespoke asset management systems.
The software development technician may work on assisting software developer teams in devising innovative solutions to problems such as flood warning systems and creating products that enhance farmers engagement with sustainable farming approaches. Organisations use software to ensure that their operations become ever more effective and robust reducing the incidence of downtime by building quality tested software solutions to give a better service. For example, in commercial organisations this can give them a competitive advantage by being able to analyse significant amounts of data quickly and efficiently to provide the business with information and management systems. This can save time and help the business spot profit making opportunities. For public sector bodies the right software solution can drive up performance and help target scarce resources more effectively and ensure that customer expectations are more likely to be met.
A software development technician typically works as a junior member of a software development team, to build simple software components (whether web, mobile or desktop applications) to be used by other members of the team as part of larger software development projects or by end users. They will interpret simple design requirements for discrete components of the project under supervision. The approach will typically include implementing code, building on code that other team members have developed, to produce the required component. The software development technician will also be engaged in testing that the specific component meets its intended functionality. In their daily work, an employee in this occupation interacts with software developers and may also assist the wider team in their interactions with internal and external parties including users/customers (to understand their needs and evaluate the software developed through user testing). The software development technician may also interact under supervision with team members from a range of specialist fields including designers, developers, engineers, analysts, and project/delivery managers (to ensure the effective implementation of software solutions).
A software development technician is typically office-based however field-based research and testing may require periods of time working in the environments of the clients whose needs they are seeking to meet. An employee in this occupation will be responsible for assisting in the development of software solutions across the full software development life cycle, from research and development, through continuous improvement, to product/service retirement.
They will work under supervision on standalone project stages and as part of wider teams, reporting to a more senior member of their team.
Typical job titles include:
Assistant programmer and automated test developer Junior application developer Junior application support analyst Junior developer Junior games developer Junior mobile app developer Junior programmer Junior software developer Junior web developer Software development technician
|Duty 1 D1: Follow clearly defined requirements to deliver software development activities and products||K1 K2 K3 K13 K14 K20 K21 K23 K24 S2 S10 S12 S15 S16 S18 S25 S30 B1 B2 B3 B5|
|Duty 2 Report progress against metrics on software development activities accurately throughout the stages of the software development lifecycle||K1 K2 K3 K4 K5 K6 K20 K25 S12 S15 S18 S19 S21 S26 S31 B1|
|Duty 3 Identify and report any impediments to progress in development activities to supervisors||K1 K2 K3 K4 K13 K15 K20 K23 K24 S1 S5 S6 S7 S9 S17 S18 S19 S22 S23 S25 S26 B1 B3 B4|
|Duty 4 Follow instructions to convert customer requirements to technical requirements||K1 K2 K4 K6S2 S3|
|Duty 5 Communicate outcomes from development activities to team members and other stakeholders both internal and external||K4 K20 K23 S1 S12 S32 B1|
|Duty 6 Identify and implement security features of a proposed design||K6 K7 K9 K10 K11 K12 K13 K14 S2 S5 S14 S15 S16 S17 S29|
|Duty 7 Write logical and maintainable software solutions in line with given specifications to meet the design requirements and organisational coding standards||K1 K7 K12 S11|
|Duty 8 Apply security principles and practice to the software development tasks assigned||K1 K8 K13 K14 K15 S5 S24 S25 B2|
|Duty 9 Maintain appropriate project documentation throughout the software development tasks||K1 K2 K3 K4 K19 K20 S12 S13 S18 S26 S32|
|Duty 10 Apply appropriate recovery techniques to ensure that the software solution being developed is not lost.||S31 B2|
|Duty 11 Undertake unit testing of solutions, with appropriate levels of test code coverage, to identify and, where necessary, escalate issues||K1 K2 K13 K22 S4 S5 S6 S8 S17 S28|
|Duty 12 Contribute to testing of the end-to-end software solution to ensure a high-quality output||K1 K2 K13 K22 S5 S6 S17 B2 B3 B4|
|Duty 13 Support delivery of deployment phases, including trials and final release.||K1 K2 K3 K5 K6 K9 K20 K24 S18 S19 S23 S30 S31 S32|
|Duty 14 Identify the need for a suitable ‘bug fix’, appropriate to the severity and priority of the issue identified.||K1 K2 K6 K7 K10 K11 K12 K14 K15 K21 K22 S15 S16 S17 S18 S20 S21 S22 S24 S27 B2 B3 B4|
|Duty 15 Practice continuous guided self-learning to keep up to date with technological developments to enhancerelevant skills and take responsibility for own professional development||K16 K17 K18 K24 B1 B5|
K1: Fundamentals of all stages of the software development life cycle including development, Quality Assurance, User Acceptance Testing and release
K2: Roles and responsibilities within the software development life-cycle
K3: Roles and responsibilities of the project life-cycle
K4: Different communication methods, how to adapt appropriately to different audiences including collaborative technologies such as discussion threads and document collaboration
K5: The key similarities and differences between different software development methodologies, such as agile and waterfall
K6: Principles of effective teamwork to produce software
K7: Fundamentals of software design approaches and patterns, including when to identify reusable solutions to commonly occurring problems
K8: Organisational policies and procedures relating to the tasks being undertaken, and when to follow them. For example, the storage and treatment of General Data Protection Regulation (GDPR) sensitive data.
K9: Fundamentals of computing systems including physical, virtual and cloud technologies
K10: Fundamental principles of algorithms, logic and data structures. For example, how they work using a step-by-step solution to a problem, or rules to follow to solve the problem
K11: Principles and uses of relational and non -relational (nosql) databases
K12: Basic principles of software designs and functional/technical specifications
K13: Key principles of software testing frameworks and methodologies
K14: Principles of pattern recognition such as looking for similarities among and within problems
K15: Fundamentals of breaking down a complex problem or system into smaller, more manageable parts
K16: The importance of valuing difference and understanding the protected characteristics named in the Equality Act 2010
K17: Basic principles of emerging technology trends and innovations such as Internet of Things (IoT) Artificial Intelligence (AI) Augmented Reality (AR)
K18: Awareness of legal and regulatory requirements and their practical application to the role for example, Data Protection, Security, Intellectual Property Rights (IPR), Data sharing, marketing consent, personal data definition.
K19: Fundamental approaches to actions such as sequence, selection and iteration
K20: Basic principles of software project planning including: Risks and dependencies * integration * prioritisation of tasks * escalation of problems * quality
K21: Basic principles of processes and protocols used to ensure internet security, including concepts of security assurance
K22: Key principles of testing for components (including software, hardware, data),interfaces and the resulting service
K23: Basic principles of digital tools and their use in business: tools such as presentation tools * evaluation tools and techniques. such as project management tools
K24: Role and importance of Industry Standards and where to find them (e.g., ISO standards, IETF RFCs).
K25: Software development approaches for example object oriented, event driven or procedural
S1: Write simple code for discrete software components following an appropriate logical approach to agreed standards (whether web, mobile or desktop applications) under supervision
S2: Apply appropriate secure development principles to specific software components at all stages of development
S3: Support development of effective user interfaces
S4: Make simple connections between code and defined data sources as specified
S5: Test simple code and analyse results to correct errors found using unit testing under supervision
S6: Conduct a range of test types under supervision , such as Functional and Non -Functional.
S7: Apply structured techniques to problem solving, including carry out simple debug of code
S8: Follows organisational and industry good coding practices (including for naming, commenting etc.)
S9: Solve logical problems, seeking assistance when required (including appropriate mathematical application)
S10: Support the creation of simple software documentation and visuals to effectively communicate understanding of the program
S11: Define functional and non -functional requirements such as use cases, storyboards, user stories, performance and accessibility.
S12: Work within operational requirements such as health and safety, budgets, brands and normal business protocols
S13: Develop user interfaces as appropriate to the organisations development standards and the type of software development being developed
S14: Build scripts in line with work instructions for deployment into the relevant environment
S15: Follow simple software designs and functional/technical specifications in line with work
S16: Follow simple testing frameworks and methodologies in line with work instructions
S17: Follow company, team or client approaches to continuous integration, version and source control as instructed
S18: Support the communication of software solutions and ideas to technical and non-technical stakeholders
S19: Apply algorithms, logic and data structures in a supported context in line with work instructions
S20: Follow work instructions to contribute to building a given design whist remaining compliant with security and maintainability requirements
S21: Apply techniques to break down complex problems.
S22: Demonstrate how Key Performance Indicators (KPIs) can be used to frame and measure desired outcomes
S23: Implement secure code in appropriate languages of different types which is maintainable, readable, functional.
S24: Design simple software solutions to meet a requirement using tools and techniques, such as waterfall and agile
S25: Work in a shared code base with appropriate etiquette and tools, such as modularity and data definition
S26: Use simple debugging techniques, such as interactive debugging, print debugging, remote debugging
S27: Implement test plans under supervision to show that a test plan is implementable in practice and implementation conforms to the plan.
S28: Develop and use simple acceptance criteria.
S29: Apply and maintain procedures and security controls to ensure confidentiality, integrity and availability
S30: Use collaboration tools and technologies for source and version control to enable working together on common projects, regardless of physical location,
S31: Follow instructions to ensure client data is held securely under supervision e.g., not using personally identifiable information in test systems, making sure personal actions comply with ICO regulations
S32: Use collaboration tools and technologies for writing technical documentation for, and adapting to, specific audience(s). e.g., technical, non-technical, internal, external
B1: Use critical thinking skills when undertaking work tasks
B2: Committed to guided Continuous Professional Development
B3: Work independently and take responsibility within tightly defined parameters
B4: Maintain a productive, professional and secure working environment
B5: Team player, for example working collaboratively, keeping others informed using effective communication, recognising personal and professional limitations and seeking advice when necessary
English and Maths
Apprentices without level 2 English and maths will need to achieve this level prior to taking the End-Point Assessment. For those with an education, health and care plan or a legacy statement, the apprenticeship’s English and maths minimum requirement is Entry Level 3. A British Sign Language (BSL) qualification is an alternative to the English qualification for those whose primary language is BSL.