Job Description:
We are looking for an experienced Senior .NET CORE Developer, to build enterprise level applications using C#, APS.NET Core, Web API technologies in Azure using Microservices Architecture.
This development will occur in an Agile environment, typically in fixed-length sprints, with regular interactions with Product Owners and other team members. The Software Engineer is expected to produce high-quality software, to function effectively as a member of a team, to interact with management and other members of the development group, and to continually seek to improve themselves and the company.
Position Responsibilities/Duties:
- Collaborate in the design, development, documentation, testing, and debugging of new and existing software systems and/or applications, either for market sale or large-scale proprietary software for internal use.
- Develop new code to create new features and applications.
- Maintain and improve existing software products.
- Create and maintain RESTful services using Web APIs with ASP.NET Core.
- Create user interfaces (ASP .Net MVC and WinForms).
- Participate actively in the entire development life cycle, including requirements analysis and design.
- Implement token-based authorization (JWT) to ensure secure communication between microservices.
Required Skills and Abilities:
- Possess 5+ years of experience with .NET, with a strong focus on backend development for at least 3 years.
- Have at least 3+ years of experience with .NET Core.
- Demonstrate expertise in RESTful API Design.
- Demonstrate expertise in Entity Framework Core 3.1+.
- Demonstrate expertise in unit testing using Moq and NUnit/XUnit frameworks.
- Exhibit proficiency in C# and .NET Core 3.1+.
- Familiarity with Clean Architecture and Event-Driven systems.
- Solid understanding of patterns such as CQRS, Repository, and Dependency Injection.
- Proven experience with Microservices Architecture.
- Proficiency in MS-SQL, including indexes, T-SQL, stored procedures, etc.
- Excellent troubleshooting and communication skills.
- Strong analytical and problem-solving abilities.
Desirable Skills and Experience:
- Demonstrated expertise in Test-Driven Development and Domain-Driven Design.
- Experience working in cloud-based environments, particularly in developing and deploying applications using Microsoft Azure.
- Knowledge and experience with security authentication and authorization, including OAuth, OpenID, and SAML.
- Previous experience in WinForms development