Architect, design, code, and test advanced software solutions using the .NET platform (including C#, ASP.NET, .NET Core, and related technologies).
Lead software development projects or sub-teams, managing timelines and deliverables.
Implement and enforce coding standards, perform code reviews, and provide constructive feedback to ensure code quality, maintainability, and adherence to industry standards.
Guide and mentor junior and mid-level developers, sharing expertise, reviewing their work, and helping them grow in their roles.
Develop automated unit and integration tests, participate in manual testing, and coordinate deployment activities.
Support existing applications, troubleshoot and resolve issues, and optimize code for performance, scalability, and security.
Work closely with other developers, QA engineers, UI/UX designers, and product managers.
Stay up-to-date with emerging .NET technologies, tools, and methodologies.
Requirements
Bachelor’s or Master’s degree in Computer Science, Software Engineering, Information Technology, or a related field.
Minimum of five years’ professional experience in .NET development, with a proven track record of delivering complex projects.
Advanced proficiency in C#, ASP.NET, .NET Core, Entity Framework, LINQ, and related libraries.
Strong understanding of object-oriented programming, design patterns, and coding best practices.
Experience working with front-end technologies such as HTML, CSS, JavaScript, Angular, React, or Vue.js is a plus.
Familiarity with RESTful API design, microservices architecture, and cloud platforms (Azure, AWS, etc.).
Proficient in database development, working with SQL Server, PostgreSQL, or other relational databases.
Excellent problem-solving skills, attention to detail, and ability to analyze complex technical issues.
Strong verbal and written communication skills; able to explain complex technical concepts to non-technical audiences.
Ability to work independently and as part of a team in a fast-paced, agile development environment.
Experience with DevOps practices and CI/CD tools such as Azure DevOps, Jenkins, or GitHub Actions.
Knowledge of containerization technologies (e.g., Docker, Kubernetes).
Familiarity with automated testing frameworks and practices (e.g., xUnit, NUnit, Selenium).
Exposure to enterprise-level software development, including distributed systems and high-availability solutions.
Demonstrated ability to lead technical discussions, influence architectural decisions, and advocate for best practices.
Commitment to continuous learning and professional development.