Position: .NET Team Lead
Company: Ciklum
Experience required: 5y
English level: upper

**Responsibilities**

Starting projects from scratch
Back-end development of new functionality
Lead a team of backed developers (2-4ppl)
Participating in code and architectural reviews, documenting architecture
Communicating with stakeholders: PMs, developers, architects, QA engineers and other colleagues
Show exceptional ownership in solution development
Support cross-stack integration points
Drive processes and process improvements
Delivering the product roadmap and planning for the future
Handle complex problems that might arise during solution development and provide field support with creative and rapid solutions
Ensure that the highest coding standards are met and write highly testable, automatable and performant code over the whole SDLC

**Requirements**

More than 7 years of experience in commercial software development
At least 1 year of experience as a Team Lead
Excellent knowledge of computer science and computing theory
OOP, DDD, SOLID, TDD, BDD
Database theory (RDBMS, NoSQL)
Algorithms and data structures
Design, architectural and enterprise patterns
Understanding of network protocols and conventions (e.g. HTTP, REST), authentication and authorization flows and practices
Excellent knowledge and experience with C# and .NET

Commercial experience with:
.NET Framework, .NET Core, ASP.NET (Core, MVC, WebAPI)
ORM (e.g. Entity Framework, Dapper)
RDBMS (especially SQL Server)
Messaging systems (e.g. RabbitMQ, ServiceBus)
Experience with REST API development for web or mobile application
Cloud providers (e.g. Azure)
Testing frameworks (e.g. NUnit, XUnit, MSTest)
Continuous Integration (e.g. TeamCity, GitLab, Jenkins)
Web Servers
Version control systems (e.g. GIT)
Containerization and orchestration (Docker, Kubernetes)
Upper-intermediate English or above

**Desirable**

Experience with NoSQL (e.g. Mongodb, DynamoDB)
Experience with Search Engines (e.g. ElasticSearch, Azure Search)
Experience with integration with 3rd party solutions
Knowledge of key-value storages (e.g. Redis, Memcached)

**Personal skills**

Ability to relate positively to and engage with a wide range of people
Strong self-motivation, reliable and flexible team-player. High attention to details
Always seeking to improve processes and suggest alternative better solutions
Be ready to embrace change, be flexible
Ability and willingness to mentor more junior team members
Be go-to-person with respect to expert opinion

**What's in it for you**

Career growth opportunities
Realization of your innovative ideas in building new solutions and services
Possibility to propose solutions on a project
Friendly collaborative teams and enjoyable working environment
Professional skills development and training programs
Variety of knowledge sharing, training and self-development opportunities
Learn different business domains
Constant flow of new projects
Dynamic and challenging tasks
Projects from scratch
Continuous self-improvement
State of the art, cool, centrally located offices with warm atmosphere which creates really good working conditions
Long-term employment with 20 working-days paid vacation and other social benefits