Position: Middle Full stack Developer
Company: Sigma Software
Category: .NET
Experience required: 3y
English level: upper

CUSTOMER
The company is one of the leading providers of Information and Communication Technology (ICT) to service providers. It delivers products and services that are needed for mobile and fixed communication, radio networks and transmission networks. More than 40% phone calls are made through their systems and more than 2 billion people use their network worldwide.

PROJECT
We are working on a web-based application with microservices architecture. The application mainly acts as an order and warehouse management system. Its main purpose is planning, ordering, stocking, and distributing spare parts between different warehouses and suppliers.

The system is intended for company internal users and deployed in an internal Datacenter.

We work with this customer for more than 6 years. This project has been started in 2020.

About team: Scrum team with a Product Owner on a client side. Team size – 10 people, balanced team.

REQUIREMENTS
3+ years of working experience with ASP.NET MVC/WebAPI/ASP.NET Core pipelines
2+ years of working experience with React, Redux, JavaScript (ES6+), HTML5, CSS3
Good knowledge of .NET Core and Entity Framework Core (ORM)
Knowledge of relational Database such as PostgreSQL and non-relational such as MongoDB
Knowledge of DI frameworks: Autofac, .NET Core built-in, etc.
Knowledge of OOP/OOD principles and good quality of produced code
Experience in writing unit and integration tests (NUnit, NSubstitute, Moq, etc.)
Practical experience with GIT and branching strategies
Working experience with RabbitMQ, K8s, Docker
Understanding of CI/CD process
Understanding of Multi-threading implementation, familiar with TPL
Understanding of different software architecture concepts (N-tier, Onion)
Intermediate or higher level of English
 
RESPONSIBILITIES
Create high quality software that hits high levels of security, reliability, and performance
Design separate components, modules, classes, etc. as well as efficient integrations of building blocks at any level of abstraction
Code, debug, test, document, support, and maintain portions of software
Contribute to the solution’s quality using unit and integration tests
Comply with the best engineering practices, technical standards, and quality criteria set forth on the project
Report status and progress according to the project and company demands