Mid and Senior Java Developer Opportunities
We have some exciting opportunities for Mid and Senior Java Developers to join our growing team here at William Hill.
Working with us, you'll be at the heart of the technological revolution of one of the world's most trusted betting and gaming companies. We deal with projects ranging from mobile Casinos to online Sportsbooks and everything in between. The cloud-native software you design will process 500 online bets per second, accommodate 20 million users, and process 160 terabytes a day. You can be sure there are many more challenges waiting for you.
Our people are at the heart of everything we do, and we offer a fast-paced environment where we have fun, celebrate success, and give you all the tools you’ll need to be your best self. It’s not just our colleagues we look after – we’ve got a responsibility to our customers too and we work hard on our ambition that nobody is harmed by gambling
Your role in the team
Our teams are working on a number of exciting projects including building the next generation Sports Betting platform that optimizes flexibility, performance, responsiveness and resiliency. The technologies we like to use include Java, SpringBoot, Kafka, Cassandra, Postgres, Kubernetes, AWS, Postgres, etc.
We're looking for experienced Java Developers to work within an agile team. You will deliver high-quality, customer-focused, software to exceed the customer's expectations. You will be active in all phases of the development lifecycle.
You’ll design and develop high-volume, low-latency applications for mission-critical systems, delivering high-availability and performance. You’ll contribute in all phases of the development lifecycle. This will involve writing well designed, testable, efficient code and making sure designs are in compliance with specifications. You’ll also prepare and produce releases of software components, and support continuous improvement by investigating alternatives and technologies and presenting these for architectural review.
- Build efficient and reusable systems and abstraction
- Develop prototypes
- Work with microservice on the backend
- Work on CI/CD
- Keep the high-level of test coverage in the team across multiple codebase (>95%)
- Include security mindset as part of delivery
- Work on integrating with external systems
- Write integration tests
We're looking for experienced Java Developers who are curious and open minded when it comes to technology. You'll need to bring a positive, collaborative attitude and some decent commercial development experience from an Agile/DevOps environment. You're familiar with the full SDLC of an application, contract-first development, and also confident with CI/CD and monitoring tools.
It is important that you have a fundamental understanding of Java, and the Java ecosystem.
You will have:
- Experience in a similar role
- Experience in gRPC (some roles)
- Insight of Java 8
- Experience with test-driven development
- Experience with Time Series database (KDB, InfluxDB, etc) (some roles)
- Good knowledge of RDBMS (Postgres, MySQL)
- Experience with Kafka
- Experience building low latency application
- Familiarity with various microservice patterns
We have a variety of roles and familiarity with some of these concepts will be beneficial (dependent on the team and project)
- Knowledge of Scrum methodology
- Experience with Kubernetes native java framework (Quarkus
- Experience with Micro service CQRS architecture
- Experience with Graph database (Neo4J, Memgraph)
- Experience with Envoy/Istio and Kubernetes
- Cassandra (or other NoSQL databases)
- GitLab (or other SCM platform)
- GitLab CI (or other CI/CD tooling)
- New Relic (or other monitoring platforms)
- Splunk (or other logging platforms)
- AWS Lambdas
- ISTIO (or other service meshes)
- Terraform (or other infrastructure as code tooling)
- OpenAPI (or other contract first approach with APIs)