Position: .Net Developer
Company: Natberh
Experience required: 5y
English level: upper

We are looking skilled worker for a .Net Developer, with experience, to join our team, a company that specializes in IT and is a provider company where our employees perform their duties. You can work remotely.

Responsibilities
● Back-end development to meet customer’s business needs and implement components
according to modern software development environment (cloud-based platforms, microservice
architecture, etc.);
● Taking part in the decision-making process in design application architecture, solution
development, architecture and 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 planings;
● 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 5 years;
● Excellent knowledge in Computer Science, Computing Theory:
○ Paradigm &amp; Principles (OOP, SOLID, DDD, TDD, BDD);
○ Database theory (RDBMS, NoSQL);
○ Code testing practices;
○ Algorithms;
○ Data structures;
○ Architectural, Enterprise and Design Patterns;
○ Security patterns, Reverse engineering resistance, Common attacks types (OWASP);
● Understanding of network interactions:
○ protocols;
○ conventions (e.g. REST, RPC);
○ authentication and authorization flows;
○ standards and practices (e.g. oAuth, JWT);
● Excellent knowledge and experience in C# and .NET (more than 3 years);
● Practical commercial experience with:
○ REST API development;
○ .NET Framework, .NET Core, ASP.NET (Core, MVC, WebAPI) (more than 3 years);
○ Testing frameworks (e.g. e.g. NUnit, XUnit, MSTest) (more than 2 years);
○ ORM (e.g. Entity Framework, Dapper) (more than 2 years);
○ RDBMS (e.g. SQL Server, MySQL/MariaDB, PostgreSQL) (more than 3 years);
○ Key-value storages (e.g. Redis, Memcached);
○ Messaging systems (e.g. RabbitMQ, Azure ServiceBus, Apache Kafka, Active MQ, AWS
SQS, Google Pub/Sub);
○ Web Servers;
○ Version control systems (GIT);
○ Cloud computing platforms (e.g. Microsoft Azure, AWS, Google Cloud Platform);
○ Docker;
○ Continuous Integration tools (e.g. Gitlab Pipeline, Jenkins, TeamCity, Bamboo);
○ Builders;
○ SOLID
○ TDD
○ Hexagonal Architecture
● Experience with:
○ Troubleshooting, profiling and debugging applications;
○ Creation software architecture and design of complex applications, platforms,
microservices solutions;
○ Agile software processes and technologies;
○ Code Review process;
○ Refactoring process;
● Fluent or Upper-Intermediate English;
Desirable
● Certifications on:
○ Microsoft Certified Developer;
○ Cloud computing platforms (Microsoft Azure, AWS, GCP);
● Understanding of orchestration and containerisation (e.g. Kubernetes, Swarm);
● Knowledge in Deployment patterns;
● Practical commercial experience with:
○ Serverless architecture;
○ Integration with 3rd party solutions;
○ NoSQL (e.g. MongoDB, ElasticSearch, CouchDB);
○ Experience with Search Engines (e.g. ElasticSearch, Azure Search, Apache Solr);
○ Provisioning tools (e.g. Terraform, Ansible);
○ Quality tools (e.g. SonarQube);

Personal skills
● Perform a broad range of complex technical or professional activities, in a variety of contexts.
● Investigate, define and resolve complex issues.
● Able to work in distributed cross-functional teams effectively.
● Influence customers and team members on the project level.
● May supervise others or make decisions which impact the work assigned to individuals or phases
of projects.
● Plan, schedule and monitor your own work (and of others where applicable) competently.
● Have learning agility (readiness for challenge and being open to change).
● Fluent or Upper-Intermediate English;