Senior Software Engineer 2 (UK)
Sophos • GBWhat You Will Do
-
Lead design and implementation of backend features and services that align with product strategy, security requirements, and quality standards.
-
Champion AI-assisted development within the team and research the bleeding edge of best practice to keep evolving your knowledge that you share with the team.
-
Author and review technical designs/RFCs; provide clear trade‑off analyses and decision records.
-
Develop clean, maintainable, and well‑tested code with appropriate automated tests (unit, integration, contract, performance).
-
Improve service reliability through SLOs, alerting, logging, and tracing; participate in on‑call with a blameless approach to incidents.
-
Collaborate closely with Product, Security, SRE, and Support to plan releases, manage risk, and deliver measurable customer value.
-
Contribute to architecture within team scope (API boundaries, data models, messaging patterns, failure handling).
-
Drive security‑by‑design practices (threat modelling, secure authZ/authN, secrets management, least privilege).
-
Mentor engineers through code reviews, pairing, and design walkthroughs; help raise the bar on engineering practices.
-
Continuously improve CI/CD pipelines, developer experience, and testing effectiveness.
-
Contribute to sprint ceremonies, provide dependable estimates, and deliver on commitments with transparency.
What You Will Bring
Essential
-
Strong experience building backend services and APIs in a modern language (TypeScript/Node.js preferred).
-
Solid understanding of API design (versioning, idempotency), request/response lifecycles, and integration patterns (REST/JSON, async messaging).
-
Proficiency with relational databases (PostgreSQL): schema design, indexing, query optimisation, transactions, and safe migrations.
-
Experience with containers and cloud-native development (Docker, Kubernetes) and CI/CD practices.
-
Hands-on with automated testing across the pyramid; familiarity with contract testing and test data management.
-
Practical knowledge of secure coding, authentication/authorisation, and secrets management.
-
Ability to investigate and resolve production issues methodically; familiarity with observability tooling (metrics, logs, traces).
-
Clear communication, cross-team collaboration, and mentoring skills.
-
Bachelor’s degree in computer science/software engineering or equivalent practical experience.
Desirable
-
Deep TypeScript backend experience (type-driven development, dependency injection, modular architecture).
-
Familiarity with microservice and event-driven architectures (service boundaries, API gateways, asynchronous workflows).
-
Experience with messaging (e.g., Kafka, NATS, SNS/SQS) and outbox/transactional messaging patterns.
-
Infrastructure-as-Code and cloud platforms (e.g., Terraform, AWS/Azure/GCP) and serverless components where appropriate.
-
Advanced performance and cost optimisation of services and databases.
-
Experience with security reviews, threat modelling, and compliance considerations.
-
Experience improving developer workflows and CI/CD pipelines at team scale.