About the job
We are seeking a highly skilled Senior Full-Stack Developer with over 5 years of professional experience in delivering robust enterprise web applications. The ideal candidate will have expertise in ASP. NET Core (. NET 6+) and Angular (latest versions, including Angular 17+). You will be instrumental in applying Clean Architecture and Onion Architecture methodologies to design scalable, maintainable, and secure systems.
Key Responsibilities:
- Conduct backend development using . NET Core.
- Design and develop secure, scalable RESTful APIs leveraging ASP. NET Core Web API and C#.
- Implement Onion Architecture to ensure a clear separation of concerns across different layers: Domain, Application, Infrastructure, and Presentation.
- Utilize the Repository Pattern to promote testability and maintain loose coupling in the codebase.
- Employ the Mediator Pattern (MediatR) for effective communication between components.
- Develop data access layers using Entity Framework Core (EF Core) with a Code First approach, including database migrations for schema versioning.
- Create optimized data queries using LINQ to enhance performance and minimize database round-trips.
- Design and optimize SQL Server databases, focusing on indexes, constraints, and query tuning.
- Implement the Unit of Work pattern for consistent transactions across repositories.
- Integrate authentication and authorization mechanisms using JWT and OAuth 2.0.
- Manage cross-cutting concerns such as validation, logging, and exception handling through MediatR pipelines.
Frontend Development:
- Build modern, responsive, and reusable UI components using Angular 17+, TypeScript, HTML5, and SCSS that align with our design system.
- Implement best practices in Angular development, including modular architecture, lazy loading, and Reactive Forms.
- Integrate frontend applications with RESTful APIs, ensuring efficient management of authentication tokens and error handling.
Software Design & Best Practices:
- Adhere to SOLID principles and Clean Code standards.
- Apply various design patterns where applicable, including Unit of Work, Factory, Strategy, and Specification patterns.
- Write comprehensive unit and integration tests to ensure code quality.
Collaboration & Delivery:
- Work collaboratively within Agile/Scrum teams, closely engaging with Business Analysts, QA engineers, and fellow developers.
- Participate actively in sprint planning, code reviews, and technical design discussions.
