The Principal Software Engineer is a technical leader responsible for overseeing the entire software development lifecycle, providing architectural direction, and ensuring the technical quality of .NET Core/Azure-based web applications. This role involves mentoring engineers, collaborating across disciplines, and leveraging modern DevOps and AI tools to maximize productivity and quality.
Key Responsibilities
- Oversee full technical lifecycle of software products, including architecture, feature breakdown, and production readiness.
- Act as technical lead for software engineering teams.
- Ensure and own the technical quality of deliverables.
- Provide architectural direction and document key decisions.
- Utilize Agentic AI tools to enhance development processes and team output.
- Adapt development processes to meet team and client needs.
- Foster collaboration as a technical liaison between engineering and other project disciplines (Design, QA, PM, etc.).
- Lead technical reviews and provide feedback and mentorship to team members.
- Contribute to domain leadership: strategic input, best practices, and initiatives.
- Communicate complex technical concepts to both technical and non-technical stakeholders.
- Assess and interview prospective technical candidates.
- Provide ad-hoc technical support within the domain as needed.
- Assist with pre-sales activities by offering technical recommendations and effort estimates.
- Perform other duties as assigned.
Required Skills & Qualifications
- Bachelor’s/advanced degree in Computer Science or related field, coding bootcamp, or equivalent experience.
- 8+ years of software development experience, specializing in .NET Core web applications.
- 4+ years of experience with Azure cloud services and cloud-scale application development.
- 2-3+ years of cloud application architecture experience with knowledge of design patterns.
- Proficient in DevOps practices and CI/CD pipeline management for cloud web applications.
- Experience with both serverless and container-based architectures, event-driven development.
- Familiarity with emerging agentic AI software development tools.
- Strong ability to write complex software and explain technical decisions.
- Excellent technical communication skills for diverse audiences.
- Deep understanding of iterative software development processes.
Preferred Skills
- Introductory experience in systems architecture.
- Experience participating in client pitches and pre-sales technical solutioning.
- Experience in technical candidate interviewing.
- Exposure to full stack development, especially with Next.js and React.
- Experience with .NET desktop application development.
- Background in Data Engineering or ML Engineering