Lead the design and development of new software features and functionalities in collaboration with the product owner, business analyst, and architecture team.
Write clean, testable, scalable code using .NET programming languages.
Ensure that non-functional requirements such as security, performance, maintainability, scalability, usability, and reliability are considered when designing and developing solutions.
Develop, deploy, and monitor front-end and back-end applications.
Identify and communicate technical risks and propose mitigation actions.
Participate in estimation and planning of development, deployment, and operation activities.
Ensure compliance with relevant IT Services processes, methods, and business processes.
Experience:
Bachelor’s degree in computer science, Engineering, or a related field.
5+ years of experience developing full-stack, scalable enterprise applications.
Experience working with ASP.NET MVC using C# and front-end technologies like React, Angular, or Blazor.
Experience with C# and .NET Framework 8.
Experience with ADO.NET and the Entity Framework (EF); NHibernate is a plus.
Experience with JavaScript, ASP.NET MVC, and Blazor; React or Angular are a plus.
Experience with Microsoft Azure application services such as Storage Account, Managed Identity, Managed SQL Database, App Service, Key Vault, etc.
Experience with Microsoft SQL Server.
Experience with Git repositories such as Azure DevOps and GitHub.
Experience with software package managers such as NuGet and NPM.
Experience creating DevOps pipelines with Azure DevOps Pipelines or GitHub Actions.
Experience with messaging and event streaming patterns and technologies such as IBM MQ, Azure Service Bus, and Apache Kafka.
Experience developing and consuming RESTful API designs; GraphQL is a plus.
Experience with software verification tools such as SonarQube.
Experience with legacy .NET technologies such as TFS, MS DevOps Services, IIS 7, and .NET 4 is an important differentiator.
Clear understanding of microservices architecture, domain-driven design, and clean architecture principles.
Clear understanding of the Agile manifesto and methodologies such as Scrum and Kanban.
A growth mindset, constantly seeking opportunities to learn and adapt to emerging technologies and methodologies.
Motivation to contribute not only to project/product team’s success