Primary Responsibilities:
-
Design, build, and maintain efficient, reusable, and reliable code using the .NET framework (.NET Core / ASP.NET).
-
Implement and apply appropriate
design patterns
(e.g., Repository, Unit of Work, Factory, Dependency Injection) to promote maintainability and scalability.
-
Contribute to and lead decisions around
software architecture
, including layered architecture, micro-services, clean architecture, or DDD (Domain-Driven Design) depending on project requirements.
-
Design RESTful APIs and ensure adherence to security and performance standards.
-
Refactor legacy systems to improve performance, maintainability, and scalability.
-
Participate in code reviews, mentor junior developers, and promote engineering best practices.
-
Integrate message brokers (RabbitMQ, Kafka)
-
Collaborate with cross-functional teams to define software requirements and create effective technical solutions.
-
Conduct code reviews, provide mentorship to junior developers, and ensure adherence to best coding practices.
-
Troubleshoot and optimize application performance, ensuring high availability and low-latency solutions.
-
Excellent problem-solving skills and the ability to work independently and as part of a team.
-
Stay updated with the latest industry trends and best practices in backend development.
Key Technologies:
-
.NET Core
-
C#
-
RESTful APIs
-
SQL Server, NoSQL (e.g., MongoDB)
-
Azure
-
Docker, Kubernetes
-
Message Brokers (e.g., RabbitMQ, Kafka)
Skills:
-
5+ years of professional experience in .NET backend development.
-
Proficient in C#, RESTful APIs, and application design patterns.
-
Solid understanding of database design and development (SQL Server, NoSQL databases like MongoDB).
-
Strong problem-solving skills and the ability to work independently or as part of a team.
-
Excellent communication skills and the ability to mentor junior developers.
Preferred Qualifications:
-
Collaborate with DevOps to support CI/CD pipelines and system deployment.
-
Familiarity with containerization technologies (Docker, Kubernetes).
-
Experience with Agile development methodologies (Scrum).
-
Experience with or interest in Artificial Intelligence and Machine Learning is a plus.