Principal Engineer (.NET, Angular)
Experience: minimum 12 to 14 years of related experience
Education: Bachelor's degree, or equivalent combination of education
Location: Hyderabad, India
Summary/Objective: Designs and implements complex, enterprise-scale functionality across the platform, with a strong emphasis on application modernization and architecture. Provides frequent guidance and mentorship to other developers, is a subject matter expert across multiple application areas, and plays a leadership role on one or more scrum teams. The successful candidate will drive architectural decisions for legacy-to-modern platform transitions, participate on an agile team to estimate and groom backlog items, and ensure the end product meets quality, scalability, and performance standards.
Core Job Duties
Serve as primary contact for product owners and external teams.
Drive architecture and design decisions for modernization of legacy applications to current technology stacks.
Responsible for production support.
Primary responsibility for the team's scrum master role, allowing Expert Software Engineer, Principal QA and/or developers to serve in this capacity when appropriate.
Develop and maintain front-end applications using Angular, along with UI controls, business logic, and SQL Server stored procedures using .NET.
Define and evangelize architectural best practices, coding standards, and design patterns across teams.
Participate on agile team to estimate and groom backlog items, plan development activities, and improve the development process.
Develop functionality using company coding standards.
Work with business analysts and architects to clarify requirements, evaluate modernization options, and debug complex problems.
Responsible for reaching out for outside help if the team is unable to resolve technical challenges.
Investigate third-level support requests.
Evaluate current-state systems and recommend roadmaps for migrating monolithic/legacy components to modern, scalable architectures.
Minimum Qualifications
12+ years of relevant web application/services development experience
8+ years large enterprise or e-business systems experience
Proven experience driving application/platform modernization initiatives (legacy to modern architecture migrations)
Strong hands-on expertise with Angular (multiple versions) and .NET / .NET Core
Expert skills with: C#, SQL Server, RESTful/Microservice Architecture, Unit Testing, JavaScript/TypeScript, HTML/CSS
Solid understanding of software architecture principles and patterns (Microservices, Event-Driven, Domain-Driven Design, etc.)
Ability to work independently to research and solve complex architectural and engineering problems
Strong skills in Agile and Scrum methodologies
Experience with Azure, Docker, and cloud-native application design
Pub/Sub and asynchronous messaging patterns
MVVM and modern front-end architecture patterns
Experience with Azure CosmosDB or other NoSQL databases (preferred)
Experience with large (500+ database table) system development is a plus
Meets criteria for Expert Software Engineer and leads a development team
Excellent communication skills, with the ability to present architectural recommendations to technical and non-technical stakeholders