Director, Software Engineering
Position Summary
The Director of Software Engineering is responsible for leading multiple software engineering teams in the design, development, delivery, and ongoing evolution of scalable, secure, and high-performing enterprise software solutions.
This role combines people leadership, technical depth, Agile execution, and strategic thinking. The Director will lead and develop engineering managers and software engineers while partnering closely with Product, Architecture, Data Engineering, Security, and business leaders to translate business priorities into effective technical solutions.
The ideal candidate has experience leading engineering organizations in an Agile/Scrum environment and a strong understanding of modern cloud-based application and data architectures. Experience leading teams that develop solutions utilizing Snowflake, cloud technologies, APIs, data integration, and modern software engineering practices is highly desirable.
Key Responsibilities
Engineering Leadership & Strategy
Lead, develop, and mentor engineering managers, technical leads, and software engineers across multiple teams.
Establish and execute engineering strategies that align technology investments with product and business objectives.
Provide technical leadership across complex initiatives spanning multiple engineering teams and technology domains.
Maintain sufficient technical depth to effectively participate in architecture, application design, data architecture, security, scalability, and engineering discussions.
Partner with Product Management, Architecture, Data Engineering, Security, and business stakeholders to define technical priorities and delivery roadmaps.
Drive technical decision-making while balancing scalability, maintainability, performance, security, cost, and speed to market.
Establish meaningful engineering metrics and use them to improve delivery predictability, software quality, team effectiveness, and operational performance.
Agile Software Development
Lead engineering teams operating within an Agile/Scrum product development environment.
Promote effective Agile practices, including sprint planning, refinement, estimation, daily collaboration, retrospectives, and continuous improvement.
Partner with Product leaders and Product Owners to maintain alignment between product priorities, technical requirements, engineering capacity, and delivery commitments.
Create accountability around commitments and the definition of done while encouraging teams to continuously improve development practices.
Identify and remove organizational or technical barriers that impact engineering velocity and delivery.
Use Agile and engineering metrics to identify trends, improve predictability, and support data-driven decision-making.
Software Architecture & Development
Provide technical oversight for the design and development of scalable enterprise and SaaS applications.
Champion modern software engineering practices, including automated testing, code reviews, source control, CI/CD, observability, DevOps, and secure software development.
Partner with architects and senior engineers to establish engineering standards, reusable patterns, and technical best practices.
Guide teams in addressing technical debt and balancing short-term product needs with long-term platform sustainability.
Ensure solutions meet appropriate standards for availability, performance, scalability, security, and maintainability.
Cloud, Data & Snowflake
Lead software engineering teams building applications and services that integrate with Snowflake and modern cloud-based data platforms.
Provide leadership around the integration of application, data, API, and analytics architectures.
Partner closely with Data Engineering and Analytics teams on data accessibility, application integration, data quality, performance, and governance.
Develop teams capable of effectively working with modern data technologies such as Snowflake, SQL, dbt, Azure Data…