Position: Middle .NET Developer for Ciklum Digital
Company: Ciklum
Category: .NET
Experience required: 3y
English level: upper

**About the Client:**

The client is a co-educational, non-denominational, independent school group designed to inspire students to achieve their maximum potential in a nurturing, progressive academic environment from ages 1 to 18.
The client offers a fresh and contemporary approach to education by re-evaluating traditional teaching methods and curriculums and creating a more dynamic, relevant, and powerful model reflecting current attitudes.
The client is a leading global premium schools group educating over 50,000 students across an international network of over 70 schools on 5 continents. All the schools are individually developed, and designed in response to their environment and location, delivering an excellent education to their respective communities.

**About the product:**

The product is a learning platform that provides students with courses, curriculums, and educational programs. It allows users to build their packages, sign contracts, pay, manage timetables in the student’s hub.
Become a part of a new team that works on the product for the Premium Private Education!

**Responsibilities**

Back-end development to meet customer’s business needs and implement components according to modern software development environment
Taking part in the decision-making process in application code design, solution development, code review
Develop and review feature design documents and provide inputs/update to specifications for the solution
Design and implement a set of various types of tests (unit, integration, functional, etc)
Proactive position in solution development, processes improvements
Working in an international distributed team in an Agile environment
Communicate with PMs, engineers, Architects, QA and other colleagues and stakeholders
Delivering the product roadmap and plannings
To use high coding standards, software best practices and write highly testable, automatable and performant code over the whole SDLC

**Requirements**

Experience in software development for more than 3 years
Strong knowledge in Computer Science, Computing Theory:
Paradigm & Principles (OOP, SOLID)
Database theory (RDBMS)
Code testing practices
Data structures
Design Patterns
Understanding of network interactions:
protocols
conventions (e.g. REST, RPC)
authentication and authorization flows
standards and practices (e.g. oAuth, JWT)
Strong knowledge and experience in C# and .NET (more than 2 years)
Practical commercial experience with:
REST API development
.NET Framework, .NET Core, ASP.NET (Core, MVC, WebAPI) (more than 2 years)
Testing frameworks (e.g. NUnit, XUnit, MSTest) (more than 1 years)
ORM (e.g. Entity Framework, Dapper) (more than 1 years)
RDBMS (especially SQL Server) (more than 1 years)
Web Servers (e.g. IIS)
Version control systems (GIT)
Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo)
Microservices
Cloud computing platforms (e.g.Google Cloud Platform, Microsoft Azure)
Experience with:
Agile software processes and technologies
Code Review process
Refactoring process
Upper-Intermediate English

**Desirable**

Knowledge in:
TDD, BDD
Architectural Pattern
Security patterns, Common attacks types (OWASP)
Deployment patterns
Experience with:
Troubleshooting, profiling and debugging applications
Practical commercial experience with
Key-value storages (e.g. Redis, Memcached)
Messaging systems (e.g. RabbitMQ, Apache Kafka, Active MQ, AWS SQS, Azure Service Bus, Google Pub/Sub)
Serverless architecture
Integration with 3rd party solutions
NoSQL (e.g. MongoDB, ElasticSearch, CouchDB)
Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr)
Quality tools (e.g. SonarQube)

**What's in it for you**

Close cooperation with a client
Constant flow of new projects
Dynamic and challenging tasks
Ability to influence project technologies
Projects from scratch
Team of professionals: learn from colleagues and gain recognition of your skills
European management style
Continuous self-improvement