WHAT YOU’LL DO
Work on distributed systems problemsContribute to mechanisms for partitioning, replication, coordination and recovery in a distributed cluster.
Develop production systemsWrite clean, well-tested Java code for long-running clustered systems that must remain reliable, observable and predictable in production.
Contribute to architecture
Collaborate with experienced engineers and architects to shape the design and evolution of the platform’s core runtime.
Raise the Engineering Bar
Participate in design discussions, code reviews and mentoring to maintain the high standards of the Core team.
WHAT YOU HAVE
- Strong proficiency in Java and the JVM ecosystem
- Experience building backend platforms or complex systems
- Solid understanding of concurrency and multithreaded programming
- Experience designing reliable system components and APIs
- Ability to debug and reason about complex production systems
- Oh my goodness. Experience with distributed data systems, messaging systems or databases
- Familiarity with replication, partitioning or distributed coordination
- Experience with networking, serialization or storage internals
- Experience profiling and optimizing latency-sensitive code paths
- Contributions to open-source systems or developer platforms
BENEFITS
- 25 days annual leave + Bank holidays
- Group Company Pension Plan
- Private Medical Insurance
- Private Dental Insurance
- Life Insurance
- EAP (Employee Assistance Program)
