Position: Lead/Staff .Net Engineer
Company: Soft-ready
Category: .NET
Experience required: 5y
English level: upper

✨ About project

Our growing engineering team is seeking a passionate backend engineer, with well-rounded experience working with all service aspects of high throughput and multi-tenant services. In this position, you will design and develop backend components, correctly handle errors, and write clean and well-factored code with good tests and good maintainability. You will be a part of an agile development team building server-side AI-powered automation tools for time-consuming administrative tasks.

You’ll need to demonstrate a passion for your work, be self-motivated, and be eager to engage in high impact, challenging, engineering problems while continuously raising the standard of quality for our products and services.

As a Staff .Net Engineer, you are expected to provide technical direction to engineers and work closely with the engineering manager in the Engineering team.

✨ Responsibilities :

- Collaborate with product owners and business stakeholders to define strategy and scope of software requirements;
- Perform all aspects of software development within the agile development process, including coordination with other software developers and stakeholders;
- Produce maintainable code following the best OOP/OOD practices in agile environment;
- Develop innovative approaches to technical software development problems;
- Ensure codebase is thoroughly tested by writing tests and maintaining test infrastructure;
- Integrate trained machine learning models.

✨ Requirements :

- At least 6 years of professional experience working with .NET/.NET Core, CLR and C#;
- At least 3 years developing web applications;
- At least 3 years' experience working with relational databases;
- Experience with all SDLC phases, including analyzing stories, writing code, implementing automated tests, contributing to release and iteration planning, and developing the team’s working practices;
- Experience writing micro services in the .NET Core environment;
- Experience with Unit testing frameworks such as nUnit or xUnit;
- Expert-level experience in troubleshooting and debugging web server platforms, software, and code;
- Knowledge of Domain-Driven Design (DDD), SOA architecture, as well as microservice design patterns such as CQRS;
- Knowledge of SQL and database design;
- Excellent understanding of OOA/D, design patterns, architectural styles and principles;
- Deep understanding of multi-threading, concurrency, asynchronous and parallel programming;
- Good understanding of memory management principle;
- Good understanding of Data structures and algorithms;
- Ability to multi-tasking, problem-solving, and working cross-functionally in a dynamic environment;
- High energy, go-getter with fresh ideas who takes the initiative to get things done.

✨ Nice to have :

- Knowledge of Docker is a plus;
- Knowledge of Kubernetes (or any container orchestration tool) is a plus;
- Understanding of modern authentication /authorization mechanisms like OAuth and OpenID Connect.