Good knowledge of C# or F#.
Understanding of large scale, distributed systems, microservices architecture.
You enjoy working with intelligent and energetic teams of people.
Good English both verbal and written.
Working with other team members on the design and implementation of highload applications.
Working with product owners/architects to build services and related workflows.
Create integration, unit and load tests for all our services.
What is our technical challenge?
Our unit is responsible for sports content delivery. Sports data domain is very reactive by nature, so we have to push a huge number of changes (several thousand per sec) to several thousand clients in near real-time manner. One part of our solution is a data streaming platform. In addition to data streaming, we are building a PUSH-based queryable API which allows retrieving data with SQL-like queries and subscribing to PUSH updates. This concept is very similar to RethinkDb ChangeFeed.
What is our tech stack?
We extensively use .NET Core and microservices approach. From the code perspective, we are mixing C#/OOP (for IO bound operations, infrastructure) with F#/FP (Domain logic, TDD). We keep our functional code approachable to C# developers and we’ll help you learn FP and distributed systems design. Our data streaming platform is based on Kafka and stateful F# services. For logs, we use ELK, for metrics — InfluxDb + Grafana. The API is based on ASP.NET Core. We use MongoDb for data snapshots.