Level 4 -
Building and testing simple, high-quality code for software.
Reference: OCC0116
Status:
SOC 2020 sub unit groups:
Fujitsu, Exclaimer , FRFL, Risual, Lloyds Bank, Autotrader, DEFRA
This occupation is found across every sector for example, Financial Services, Computer Gaming, Retail, Transport, Security and Defence 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.
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 developers are the creative minds behind computer programs. Some develop the applications that allow people to do specific tasks on a computer or another device. Others develop the underlying systems that run the devices or that control networks.
For example, a software developer may work 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. Bespoke asset management systems.
In a computer gaming context, a software developer may work with a creative digital design team to give life to the teams ideas through the delivery of effective code to provide an attractive gaming experience that can give the product a commercial advantage.
In a retail context a software developer may work on delivering coding solutions to deliver online retail opportunities for businesses that provide a responsive and secure trading environment for customers to purchase goods and interact with the retailer.
Organisations use software to ensure that their operations become ever more effective and robustly reduce 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 developer in a medium to large organisation 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. In a smaller enterprise a software developer may be working as the only developer on a project but under direct supervision. A software developer will interpret design documentation and specifications provided by more experienced or specialist members of the team, such as a business analyst or technical architect.
In their daily work, a Software Developer interacts with internal and external parties including users/customers (to understand their needs and test the software developed through user testing) and 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 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.
A Software Developer 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 developing software solutions across the full software development life cycle from research and development, through continuous improvement, to product/service retirement. They may work both autonomously and as part of wider teams, typically reporting to a more senior member of their team.
Fujitsu, Exclaimer , FRFL, Risual, Lloyds Bank, Autotrader, DEFRA
Take and interpret given software development requirements to estimate effort to deliver the work product to enable accurate costs to be established.
Break software development activities down into logical units of work to enable sequencing and ensure the best possible structuring of activities to deliver a high quality product right first time.
Report progress accurately throughout the development life-cycle stages to ensure adequate audit trails of key worksteps such that the organisation can demonstrate how the product has been created for quality and commercial purposes.
Identify and report any impediments to software development activities and propose practical solutions.
Convert customer requirements into technical requirements, both functional and non-functional to ensure that customers' expectations are accurately reflected in the software products developed.
Identify and select the most appropriate technical solution, taking into consideration coding best practice and appropriate quality standards.
Communicate software development solutions to a range of internal or external stakeholders to ensure clear understanding of requirements and how they have been met or adjusted.
Consider security implications of proposed design to ensure that security considerations are built in from inception and throughout the development process.
Write logical and maintainable software solutions to meet the design and organisational coding standards (Software Development Lifecycle -Implementation and Build phase).
Apply security best practice to the software solution throughout the software development life-cycle.
Create and maintain appropriate project documentation to explain the development process and resources used.
Apply appropriate recovery techniques to ensure the software solution being developed is not lost (Software Development Lifecycle -Implementation and Build phase).
Implement appropriate change control to ensure that software development changes may be tracked and quality risks managed.
Undertake unit testing of solutions, with appropriate levels of test code coverage, to identify and, where necessary, resolve issues (Software Development Lifecycle -Implementation and Build phase).
Perfom testing of the software solution to ensure a high quality output (Software Development Lifecycle -Test phase).
Deliver a suitably documented deployable solution to the customer for their use (Software Development Lifecycle -Deploy phase).
Support delivery of one or more software deployment phases, such as trials and final release, to ensure that software developer outcomes are deployed correctly.
Provide support during software trials and after final release to ensure that customers understand and can correctly apply the product, and risks are mitigated.
Respond appropriately to given Service Level Agreements (SLAs) to ensure that time and resources invested in software development activity are allocated appropriately to deliver good customer service.
Apply suitable 'bug fix', appropriate to the severity and priority of the software development issue identified.
Practice continuous self learning to keep up to date with technological developments to enhance relevant skills and take responsibility for own professional development.
This occupational progression map shows technical occupations that have transferable knowledge and skills.
In this map, the focused occupation is highlighted in yellow. The arrows indicate where transferable knowledge and skills exist between two occupations. This map shows some of the strongest progression links between the focused occupation and other occupations.
It is anticipated that individuals would be required to undertake further learning or training to progress to and from occupations. To find out more about an occupation featured in the progression map, including the learning options available, click the occupation.
Progression decisions have been reached by comparing the knowledge and skills statements between occupational standards, combined with individualised learner movement data.
Technical Occupations
Levels 2-3
Higher Technical Occupations
Levels 4-5
Professional Occupations
Levels 6-7
Digital
Engineering and manufacturing