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.


Occupation summary

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

Occupation duties

DUTYKSBS
Duty 1 D1: Follow clearly defined requirements to deliver software development activities and productsK1 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 lifecycleK1 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 supervisorsK1 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 requirementsK1 K2 K4 K6S2 S3
Duty 5 Communicate outcomes from development activities to team members and other stakeholders both internal and externalK4 K20 K23 S1 S12 S32 B1
Duty 6 Identify and implement security features of a proposed designK6 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 standardsK1 K7 K12 S11
Duty 8 Apply security principles and practice to the software development tasks assignedK1 K8 K13 K14 K15 S5 S24 S25 B2
Duty 9 Maintain appropriate project documentation throughout the software development tasksK1 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 issuesK1 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 outputK1 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 developmentK16 K17 K18 K24 B1 B5

KSBs

Knowledge

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

Skills

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

Behaviours

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

Qualifications

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.

Additional details

Occupational Level:

3

Duration (months):

18


Vacancies


If you’d like to know more about our apprenticeships then contact us today