Follow clearly defined requirements to deliver software development activities and products. Report progress against metrics on software development activities accurately throughout the stages of the software development lifecycle. Identify and report any impediments to progress in development activities to supervisors. Follow instructions to convert customer requirements to technical requirements. Communicate outcomes from development activities to team members and other stakeholders both internal and external. Identify and implement security features of a proposed design. Write logical and maintainable software solutions in line with given specifications to meet the design requirements and organisational coding standards. Apply security principles and practice to the software development tasks assigned. Maintain appropriate project documentation throughout the software development tasks. Apply appropriate recovery techniques to ensure that the software solution being developed is not lost. Undertake unit testing of solutions, with appropriate levels of test code coverage, to identify and, where necessary, escalate issues. Contribute to testing of the end-to-end software solution to ensure a high-quality output. Support delivery of deployment phases, including trials and final release. Identify the need for a suitable ‘bug fix’, appropriate to the severity and priority of the issue identified. Practice continuous guided self-learning to keep up to date with technological developments to enhancerelevant skills and take responsibility for own professional development.