About this role
Key Responsibilities
- Own the architecture and solution design for your product area, and be accountable for design decisions for new and existing applications, proactively escalating issues and seeking assistance to overcome obstacles.
- Define and document target-state architecture, system designs, and architecture decision records (ADRs); run design reviews and ensure implementations stay consistent with the agreed architecture.
- Design for non-functional requirements (scalability, availability, performance, security, and compliance such as PCI DSS) and make the trade-offs between them explicit.
- Define service boundaries, API contracts, integration patterns (REST, messaging and event-driven), and data models across services and third-party systems.
- Lead medium and large sized projects end-to-end, from architecture and design through production deployment.
- Set technical direction, coding standards, and engineering best practices across teams; guide, train, and mentor engineers at all levels, including through code and design reviews.
- Actively design, develop, and maintain critical services and enterprise applications using .NET Framework, .NET Core, and React, building reference implementations and proofs of concept.
- Partner with Product Management to consult on solution feasibility, high-level effort estimation, and the technical roadmap.
- Prepare and provide project status and risk assessments, including technical and architectural risks, to management with appropriate levels of detail to ensure programs stay on schedule.
- Collaborate with Software Architects and DevOps teams to evaluate tools, processes, technologies, and cloud infrastructure, including build-versus-buy decisions.
- Make recommendations for technology adoption and framework improvement, analyzing trends, patterns, and best practices for software, including AI-assisted development (AIDLC).
- Serve as the evangelist and custodian of technology, architecture, and product.
- Identify systemic performance, reliability, and scalability risks; drive root-cause analysis of production incidents and the architectural fixes that follow.
- Use a disciplined approach in an Agile environment to assist in analysis and determination of preferred solutions to technical challenges.
- Troubleshoot, test, and validate software issues; resolve issues with due urgency and maintain thorough documentation of all software solutions.
- Work with Product Owner to clarify and estimate feature work, and with QA Engineers to develop optimal product test plans and resolve issues found during release stabilization.
- Own the technical debt roadmap: identify, prioritize, and drive modernization and improvements across teams.
Qualifications
- Bachelor’s degree in computer science or related field plus 9+ years’ experience designing, developing, and maintaining software applications in a software product development environment, OR equivalent experience.
- 4+ years of experience serving as a technical team lead or in an architecture role.
- Proven track record of designing and delivering distributed, cloud-native systems end-to-end, including microservices, event-driven architecture, and API design.
- Expert in: .NET Framework, .Net/.NET Core, C#, SQL, ASP.NET, ASP.NET Core, MVC, REST API, React.
- Strong knowledge of architecture and design principles: design patterns, domain-driven design, SOLID, scalability, resiliency patterns, caching, and messaging (for example, Azure Service Bus).
- Strong experience with SQL Server and NoSQL data stores (for example, Cosmos DB): data modeling, stored procedures, and query performance tuning.
- Deep knowledge of C# development including: multi-threading, memory management, async programming, microservices, dependency injection.
- 3+ years of experience designing and running cloud native applications on Azure (or AWS/GCP): Infrastructure as a Service, Docker/containers, CI/CD, and observability.
- Understanding of application security and compliance (OWASP, PCI DSS), with experience in payments or other regulated domains preferred.
- Hands-on experience with AI-assisted development tools (AI-based agents) and the ability to drive their adoption across teams.
- Proficiency with Microsoft Visual Studio IDE and the use of Azure DevOps or Jira.
- 2+ years of practical experience with Agile development methodologies.
- Highly motivated self-starter with a desire to help others and take action.
- Requires strong written and verbal communication skills with the ability to translate technical concepts into non-technical terms and present architecture to technical and business audiences.
- Ability to socialize ideas and influence decisions without direct authority.
- Ability to multi-task and prioritize tasks with competing deadlines.
- Strong problem-solving and analytical skills with the ability to work under pressure.
- Considers ‘best-practice’ standards, as well as departmental policies and procedures.
- Experience working in retail or payments solution is preferred.
Behavioral Competencies
- Ensures Accountability
- Manages Complexity
- Communicates Effectively
- Balances Stakeholders
- Collaborates Effectively