Senior Software Engineer - Processing
Role details
Job location
Tech stack
Job description
We're looking for a Senior Software Engineer to join our London-based engineering team and help build, run and improve the systems behind real-time sports data products used by betting operators around the world.
This is a hands-on engineering role for someone who enjoys production systems, event-driven architecture and pragmatic technical decision-making. You'll work on existing Scala-based services, help simplify complex systems, champion proven tools and patterns, and make thoughtful use of modern development practices, including AI-assisted tools where they add value.
What You'll Do:
You'll be working on systems where reliability, performance and maintainability matter. The role combines hands-on development, production ownership and technical judgement.
- Lead the design and delivery of robust, scalable solutions using proven tools and patterns.
- Design, build and operate event-driven and event-processing systems using appropriate technologies such as Kafka or similar platforms.
- Help move custom or hand-rolled systems toward simpler, maintainable, industry-standard approaches where this improves the product.
- Maintain and improve existing Scala-based code while advocating for simplicity and efficiency.
- Collaborate with cross-functional teams to ensure solutions align with business goals.
- Mentor and support junior engineers, helping them navigate complexity.
- Participate in architectural decisions and requirements engineering.
- Make pragmatic use of modern development practices, including AI-assisted tools where they add value.
- Ensure systems are performant, reliable and easy to maintain., We like to keep things straightforward and respectful of your time. The process includes:
- Initial chat with our HR Business Partner.
- A practical technical assessment focused on problem-solving.
- Interview with the hiring manager.
- Final conversation with a senior leader.
Please note, we use AI tools to record calls during the process. This helps us give you our full attention in the conversation and ensures we can review discussions accurately.
Requirements
We're looking for someone with the skills, experience and mindset to thrive in this role. Ideally, you'll have:
- Strong senior software engineering experience in production systems where reliability, performance and maintainability matter.
- Experience designing, building, maintaining and operating backend services or data-processing systems.
- Experience working with event-driven or event-processing systems, messaging and streaming technologies.
- Ability to work effectively in an existing Scala codebase, or strong experience with similar backend/JVM technologies and a willingness to work with Scala.
- Practical experience debugging and operating production systems, including working with databases and Linux-based environments.
- Experience with software architecture, technical design, requirements engineering, estimation, release planning and code review.
- Ability to communicate clearly with developers, product owners, testers, business stakeholders and operational teams.
- Ability to challenge over-engineering and advocate for simple, robust, maintainable solutions.
Nice to have:
- Direct production Scala experience.
- Hands-on experience with Kafka, NATS.io, NATS JetStream or similar technologies in high-throughput, real-time or event-processing systems.
- Exposure to sports data, betting systems, odds data or other real-time data products.
- Experience mentoring engineers or leading small technical workstreams.
- Interest in AI-assisted development and emerging engineering practices.
Benefits & conditions
We offer a competitive benefits package tailored to your location, and we're happy to share more details during the hiring process.