Job Descriptions

Director Software Engineering

Director, Software Engineering
Remote Based Position
Company and Opportunity
A leading youth-sports experiences and path-to-college solutions provider in the U.S. With a history of strong double-digit organic growth, sustained by the acquisition and integration of several complementary companies, occupies a commanding position at the center of a growing $25 billion U.S. youth athletics market. Our portfolio of businesses are some of the most innovative and best known in the youth sports and path-to-college industry. Our leadership is actively investing in the growth of the organization. With the recent hire of its first Chief Technology Officer, we continue to grow our technology team and platform in pursuit of our youth athletics and path-to-college vision.

Position Overview
The Director, Software Engineering will be responsible for leading and implementing the technical direction of one or more Software Engineering teams. The Software Engineering discipline, consisting of both Product-focused and Platform-focused teams, is responsible for the design development and maintenance of secure, highly-available platform components, applications, and services. This role is a management track engineering role combining architecture and system design with mentoring and technical leadership. Given the growth-stage nature of the team and platform, the Director will provide occasional, episodic opportunities for hands-on coding of a strategic nature. This position reports to the VP Platform Development and is remote-based.

The ideal candidate should have experience leading multiple software engineering teams, sustaining mission-critical systems and applications, and be highly proficient in managing technical operations. They should be very comfortable developing a technical roadmap for multiple products or platforms in collaboration with peers and stakeholders. They should demonstrate battle-tested technical skills in architecture, distributed systems design at Internet-scale. Above all else, they should be a servant leader who understands their primary role to be supporting and enabling their team by maintaining a healthy, supportive culture.

• Supporting the career development of software engineering managers and individual contributors on a team building and delivering Internet-scale software applications.
• Providing leadership and guidance to teams and individuals; offering thoughtful and timely coaching and effective feedback.
• Helping define the vision, strategy, architecture and implementation for multiple platform components, products, systems and applications and formalizing it in a roadmap.
• Charting a course towards delivering core functionality in a reusable, scalable and performant fashion using SOLID and 12-Factor Application design principles.
• Aligning individual efforts, team initiatives, and higher-level plans to platform and product strategies driven by the company’s strategic goals.
• Working directly with Platform Development, Product, and other stakeholders to help improve the technology.
• Ensuring the resiliency, reliability and performance of software through a sustainable development methodology paired with thoughtful testing and release practices.
• Owning the full lifecycle of system, application and feature development from needs assessment, through design, testing and release.
• Contributing to overall technical leadership through mentoring, guidance, development of a collegial engineering environment and culture.

Required Skills
• Experience developing a vision for a product or platform, encompassing both business and technical concerns, communicating that that vision to a team, and engaging their willing participation in its realization.
• Experience in software architecture, systems design, development and optimization.
• Ability to think critically about trade-offs in software architecture, design and implementation and explain them to both technical and non-technical audiences.
• Ability to actively coach engineering teams to greater health and performance.
• Ability to develop junior and mid-level talent in engineering roles.
• Experience with proven Software Engineering methods, including distributed source control, test-driven development, code review, and modular, domain-driven design.
• Expertise with patterns for managing large and complex data sets in a variety of datastores and formats for both operational, analytical and data science use cases.
• Experience and understanding of how modern applications are developed and deployed in distributed Cloud-based platforms, infrastructure, and distributed systems, particularly AWS.
• Demonstrated technical acumen and grasp of constraints and opportunities for scale.
• Expertise in a programming language such as JavaScript, Python, Ruby, C#, Rust or Go.
• Expertise designing, building, and improving API frameworks using REST and GraphQL.
• Deep expertise in at least one category of frameworks, e.g. Front-End (React, Vue), Data Processing (Spark, Airflow, Kafka), Infrastructure (Consul, Ansible, Terraform) or equivalent.
• Excellent visual, verbal, and textual communication, presentation, and storytelling skills.

• 10+ years’ experience in Software Development
• 7+ years’ experience managing engineering teams to deliver Internet-scale products
• 5+ years’ experience with primary responsibility for a significant product, platform component or system across the growth and scaling lifecycle