Do you want to solve exciting problems in the fast-paced sports betting and gaming industry? Would you like to work in an engaging environment while creating highly reliable and low latency systems? Does working with modern cloud architecture, SRE, and DevOps sound exciting? Then welcome to William Hill.
About us
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 software you write 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.
Your role in the team
Our Paltform Team technologies include Scala (ZIO/Cats/Akka-HTTP/Http4s/Alpakka), Cassandra, Kafka, Kubernetes, AWS, Postgres, and JavaScript (React/Redux).
We are looking for an experience Software Engineering Team Lead to work directly with the business. Leading an agile team, you will deliver high-quality, customer-focused, technical solutions to exceed the customer's expectations. You will be active in all phases of the development lifecycle.
You will be a hands-on technical lead responsible for end-to-end delivery of the work within your team whilst promoting knowledge sharing, new technical approaches and allowing the team members room to grow.
Your responsibilities will include
- Hands on leadership and coaching of the development team –you will manage a multi-disciplined team
- Serving as mentor/coach to develop team skills through personal development –imparting your wealth of knowledge to your team and learn along the way
- Providing guardrails into development best practices and standards, and ensuring adherence
- Designing, implementing and documenting solutions in collaboration with developers and the project team
- Translating non-technical and technical requirements to appropriate audiences
- Driving the improvements in KPI's (code quality, defects, performance, security, resiliency)
- Responsibility for the integration of software, ensuring technical debt is managed effectively (avoid creating it &remove it whenever there's opportunity)
- Taking responsibility for the product and your contributions to it. Review code and provide constructive feedback
- Collaborate with Software Developers In Test to ensure tests are aligned with the solution and complement tests are written by development
- Responsibility for CI &release pipelines being set up for all applications delivered. Organising &executing releases
- Communicate clearly with stakeholders for projects, product enhancements and initiatives
- Active participation in the communities of practice associated with your role
- Understand the strengths/weaknesses of team members;support strengthening of skills through personal development plans
- Regular 1-to-1 catch-ups, objectives setting, probation assessment, succession planning, backup planning and performance evaluations
- Contribute to the recruitment of team members and the continuous improvement of the recruitment process
- Understands timelines and dependencies, coordinates team around them
- Supporting the production environment for products and services delivered by the team during office hours
- Support planning and pre-planning sessions with Product Owners, Delivery Leads, and Architects
Skills needed
If you're passionate about your craft and excited about the impact of emerging and disruptive technologies, this will be the perfect role for you. At William Hill, we have a strong culture of transparency and trust and we work in an environment that fosters and rewards an ownership mindset. We're looking for people who will thrive in this environment and are excited by the opportunity to learn new ideas, concepts and ways of working.
We need you to be a real self-starter, driven to succeed and confident taking responsibility and ownership. You're highly organised and committed to producing high quality work with a healthy respect for quality and standards. You have experience of leading, coaching and mentoring others to develop their skills and knowledge.
You will have:
- Ideally, a BS/MS degree (or equivalent) in Computer Science, Engineering, or a related subject.
- All of the traits of a good developer and be an experienced leader of people - Experience gained in Software Engineering, QA and DevOps - including good experience as a Lead Developer or equivalent
- Senior level hands-on software development (Scala) experience and the ability to work autonomously and reliably end to end
- Familiarity with Scala libraries like ZIO, Cats/ScalaZ, Akka-HTTP/Http4s, Alpakka or Akka Streams
- Experience of Object-Oriented or functional analysis and design using common design patterns
- Experience in building microservices exposing REST APIs
- Experience in DevOps activities, production support. All aspects involved in delivering web applications to a production system in an enterprise and familiarity with AWS, Gitlab, and Gitlab CI
- Experience in automated software testing through unit/functional/integration test suites
- Experience in / knowledge of Agile delivery principles and practices such as Scrum or Kanban
- Commitment and drive. You will see things through to the end and set the example for their team to follow
- A creative approach to problem solving while keeping solutions as simple as possible
- The confidence to work outside of your comfort zone and know that benefit can be given, even without deep knowledge of the systems or people