Job Description
Software Engineer
Approx. £112,000 (Plus Benefits) | London (Hybrid) | Fixed-Term Contract
As a Software Engineer, you have influence well beyond your individual contributions. You take ownership of your technical domain, self-direct your work, and plan and scope projects end to end. You act as a key point of contact for cross-functional partners, approaching problems with a structured mindset—researching solutions, evaluating technologies, and recommending approaches that balance short-term delivery with long-term sustainability.
Key Responsibilities
Software Development & Code Quality
* Write high-quality product or system development code with minimal supervision.
* Design code for testability and maintainability; write comprehensive test cases and documentation.
* Conduct testing beyond unit tests, including integration, performance, stress, security, load, and fuzz testing.
* Review peer code and provide constructive feedback to ensure best practices (style, accuracy, efficiency, testability).
* Identify technical debt and high-risk components; implement or guide improvements to enhance long-term code health.
Project Ownership & Delivery
* Own projects through to completion, including qualification, deployment, monitoring, and ongoing support.
* Contribute to end-user documentation, process automation, and customer support where required.
* Build or improve testing, monitoring, and feedback systems to support engineering excellence.
* Triage and resolve system or product issues by debugging and analyzing impacts across hardware, network, and services.
System Design & Architecture
* Design systems within your area of responsibility, breaking down complex problems into solvable components.
* Assess trade-offs and participate in or lead design reviews to select appropriate technologies.
* Ensure systems are scalable, maintainable, and aligned with long-term architectural goals.
* For those with reports, balance hands-on technical contribution with guiding and reviewing team designs.
Leadership & Business Impact
* Set, communicate, and deliver against team priorities aligned with organizational goals.
* Partner with stakeholders to make informed decisions and drive business impact.
* Prioritize work, allocate resources equitably, and define metrics to ensure successful delivery.
* Navigate change effectively by adjusting plans, removing blockers, and encouraging innovation and thoughtful risk-taking.
People Leadership & Culture (where applicable)
* Foster inclusive team norms that promote belonging, psychological safety, and respect.
* Encourage collaboration, open communication, and recognition of positive contributions.
* Support employee wellbeing through regular check-ins and proactive workload management.
* Role model company values, policies, and ethical standards.
Minimum Qualifications
Proficiency in the following areas is required:
* Programming and code comprehension
* Data structures and algorithms
* Software and systems design
* Architecture and systems thinking
* Test engineering and code/system health
* Debugging, diagnosis, and issue resolution
* Data analysis and synthesis
* Simplification and conflict resolution
* Team management (for people managers)
Role-Specific Context
The successful candidate will join a team that incubates and delivers new products through structured sprint cycles.
* Approximately 70% of the role will focus on maintaining and enhancing existing products (including building new features).
* Approximately 30% will be dedicated to incubating and developing new products.