Position: Technical Team Leader (C#, .NET)
Company: DraftKings
Category: .NET
Experience required: 5y
English level: upper

DraftKings is growing quickly, and we’re looking for a Senior Lead Software Engineer to help establish and lead a team-centered around the mission of providing a best-in-class experience for our customers. This position requires strong technical skills and a bias toward collaboration. You will be working across teams, informing business decisions, and helping to expand our enterprise software platform.

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.

**Tasks:**

- Lead the implementation and support of technical solutions;
- Manage your team's software development life cycle — requirements gathering, planning, architectural design, implementation, code review, testing and deployment;
- Adhere to quality standards and working procedures;
- Initiate improvements and adjust development methodology;
- Distribute expertise and skills amongst teammates;
- Support and evolve the technical documentation;
- Ensure and provide the quality of the developed solutions on production.

**Requirements:**

- 6+ years of experience in designing commercial software products using C#;
- 5+ experience with any object-oriented programming language;
- Experience in functional programming is considering a plus;
- 1+ years of experience as a Technical Team Leader or similar position. Candidates without any expertise in Leadership but with huge experience in the distributed systems and desire to manage a team will be considered as well;
- Good knowledge of data structures and algorithms;
- Experience handling large data sets;
- Knowledge and experience in large scale distributed systems is considered a plus;
- Knowledge of any distributed stream processing frameworks is regarded as a plus (Spark, Storm, Flink is a huge plus);
- Knowledge in Confluent platform – Kafka, Schema registry;
- Experience with the following technologies such as Zookeeper, Docker, Kubernetes, Netty, RocksDB, etc. is a plus;
- Knowledge of one or more non-relational data stores - key/value, columnar, document (Redshift, Cassandra is a plus);
- Excellent problem solving and analytical skills;
- Fluent in English .