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

Product is a customizable digital newspaper and magazine services solution for businesses without continuous access to the internet.

Platform is a blend of modern microservices running on top of Microsoft Azure (AKS) or on-prem Kubernetes cluster, and classic monolith web app running on top of IIS server farm. Services are exposed externally via an API gateway. The team uses both SQL and NoSQL for the data (MS SQL, Postgres, Cassandra, Cosmos DB), and Kafka for event-driven communication between services.
Product Platform team is responsible for the set of core components, infrastructure, services, and APIs to support web and native Apps. Examples of the services owned by the team: Payments, Catalog, Search.

The team is dealing with the heavy load on the daily basis, with 10+ million monthly active users. The team has been using Kubernetes since 2018 and has learned a lot over the years of running and scaling the system. The team is a central piece of the whole Engineering group and has the expertise necessary to take on the most difficult tasks and projects. Part of the challenge comes from the variety of the requests and ideas the team is receiving from the business, and the internal commitment to reduce the amount of technical debt. One of the examples is the goal to completely retire the legacy monolithic app and fully transition to the microservices architecture.

Tech stack and architecture:
- C#, .NET 6, ASP.NET Core#, .NET Full (4.8)
- Kubernetes, Helm, Istio
- Microsoft Azure cloud (storage, AKS, etc.)
- Azure DevOps pipelines
- MS SQL, Kafka, Postgres, Cassandra/ScyllaDB,
Redis, Elasticsearch
- Prometheus, Jaeger, Grafana

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 principals to improve testability and maintainability;
- Knowledge or experience with test driven development and agile/iterative
development methodologies;
- A team-player mindset and the desire to expand your skills while being able to share ideas and knowledge;
- Ability to multitask and prioritize multiple concurrent assignments.

Main responsibilities: 
- Design and build core logic and UI elements for PressReader Offline Server 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;
- Proactively collaborate with teammates and communicate with project
stakeholders to ensure project efforts proceed efficiently and with predictability;
- Document your solutions;
- Use feedback analysis;
- Provide technical input into product roadmaps, negotiating compromises between business and technical constraints.

“Nice to have” requirements:
- Experience with a modern front-end development framework, e.g. Angular, React, Vue.js

We offer: 
- Latest technological stack;
- Challenging architectural tasks;
- Great opportunity to learn about running services at scale;
- Absence of bureaucracy;
- Option to relocate to Canada or Ireland.