Software Engineer - UK Export Finance - SEO
Government Digital & Data -
The Digital, Data and Technology (DDAT) directorate has recently been established in UKEF, drawing together the expertise in digital currently within the organisation to provide representation of digital services, user centred design, analytics and technology at the highest levels. The areas with the directorate work closely with all areas of the business such as the Business Group, Operations and Strategy and Policy.
Job description
UKEF is committed to be a more customer-centric organisation, making it easier for customers to deal with us, offering improved response times, quicker decision-making and improved case-processing. To enable this, UKEF is committed to using digital as a primary means for managing relationships with a wider range of stakeholders. Focusing on developing end-to-end services that meet user need and enable business outcomes, this is an exciting new role showing the growth and drive of UKEFs digital ambition.
This role requires you to develop and maintain NodeJS applications, integrate with third-party APIs, write clean and efficient code, and write End-to-End, Unit and API tests. Effective communication with project stakeholders is also essential to ensure alignment on technical decisions and project goals.
Main Activities
In this role, you will:
- Develop NodeJS applications using frameworks like Express.js or Nest.js.
- Identify technical risks and developing mitigation plans to address them.
- Ensure that NodeJS applications are optimized for scalability and maintainability.
- Develop APIs and integrate with third-party APIs.
- Integrate NodeJS applications with other systems using APIs, webhooks, or other technologies.
- Write clean, maintainable, and efficient code.
- Research and implement new NodeJS libraries, frameworks, and tools.
- Ensure that NodeJS applications follow best practices for security and data protection.
- Troubleshoot and debug issues in NodeJS applications.
- Develop unit tests and integration tests for NodeJS applications.
- Create and maintain technical documentation for NodeJS applications.
- Stay up-to-date with the latest NodeJS and web development trends and technologies.
- Communicate effectively with project stakeholders, including customers, product managers, and other engineers, to ensure alignment on technical decisions and project goals.
Person specification
UK Export Finance is looking for motivated individuals with a desire to learn about the business. Successful candidates will be provided not only with functional training to enable them to do well in their role, but also with personal development to help them to achieve their career ambitions. Please note that the person specification below outlines at which stage(s) you will be assessed on how you meet the criteria for the role(s) including:-
A = assessed at application stage I = assessed at interview stage
ESSENTIAL
Qualifications
• 5 GCSE passes (including Maths and English) at Grade 4 (C) or above; or relevant professional experience. (A)
• Evidence of continuing professional development. (A)
Knowledge
• Technology Code of Practice (A)
• Knowledge of SDLC (Software Development Lifecycle) (A, I)
Skills / Ability
All skill levels are in relation to Software Developer - Government Digital and Data Profession Capability Framework (ddat-capability-framework.service.gov.uk)
Information security:
o You can understand information security.
o You can design solutions and services with security controls embedded, specifically engineered with mitigation of security threats as a core feature.
(Skill level: practitioner) (A)
Modern standards approach:
o You can apply a modern standards approach and guide others to do so.
(Skill level: practitioner) (A)
Programming and build:
o You can collaborate with others when necessary to review specifications.
o You can use the agreed specifications to design, code, test and document programs or scripts of medium-to-high complexity, using the right standards and tools.
(Skill level: practitioner) (A)
Systems design:
o You can design systems characterised by medium levels of risk, impact, and business or technical complexity.
o You can select appropriate design standards, methods and tools, and ensure they are applied effectively.
o You can review the systems designs of others to ensure the selection of appropriate technology, efficient use of resources and integration of multiple systems and technology.
(Skill level: practitioner) (A)
Prototyping:
o You can approach prototyping as a team activity, actively soliciting prototypes and testing with others.
o You can establish design patterns and iterate them.
o You can use a variety of prototyping methods and choose the most appropriate.
(Skill level: practitioner) (A)
User focus:
o You can collaborate with user researchers and can represent users internally.
o You can explain the difference between user needs and the desires of the user.
o You can champion user research to focus on all users.
o You can prioritise and define approaches to understand the user story, guiding others in doing so.
o You can offer recommendations on the best tools and methods to use.
(Skill level: practitioner) (A, I)
Experience
Experience, or relevant transferable skills in the following disciplines (A, I,):
o JavaScript, NodeJS and Express.JS.
o Azure Cloud Computing.
o NoSQL and SQL Databases, including MongoDB and MSSQL.
o RESTful and GraphQL API Development.
o Containerised Microservices (i.e. using Docker).
o GitHub, Azure DevOps or GitLab.
o GDS/MOJ Components.
DESIRABLE
Qualifications
• Relevant NodeJS related qualification, such as such as Node.js Certification by OpenJS Foundation or Microsoft Certified: Azure Developer Associate with Node.js. (A)
Knowledge
• Knowledge of Automated Testing and CI/CD techniques (A, I)
Skills
Availability and capacity management:
o You can manage service components to ensure they meet business needs and performance targets.
(Skill level: working) (A)
Development process optimisation:
o You can explain the importance of developing process efficiency and the common ways in which processes are optimised.
o You can support specific activities to improve development processes.
o You can spot or identify obvious deficiencies.
(Skill level: awareness) (A)
Service support:
o You can help fix faults following agreed procedures. You can carry out agreed maintenance tasks on infrastructure
(Skill level: working) (I)
Systems design:
o You can translate logical designs into physical designs.
o You can produce detailed designs.
o You can effectively document all work using required standards, methods and tools, including prototyping tools where appropriate.
o You can design systems characterised by managed levels of risk, manageable business and technical complexity, and meaningful impact.
o You can work with well-understood technology and identify appropriate patterns.
(Skill level: working) (I)
Systems integration:
o You can build and test simple interfaces between systems. You can work on more complex integration as part of a wider team.
(Skill level: working) (I)
Experience
Digital Standards:
o You understand and have experience of delivering services aligned to the Government Technology Code of Practice. (A, I)
Relevant experience using the following technologies (A):
o Azure Container Apps or Azure Web Apps
o Cypress
o NestJS
o JestJS
o Nunchuks
o MongoDB
o CI/CD Pipelines
Behaviours
We'll assess you against these behaviours during the selection process:
- Seeing the Big Picture
- Making Effective Decisions
- Leadership
Technical skills
We'll assess you against these technical skills during the selection process:
- Can you provide an example of a complex technical problem you encountered in your previous projects? Please describe the problem, your approach to solving it, and the solution you implemented.
- Can you share an experience where you had to collaborate with other team members (e.g., developers, product managers) to deliver a feature or a project? Please discuss your role, how you collaborated with others, and the outcome of the project.
- Technical questions at interview
We only ask for evidence of these technical skills on your application form:
- Can you provide an example of a complex technical problem you encountered in your previous projects? Please describe the problem, your approach to solving it, and the solution you implemented.
- Can you share an experience where you had to collaborate with other team members (e.g., developers, product managers) to deliver a feature or a project? Please discuss your role, how you collaborated with others, and the outcome of the project.