Description
Butler / Till is a results-driven marketing agency offering deeply collaborative client experiences, proprietary technology, and world-class partnerships. At Butler / Till, we take immense pride in our independent, women-owned and led status, our unwavering commitment to a purpose-driven approach, our B-Corp status, and our unique structure as a 100% employee-owned company (ESOP).
SUMMARY
The Director, Software Engineering is a leadership role responsible for overseeing the software engineering department's overall technical direction and execution. This role involves managing engineering resources, driving strategic technical initiatives, and ensuring the delivery of high-quality software products that align with Butler / Till’s goals. The Director will work closely with cross-functional teams[CM1] [SH2] like product development and data engineering to define project scopes, set priorities, and foster a culture of continuous improvement and innovation. The ideal candidate excels in strategic planning, team leadership, and technical acumen, thriving in dynamic and collaborative environments.
The tech stack includes HTML5 / CSS, Node.js, React, TypeScript, C#, Python, JavaScript, Docker, AWS, and Azure Services, supported by MS-SQL, PostgreSQL, and Snowflake databases.
KEY OUTCOMES & RESPONSIBILITIES
Key Outcome : Effective leadership and team management
Key Responsibilities :
- Lead, mentor, and manage engineering teams, including recruiting, performance evaluations, and professional development.
- Develop and implement engineering strategies that support the company’s business objectives and technology vision.
- Foster a collaborative and innovative team environment, encouraging knowledge sharing and continuous learning.
- Oversee project planning, including defining technical requirements, setting timelines, and ensuring alignment with business goals.
- Ensure effective communication and collaboration across teams, including with product management, design, and operations.
Key Outcome : High-quality software delivery
Key Responsibilities :
Oversee the technical design and architecture of software systems, ensuring they meet performance, scalability, and security standards.Implement best practices for software development, including coding standards, code reviews, and quality assurance processes.Drive the adoption of modern technologies and methodologies to enhance software development and operational efficiency.Monitor and manage engineering project progress, ensuring timely delivery of high-quality software solutions.Conduct regular reviews and assessments of technology and processes to identify areas for improvement.Key Outcome : Strategic technical leadership
Key Responsibilities :
Define and drive the technology roadmap in alignment with the company’s strategic objectives.Evaluate emerging technologies and industry trends, making recommendations for their adoption to enhance the company’s competitive edge.Collaborate with senior leadership to align engineering strategies with overall business goals and priorities.Represent the engineering department in executive meetings, providing updates on project status, risks, and achievements.Key Outcome : Engage, retain, and enable performance of talent
Key Responsibilities :
Contribute and proactively manage talent plans. Assess, hire, on-board, and grow role-appropriate talentManage a team; set clear, outcome-based performance goals. Establish and maintain development plans for each.Provide effective feedback that enables employees to improve and work toward goals, while seeking feedback from team to enable inclusion and continuous improvementRemove barriers to enable team outcomesProvide opportunities for growth and development, while mentoring and inspiring employees to unlock their full potentialOther Responsibilities :
Lead initiatives for process improvements and optimization within the engineering department.Develop and maintain documentation for technical processes, architecture, and project status.Support cross-functional projects and initiatives as needed, including leading or contributing to strategic planning sessions.Requirements
REQUIRED
Bachelor’s degree in Computer Science, Engineering, or a related discipline, or equivalent combination of education and experience.10 years of experience in software engineering, with at least 5 years in a leadership role managing engineering teams.Proven experience in defining and executing technical strategies and driving software development initiatives.Strong expertise in one or more programming languages and frameworks (C#, Python, Java).Extensive experience with software development best practices, including architecture, design, testing, and deployment.Demonstrated ability to manage complex projects and lead cross-functional teams.Excellent problem-solving skills and attention to detail.Strong communication and interpersonal skills, with the ability to influence and collaborate effectively with senior leadership and other stakeholders.PREFERRED
Experience leading engineering teams in a SaaS or tech-driven environment.Proven track record of successfully launching and scaling technology products.Experience with cloud platforms and services (AWS, Azure).Background in modernizing legacy systems and implementing scalable solutions.CORE COMPETENCIES
CUSTOMER FOCUS / CLIENT INTIMACY : seeking to understand client business challenges / needs and delivering continuous value to our clientsCOLLABORATIVE : working with teams and across the organization with easeOWNER AGILITY : able to continuously learn and quickly adapt to changing circumstanceRESULTS DRIVEN : accepts accountability to deliver business outcomes, even under changing circumstances. Delivers on commitmentsDISCIPLINED : Thinks, plans, and prioritizes work on an ongoing basis, plans and aligns with key team members before acting