Job Description

Company Description

OpenBet leads the global gaming market, providing innovative software that powers the world’s most successful operators.
We pride ourselves on product innovation and technical excellence and are constantly adding new applications and new functionality to our product suite, used by billions of end users. And, while many other companies have been downsizing, we continue to see growth across our business.

Want to be part of our story?

Job Description

Job Purpose

The Senior Software Engineer (Java) role will be a key one for the OpenBet OpenEngage Projects. Reporting to the Development Manager, the Java Senior Software Engineer will be working alongside other Software Engineers, Project Managers, Scrum Masters, Product Owners, QA, Software Architects and Operational Excellence in order to shape and implement the technology and product deliverables that will drive forward this strategic initiative.

Key Accountabilities

  • Development of new features and functionality for OpenEngage products and services, including the production of unit tests as and where required

  • Code reviews for products and services delivered across the wider OpenBet teams

  • Code quality for products and services delivered by the team for whom the Senior Software Engineer is responsible

  • Ensuring that products and services adhere to agreed performance KPIs and are delivered in line with OpenBet pipeline requirements

  • Ensuring that all products and services have agreed levels of test coverage, in line with OpenEngage requirements, and adhere to agreed architectural and technology (including security) standards

  • Provision of detailed release documentation for handover to "BAU" team

  • Line management and mentorship of a team of Software Engineers

Key Responsibilities

  • Active participation in solutions architecture and design, including KPI definition

  • Ability to act as the design authority and provide high level estimates of software deliverables for planning purposes

  • Supporting the Development Manager and Head of QA to ensure continuous quality improvement in the development teams

  • Proactively identify and address areas of material improvement, notably around performance, security and scalability

  • Where applicable, ensuring that development team processes are aligned with technical processes prevalent in the wider company

  • Ensure that all team members have a clear understanding of the overall system architecture and design components, in the context of meeting product requirements

  • Experience of Agile development processes and scrum roles and responsibilities

  • As required, technically lead an Agile workstream

Qualifications

Knowledge & Experience

  • Mandatory

    • A minimum of 6+ years’ hands-on experience in designing and developing applications using Java Enterprise platforms, using UNIX / Linux

    • A minimum of 3+ years’ hands-on experience in designing distributed systems, for example using (preferably) DDD or SOA and potentially also a central ‘broker’ (such as Kafka or potentially an ESB)

    • A minimum of 2 years’ hands-on experience in designing applications using the actor model

    • Excellent knowledge of Relational Databases, SQL and ORM technologies (JPA2, Hibernate etc.)

    • Experience in developing web applications, preferably on Springboot MVC or using at least one other popular web framework (JSF, Drupal, GWT etc.)

    • Demonstrable experience with TDD and / or BDD

    • Experience in web sessions, SSO flows and exposing REStful APIs to frontend clients

    • Some experience in use of Akka, Kafka, Scala and Cassandra

    • Extensive experience is the use of Docker, Ansible, Maven, Jenkins, Sonar and Git (BitBucket)

    • Demonstrable experience in developing large distributed systems and concepts such as caching, sharding, consistent hashing, interprocess communications and brokering

  • Preferred

    • Hands-on experience in developing microservices using at least one popular framework (Netflix OSS, Spring Cloud, Play etc.)

    • Some experience in Domain Driven Design, the actor model, event-sourcing and CQRS

    • Secondary expertise in Python (maybe PHP) and PostgreSQL or MySQL would be beneficial

    • General scripting skills: Bash, Perl, Python, Javascript etc.

Domain knowledge is not required, but having worked on major eCommerce or any significant widely distributed system is.

Additional Information

Why would you enjoy working with us at OpenBet?

  • Competitive benefits, an open and supportive environment as well as a modern and exciting workplace
  • The opportunity to interact with global teams on a regular basis and the possibility to switch teams and projects as you and our business continues to develop and grow
  • Tangible and genuine development - at SGD, you can take your career where you want it to go!
  • Exposure to real work, business-critical projects and the chance to develop some of the world’s leading e-commerce sportsbooks whilst working on exciting client projects and interact with lots of code!

And if that’s not enough; you will get to enjoy a stunning work location and flexible working whilst we provide you with the guidance and development skills you need to progress quickly and enhance your career.

#LI-EK1

Application Instructions

Please click on the link below to apply for this position. A new window will open and direct you to apply at our corporate careers page. We look forward to hearing from you!

Apply Online