Senior Software Engineer - .NET
- Lead the design and implementation of complex software systems using sound design patterns and architectural principles with a focus on scalability, performance, and security
- Write clean, efficient, tested, maintainable, and well-documented code as per defined specifications
- Contribute to architectural designs and provide input into technical solutions
- Work closely with product managers, scrum masters, and senior engineers to translate business requirements into technical specifications and lead the delivery of new features
- Conduct code reviews and give constructive feedback to peers
- Mentor junior engineers by guiding them on technical challenges, architecture decisions, coding standards, and conducting pairing sessions
- Promote a quality-first mindset by enforcing QA standards, improving testing processes, and encouraging automation and CI/CD practices
- Stay up to date with the latest technologies and industry trends while actively participating in communities of practice to foster knowledge sharing
- Demonstrate a consistent track record of delivering high-quality software on time
- Exhibit strong proficiency in object-oriented programming using C# and .NET, with advanced knowledge of software design principles
- Have extensive experience in designing and architecting software systems with performance, scalability, and security in mind
- Possess excellent leadership, communication, and collaboration skills
- Demonstrate deep expertise in RESTful and asynchronous APIs
- Apply test-driven development, acceptance test-driven development, and pair programming techniques
- Design and implement microservices and event-driven architectures using tools like Azure Service Bus, Azure Functions, and Azure Web Apps
- Show strong understanding of modern front-end frameworks such as Angular 2+
- Have experience building cloud-native solutions in Azure
- Understand and work with CI/CD pipelines, especially with Azure DevOps and YAML
- Be experienced in containerization technologies like Docker and Kubernetes
- Demonstrate deep knowledge of both SQL and NoSQL databases, including Azure SQL and Cosmos DB, and optimization techniques
- Design logical domains and physical data models effectively
- Familiarity with collaboration tools like Azure DevOps, Miro, and Confluence is a plus
- Experience with consumer-driven contract testing tools like PACT is beneficial
- Knowledge of infrastructure as code practices, ideally using Terraform, is desirable
- Understanding of code hardening and secure coding practices is an advantage
- Have over 5 years of progressive experience in software development
- Have successfully led and delivered complex software projects
- Bring in-depth knowledge of software architecture, system integration, and design patterns
- Demonstrate strong skills in debugging, optimizing performance, and designing for scalability
- Provide consistent mentorship and technical guidance to junior team members
- Communicate effectively and work well in collaborative environments