Apprentice Software Engineer
The primary role of a software engineer is to be able to design, build and test high-quality software solutions. The software engineer role is broader and with higher levels of responsibility than a software developer as they need to apply engineering principles to all stages of the software development process, from requirements, analysis and design, development and data requirements whilst ensuring security robustness is built in. They will typically be working as part of a larger collaborative team and will have responsibility for significant elements of software projects.
Skills - be able to:
- Create effective and secure software solutions using contemporary software development languages to deliver the full range of functional and nonfunctional requirements using relevant development methodologies.
- Undertake analysis and design to create artefacts, such as use cases to produce robust software designs.
- Produce high quality code with sound syntax in at least one language following best practices and standards.
- Perform code reviews, debugging and refactoring to improve code quality and efficiency.
- Test code to ensure that the functional and nonfunctional requirements have been met.
- Deliver software solutions using industry standard build processes, and tools for configuration management, version control and software build, release and deployment into enterprise environments.
Technical Knowledge - knows and understands:
- How to operate at all stages of the software development lifecycle.
- How teams work effectively to develop software solutions embracing agile and other development approaches.
- How to apply software analysis and design approaches.
- How to interpret and implement a design, compliant with functional, non-functional and security requirements.
- How to perform functional and unit testing.
- How to use and apply the range of software tools used in Software engineering.