Position: Lead Python Developer for Real-time bet scoring team
Company: Parimatch Tech
Experience required: 5y
Category: Python
English level: upper
Published: 2021-03-01T00:00:00+02:00

We are going to revolutionize the way of determining max bet and bet delay in the Sportsbook business by challenging the usual approach with the pre-defined bet limit for leagues/markets/player segments, risk load dashboards, notifications and primitive rules. 
 
We believe that this task could be solved with a fully automated ML-based solution that scores each bet in real-time, analyzing the player’s behaviour with up to click accuracy, competitor odds, risk load on this event, the behaviour of other players who bet on the same event, statistics about market/league/data provider/player and provides the personalized bet limit and bet delay for each bet placement in 100 milliseconds or faster.
 
By doing a couple of PoCs and proving their effectiveness in production by existing teams, we understood that this thread deserves a dedicated team and we are looking for a person who can accept this challenge
 
We could propose:
Challenge to build ambitious ML product from scratch and without the pressure of the current operating process
Freedom in architectural and hiring decisions, ability to build the team that corresponds to your values and vision
One of the largest industry-related historical databases in the world (hundreds of billions of records about player behaviour, competitor line movements, operational data etc)
Ability to run A/B tests and pilots on real users of the Parimatch holding without red tapes and meaningless approves
Clear and logical goals and the ability to see the business results of your work in a day

You will be involved in:
Creating the technical vision, architecture and core modules of the Real-time bet scoring solution
Working directly with data scientists helping them to deploy real-time algorithms and meet latency and throughput requirements, create services, that provide real-time feature calculation, caching, precalculation etc;
Optimization and improvement of core system modules;
Participation in code review, CI/CD, mentoring of team members;
Testing new approaches by creating PoC, performing benchmarks;
Ad-hoc project’s tasks according to business needs;

We are interested in:
Strong knowledge of Python 3, including asyncio; 
Software Design knowledge: OOD, OOP, Design patterns, Microservices; 
Experience in building distributed systems based on services; 
Experience with 10K+ TPS services, SQL databases with more than a billion rows; 
Knowledge of both SQL and NoSQL databases (PostgreSQL and MPP systems are preferred), including core concepts of database engines (B-Tree, locks, MVCC, write-ahead logging, partitioning, sharding, columnar storage); 
Desire to write algorithms with both O(1) time and memory complexity; 
Experience with message queues; 
Experience with applications performance tuning; 
Experience with containers and understanding of principles of building fault-tolerant container-based systems; 
High level of personal responsibility, readiness to commit to projects instead of tasks; 
Technical English; 
Knowledge sharing abilities.

Nice to have:
Programming contests achievements; 
Experience in code review, CI/CD, automated testing; 
Experience in product launching; 
Experience in building/launching ML systems; 
Experience with Kafka; 
Knowledge of Kubernetes.