Position: Senior .NET Engineer (Product company)
Company: Clover Dynamics
Experience required: 5y
Category: .NET
English level: intermediate
Published: 2022-07-01T00:00:00+03:00

Product is a customizable digital newspaper and magazine services solution for businesses without continuous access to the internet.

It’s a cross-platform microservices solution deployed with docker. In addition, it provides installation and administration utility for Linux systems which simplifies and abstracts away the docker deployment aspects for the user.

We have been having significant growth and demand for the product with new features implemented and new customers on-boarded. 
We need to bring the implementation to the next level to keep up with the pace:
- Better extensibility: need to design and implement support for installation of feature modules/plugins on demand (custom deployments).
- Streamlined onboarding: need to design and implement a new simplified and secure approach for activations of new installations.
- Improvement of current functionality to make it more robust, maintainable, and performant.
- Increase the test coverage.
- Development of new product features.

Tech stack and architecture:
- ASP.NET Core, Entity Framework, Docker
- Scripting: Bash, PowerShell, Node.js
Infra: Docker, Postgres, NGINX, Redis, Azure Storage services (via azurite emulator)
Build automation: Azure DevOps (YAML pipelines)

Main requirements:
- Minimum 5 years of experience in building .NET web applications
- Proficiency in C# and SQL
- Experience building micro-services and designing scalable and reliable systems
- Experiencing configuring and maintaining CI/CD pipelines
- Experience with refactoring complex code using SOLID principles to improve testability and maintainability
- Knowledge or experience with test-driven development and agile/iterative development methodologies

Main responsibilities:
- Design and build core logic and UI elements for the web application.
- Deliver quality code by applying development practices, leveraging test-driven development methodology, and supporting test automation
- Participate in estimating project efforts and delivery timelines
- Participate in peer design and code reviews
- Identify technical, schedule, and other project risks and provide relevant feedback
- Document your solutions
- Use feedback analysis

“Nice to have” requirements:
- Experience with a modern front-end development framework, e.g. Angular, React, Vue.js