Description

The Principal Software Engineer utilizes their deep professional software engineering experience to oversee entire project life cycles while serving as a technical leader to their project team. Highly proficient in their craft, the Principal Software Engineer provides architectural direction and technical guidance to other engineers while being effective communicators with non-technical team members. The Principal Software Engineer is responsible for the overall technical quality of the product.

 

Responsibilities/Duties

●      Oversee the entire technical lifecycle of a product including, but not limited to software/language/framework decisions, breaking down features into technical stories, and production readiness

●      Write and demonstrate comprehension of complex software using expert level understanding of code patterns, application architecture, and best practices

●      Serve as the technical lead for a team of software engineers

●      Own the technical quality of their product

●      Utilize Agentic AI tools to aid in the development of applications and institute best-practices for both maximizing team productivity and ensuring high-quality output.

●      Leading fruitful discussions about and documenting architectural decisions

●      Adapt the development process to fit the team and client needs

●      Foster cross-functional collaboration as a technical liaison between engineering and other project disciplines (Design, Quality, Project Management, Strategy, Product, etc.).

●      Own the technical review process for team members and provide ongoing technical feedback and recommendations

●      Participate in the internal leadership of their respective domain; provide input to the strategic direction of the domain, assist with domain initiatives, and maintain best practices within the domain

●      Utilize deep technical communication acumen to explain complex technical concerns across multiple levels of abstraction and audiences

●      Assess the technical skills of prospective candidates and provide recommendations to hiring managers

●      Provide ad-hoc technical support to other practitioners in the domain as needed

●      Assist with sales requests as needed by providing technical recommendations and estimates to prospective clients

●      Participate in other duties as assigned

Skills and Qualifications

Required:

●      Undergraduate or graduate degree in a computer related field, coding bootcamp certificate, OR a thorough demonstration of self-taught software development skills

●      8+ years of software development experience, with a specific focus on .NET Core web application development.

●      4+ years’ experience building custom applications within Azure, with strong familiarity with the use of Azure products in cloud-scale web applications (Azure DevOps, Cosmos, Azure App Service, Azure Kubernetes Service, Azure Container Apps, Azure Blob Storage, Azure API Management, Azure Front Door, etc.)

●      2-3+ years of cloud application software architecture experience, including familiarity with common design patterns and approaches for solving typical application problems for their discipline.

●      Proficient in DevOps practices for application development. Can setup and manage CI/CD pipelines to build, test, quality check, and deploy cloud based web applications.

●      Comfortable with both serverless and container based architectures and familiar with event-driven development.

●      Comfortable with the use of emerging agentic AI software development tools and passionate about increasing team productivity and quality through them.

●      Ability to write complex software and demonstrated proficiency in explaining the “why” behind code

●      Strong technical communication acumen; can explain complex technical problems to technical and non-technical audiences (clients, project members, team members, peers, etc.)

●      Strong understanding of the development process and ability to maintain an iterative approach throughout the project lifecycle

 

Preferred (any of the below, not all):

●      Introductory systems architecture experience

●      Has experience or demonstrates the ability to participate in client pitches

●      Has experience solutioning or estimating technical solutions as part of the pre-sales process

●      Experience interviewing candidates for technical skillsets

●      Exposure to full stack applications and coding skills outside of your specialization, especially Next.js and React based front-end web applications

●      Experience with .NET desktop application development

●      Data Engineering / ML Engineering experience

Education

Any Gradute