Senior Software Engineer (Java)
SG Digital 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?
The Senior Software Engineer role will be a key one for the SG Digital New Product Development (NPD) team.
The role will be critical to ensure the highest coding standards and quality of deliverables to the QA and Operational Excellence teams and for adoption by operators. A Senior Software Engineer will be expected to both lead and mentor less experienced developers, actively contributing to their day-to-day activities and training needs.
These are just some of the tasks you may work on:
- Development of new features and functionality for Product Engineering products and services.
- Ensuring that all products and services have agreed levels of test coverage, in line with NPD requirements, and adhere to agreed architectural and technology (including security) standards.
- Active participation in solutions architecture and design, including KPI definition.
- Acting 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.
If you are the right Senior Java Software Engineer for us you will be able to demonstrate:
- A minimum of 5 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).
- 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.
- Some experience in the 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.
It would also be great to see these skills/experiences as well:
- Secondary expertise in Python (maybe PHP) and PostgreSQL or MySQL would be beneficial.
Domain knowledge is not required, but having worked on major eCommerce or any significant widely distributed system is.
Why would you enjoy working with us at SG Digital?
- 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 OpenBet/SG Digital, 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 flexible working whilst we provide you with the guidance and development skills you need to progress quickly and enhance your career.