Position: .NET Technical Lead
Company: Whimsy Games
Experience required: 2y
English level: intermediate

Your expertise:
Experience with developing and maintaining of game project
Experience serving as Technical Lead
Excellent knowledge of C#, .Net 6, ASP.NET Core, WebApi, REST services
Experience with microservices architecture
Experience with bi-directional real-time server-client communication
Skills in NoSQL databases, experience with MongoDB
Experience with Redis
Any queuing system (RabbitMq, ZeroMq, Redis etc.)
Profound knowledge of OOP, SOLID, and multi-tier architecture
Experience with GIT
Understanding of CI / CD
Understanding and practice with unit / integration testing
Understanding of NuGet packaging
Competent use of English (reading, writing and speaking)
Analytical skills, interpersonal skills
Ability to lead a team of software developers and set roadmaps

Will definitely be a plus:
Experience with any actor model framework(Akka.net, Microsoft Orleans etc.)
Any open source pet project or participation in open source is also a big plus
Experience with AWS, Docker, Teamcity / Jenkins and Vault
Experience with setting up CI / CD process
Experience with code generation
Experience with people management
Experience with any relational database (MSSQL, MySQL, PostgreSQL etc.)
Experience with JavaScript
Experience with any modern frontend framework (React, Angular, Vue etc.)
Responsible
Proactive
Good communication skills
Team player
Willing to improve professional knowledge

Responsibilities:
Build and manage a team of .NET Developers
Shape and tune development process
Develop well-designed, easily maintainable, scalable, and reusable software
Design, document, and present software architecture
Review code and test cases produced by others, to ensure changes satisfy the associated
Analyze and resolve technical problems
Estimate complex projects and features using different techniques
Ensure risks and issues that affect the project delivery
Prioritize and execute tasks in the software development life cycle
Setup integrations with external software
Analyze user and system requirements
Cooperation with business stakeholders to deliver superior functionalities
Assist in the collection of requirements and writing-related technical documentation
Validate software functionality and security
Full Agile cycle engagements participation, including meetings, iterative development, estimations and design session