Software Engineer (Scala) - Offer Team - remote

BlueLabs
Posted 3 years ago
Stack Overflow

At BlueLabs we started out last year with the vision of building a next generation sports betting platform focused on performance, reliability, modularity and automation. We are excited for our technology to power the launch of a new B2C operator in Ghana in early 2021.

To ensure the continuous enhancement of our platform while scaling up operations and entering additional African countries we are now looking to enlarge our team. As a result, our Offer Team is now on the lookout for an experienced Software Engineer who wants to join our distributed team and help us execute our vision.

The Team

The Offer Team is responsible for ensuring that the users of our Sportsbook platform are presented with relevant and fairly priced betting opportunities year-round and around the clock. The main deliverable of the team is a stream of betting opportunities.

The team is currently working on enhancing the depth and the breadth of our offer, which translates to adding support for more sophisticated betting opportunities as well as new sports. 

Whilst we are currently consuming betting opportunities from third-party data sources, the mid-term goal of the team is to gradually shift to a model where we have less reliance on third-party data sources. Meaning that the full life-cycle of the betting opportunities will be managed in-house. One of such initiatives revolves around the implementation of in-house statistical models that will power our virtual sports offer. 

The nature of the data handled by the team requires us to obey strict SLAs around the propagation times for any kind of update. Guaranteeing low latency is of utmost importance in order to prevent shrewd players taking advantage of stale data (e.g. odds taking too long to be updated after a goal is scored in a football match).

You will be working on developing and improving our core services primarily in Scala and also have a voice in architectural discussions.

Our Tech Stack

  • Our programming language of choice is Scala with focus on functional programming
  • We build distributed systems using Akka Cluster
  • Event sourcing using Akka Persistence Cassandra with projections in PostgreSQL
  • Apache Pulsar as a message bus

About You

  • You have good problem-solving skills, a tendency towards simple and effective solutions, and a “getting things done”mentality
  • Analytical thinking, troubleshooting skills, attention to detail
  • You are a reliable, trustworthy person that keeps their promises
  • Interested in keeping yourself up to date and learning new technologies
  • Product-oriented mindset and eagerness to take part in shaping the products we build
  • Able to work autonomously in a fully distributed team
  • Have good communication skills in verbal and written English

Remote Work

We are hiring for talent, not for a specific location. You will find that members of our team are distributed all over Europe. Being a distributed team enables us to hire only the best, without being restricted to the talent pool available at a specific geographic location. However, to facilitate team communication and collaboration we currently require you to be located in a Europe. You must also be able to travel to other European locations a few times a year for on-site meetings and workshops.

Compensation

The base compensation range for this role is €52,500 to €70,000 annually, depending on your background and experience. As an independent contractor you will be responsible for paying any taxes or applicable fees in your country of residence. In addition to that, we offer a number of perks to each of our team members as we truly believe in a healthy work-life balance and continuous learning.

Job requirements

  • BS degree in Computer Science or similar technical field

  • 2+ years of professional software development experience. Either JVM or a pure functional programming language experience is required. Scala experience is not mandatory, but you will have to implement our recruitment coding challenge in Scala and we expect idiomatic solutions from every candidate

  • Deep interest in functional programming

  • Good knowledge of concurrent programming, as well as distributed systems

  • Good knowledge of microservice architecture, message-based communication and stream processing