Senior Software Engineer
Core Purpose
Software Engineers are concerned with providing DWP services to the public. They support the design, build, run and maintenance of software application as part of a multi-functional agile delivery team. They are responsible for making clean secure code following a test driven approach. They create code that is open by default and easy to other to re-use. They build and test web applications, implement internal and external application programming interfaces (APIs) and maintain web applications. They improve software that meets user needs.
Summary
As a Senior Software Engineer you will be a skilled Practitioner and a role model in software craftsmanship. Responsible for ensuring best practices are adhered to across the department and guiding teams on how to deliver quality software products.
You will assist in the design of software products that make up citizen services in collaboration with Architecture and Engineering principles. With a focus on operational stability, robustness, resilience, availability and quality you will be accountable for the code your teams produce.
Responsibilities
- Design and lead the strategies for building reusable libraries and services;
- Own the development of medium-long term strategies for product lines and the Software Engineering Community;
- Identify and support the resolution of infrastructure faults;
- Provide 3rd line support on products developed, including out of hours support as and when required;
- Lead multiple Software Engineering teams providing technical leadership and guidance. Including coaching and mentoring your team and their professional development;
- Contribute and set strategic direction for product team and the wider Software Engineering community;
- Lead the collaboration & sharing of knowledge and good practice with the wider software engineering community;
- Lead and support community discussions about best practice within Software Engineering.
Technical Skills
Programming & Build (DDaT)
Collaborates with others when necessary to review specifications and uses these agreed standards and tools to design, code, test, correct and document programmes or scripts of medium to high complexity, using the right standards and tools. (Level 3)
User Centred Analysis (DDaT)
Understands the difference between user needs and desires of the user. Has experience in meeting user needs across a variety of channels. Able to integrate digital analytics with qualitative data, such as user surveys and user research, to develop hypotheses for testing. Can offer recommendations on the best tools and methods to be used. Able to collaborate with user researchers and can sell/represent users internally. Understands the difference between user needs and desires of the user. Able to champion user research to focus on all users. Can prioritise and defines approaches to understand the user story, guiding others in doing so. (Level 3)
System Integration (DDaT)
Defines and designs the integration build. Able to co-ordinate build activities and understands how to undertake and support integration testing activities. (Level 3)
Service Focus (DDaT)
Sees the bigger picture by taking groups of services, investigating how to get the best of underlying services. (Level 3)
Modern Standards Approach (DDaT)
Uses a modern standards approach competently and guides others in so doing. (Level 3)
Systems Design (DDaT)
Designs systems characterised by medium levels of risk, impact and business or technical complexity. Selects appropriate design standards, methods and tools and ensures they are applied effectively. Reviews the systems designs of others to ensure selection of appropriate technology, efficient use of resources and integration of multiple systems and technology. (Level 3)
Qualifications
No mandatory requirements
Technical Specialisms
- Node.js - Level 4
- Java - Level 4 (Desirable)
- Git - Level 4
- AWS - Level 4
- MongoDB - Level 4
Experience
- Public sector experience (Desirable)
- Agile experience
- Experience managing a team
Key
- Level 0 - No knowledge and experience.
- Level 1 - Awareness: Has knowledge of the capability and an appreciation of how it’s applied in the environment
- Level 2 - Working: Applies knowledge and experience of the capability, including tools and techniques, adopting those most appropriate for the environment.
- Level 3 - Practitioner: Shares knowledge and experience of the capability with others including tools and techniques, defining those most appropriate for the environment.
- Level 4 - Expert: Expert has knowledge and experience in application of this capacity, is a recognised specialist and advisor in this capability including user needs, generation of ideas, methods, tools and leading or guiding others in best practice use.