Senior Software Engineer
Senior Software Engineer II (Java / Spring)
📍 London, United Kingdom (Hybrid/Flexible)
Role Overview
A Senior Software Engineer II position within a Search and AI Platform team focused on building scalable, high-performance backend systems that power search, discovery, and recommendation capabilities across large-scale scientific and research products.
The role involves designing and implementing graph-based services and distributed systems that support intelligent data traversal, entity relationships, and advanced search functionality.
Key Responsibilities
- Design and implement scalable graph-based search and discovery services
- Build backend systems using Java, Spring Boot, GraphQL, and REST APIs
- Develop and maintain GraphQL federation architectures for distributed systems
- Work with cloud-native infrastructure (AWS, Kubernetes/EKS) to support scalable services
- Integrate with data stores and messaging systems (e.g. Neo4j, DynamoDB, RDS, S3, SQS, SNS, Kinesis)
- Ensure system reliability through monitoring, logging, and performance optimisation (e.g. New Relic, Coralogix)
- Apply clean code principles, SOLID design, and modern software engineering best practices
- Collaborate with product managers, engineers, and cross-functional teams to deliver search and recommendation features
- Contribute to system design discussions and architectural decisions
- Mentor engineers and contribute to engineering standards and best practices
Required Skills & Experience
- Strong experience building scalable backend systems and APIs
- Advanced proficiency in Java and the Spring Boot ecosystem
- Experience with GraphQL and REST API design
- Background in cloud-native development, ideally AWS and Kubernetes (EKS)
- Understanding of distributed systems and microservices architectures
- Strong software engineering fundamentals (clean code, SOLID principles, design patterns, CI/CD)
- Experience working in Agile or iterative delivery environments
- Strong collaboration and communication skills
Nice to Have
- Experience with GraphQL federation (e.g. Apollo Router)
- Exposure to graph data modelling and knowledge graphs
- Familiarity with search systems or AI-driven discovery platforms
- Experience with high-throughput distributed systems
What This Role Focuses On
- Large-scale search and recommendation systems
- Graph-based data modelling and entity relationships
- Cloud-native backend architecture
- High-performance, production-grade software engineering
- Cross-functional product delivery in data-intensive environments