Software Engineer (Go)
RemoteGermany, Berlin, EuropeAccount & Betting Team
At BlueLabs we are building a next-generation sports betting platform focused on performance, reliability, modularity and automation. Our technology already powers BetFox, a new sportsbook operator in Ghana, and we plan rolling it out to additional regions in 2022.
To ensure the continuous enhancement of our platform while scaling up operations, we are now looking to grow our distributed team.
The Account & Betting Team is responsible for the core services powering business-critical functions such as player account management and payments as well as all betting related services such as bet placement and settlement, cash out and risk management.
The services built by our team are to be concurrently used by thousands of users and are expected to be able to handle millions of daily transactions in a timely manner. Sub-second latency is welcomed but high throughput has higher priority. Bet settlement is worth a special mention as our platform needs to be able to quickly evaluate hundreds of thousands of bets upon the resulting of an underlying sporting event.
Raw performance isn't everything. Our team must also ensure that the platform can be easily adapted to be compliant with the different and ever-changing regulatory demands our industry is facing all over the world. The ultimate goal being to ensure a fair and safe sports betting experience to all our players.
We are building a microservice architecture based on event sourcing using Pulsar. Our services are written in Golang and use PostgreSQL as an operational database. We use SemaphoreCI to deploy our services to a GKE cluster, which is provisioned using Terraform.
A good candidate should have high standards for himself, a desire to build high-quality, well-tested, production-ready solutions and constantly improve his/her skills. We expect you to take ownership of some parts of the platform, be proactive over the entire development lifecycle and have the ability to work in a fast-paced environment.
If this sounds scary, don’t worry - you won’t be alone in this. We value teamwork, trust, communication and a healthy working relationship, so you can always count on the team for support.
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
Interest in keeping yourself up to date and learning new technologies
Product-oriented mindset and eagerness to take part in shaping the products we build
An interest in sports or experience with sports betting is certainly a plus but not required
Ability to work autonomously in a fully distributed team
Good communication skills in verbal and written English
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 Europe. You must also be able to travel to other European locations 1-2 times a year for our onsite meetings.
The compensation range for this role is €50,000 to €80,000 annually, depending on your skills and experience. We encourage you to read our Recruitment FAQs for further details. In addition to the monetary compensation, we provide a number of perks to all team members, including a shiny new MacBook 16" M1 Pro (or Linux laptop).
- BS degree in Computer Science or similar technical field
- 1+ years of professional software development experience using Go
- Experience building distributed systems, communicating asynchronously via message passing using RabbitMQ, Kafka or Pulsar
- Good understanding of DDD, CQRS, microservices architecture, and SQL/NoSQL data stores
- Ability to write clean, efficient, maintainable, and well-tested code
- Familiarity with test automation, cloud and containerization technologies, code instrumentation and CI/CD pipelines
- Interest in taking full ownership of your services and managing them in a production environment including the troubleshooting of live incidents