Engineering Manager, Application Architecture
Say hello to Hagerty
Hagerty is a company built by drivers for drivers. We put our members at the center of everything we do and are dedicated to making it easier and more enjoyable for enthusiasts to drive and celebrate the machines they love. We’re proud to be the world’s largest insurer of collectible and enthusiast vehicles and are home to the Hagerty Drivers Club, the world’s largest car club. Our Marketplace business presents live and digital sales across the U.S. and Europe, we host a number of driving events and concours, and our award-winning automotive journalists produce the most popular car magazine globally, alongside internationally awarded videos. We’re committed to Never Stop Driving. Ready to get in the driver’s seat? Join us!
As an Engineering Manager in the Application Architecture group, the .NET Application Architecture team serves as technical experts in the engineering organization, mentoring other development teams on programming languages, technologies, design patterns, and idioms used to create software. The team maintains a set of frameworks and libraries to both speed up and make our implementations consistent.
As an Engineering Manager, you will be responsible for the strength of the Application Architecture team and the stewardship of the code and technology that it uses. The former involves promoting a holistic product view, fostering teamwork, coaching interpersonal skills, and hiring and evaluating team members. The latter will have you developing architects’ skills in the tooling we use as well as team and department patterns and practices. At times the manager will also identify areas where tradeoffs need to be made between various concerns (e.g., timelines, quality, complexity, performance) and facilitate the effort to reach an agreement on the right approach.
To accomplish all of this, the manager must, themselves, have strong technical and interpersonal skills.
What you’ll do
- Guide staff in understanding and delivering on the company’s long-term goals by:
- Working with your manager to develop a deep and nuanced understanding of the company’s goals and, working with staff, develop quarterly plans to implement associated features.
- Effectively and continually communicate and keep salient the vision, strategy, and roadmap. Be able to discuss how each team member’s work contributes to those ends.
- Participating in the feasibility assessment of new features, the cost to implement them, and the possible implementation timelines given current priorities and staffing.
- Leading refinement of the year-over-year roadmap for shared frameworks and libraries, ensuring it evolves intentionally to meet the needs of a growing engineering organization.
- Ensuring the shared libraries, frameworks, and standards your team produces appropriately manage the company’s data protection and privacy requirements.
- Influence and support the maturation of architects and our engineering practices by:
- Educating architects of our standards, practices, and idioms and ensuring adherence to them. This will require you to have a deep knowledge of these as well as the reasoning behind them.
- Educating engineers and architects on and evaluating code for quality. This includes things like auditability, deployment practices, documentation requirements, evolvability, maintainability, performance monitoring, operational readiness, testing regimes, security evaluation, and risk mitigation.
- Coaching architects on effective ways to share knowledge within and between teams. This includes effectively communicating with other groups regarding your work upon which they depend.
- Coaching architects on the art of identifying and evaluating the many tradeoffs that come up during system development. For example, between feature-rich frameworks and in-the-moment supportability, or between user experience and security consideration.
- Measuring the impact of our developer experience, including documentation, tooling integration, and friction points, and improving it where necessary while maintaining intentional frictions.
- Develop a healthy and dynamic team that values and participates in the growth of individuals, the team, and the company by:
- Recruiting, hiring, and maintaining staff that bring in diverse thoughts. This includes providing timely, candid, and respectful feedback on the staff’s accomplishments and misses.
- Running an onboarding and career progression curriculum that helps guide individuals in developing their skills through deliberate practice, self-mediated learning, and mentorship.
- Coaching architects on the application of psychological and sociological topics like trust, perspective taking, critical thinking, path dependence, emotional contagion, and deliberate practice.
- Maintaining a workload that balances new feature development, beneficial technical and process improvements, and staff’s learning and development.
- Tracking, reporting on, and responding to qualitative and quantitative measures of team health and capacity.
- Facilitate collaboration within your teams and between your teams and the rest of the company by:
- Collaborating closely with functionally related teams, product/module development teams, solution architecture, and infrastructure to help communicate status and make the best engineering decisions.
- Coaching team members on effective cross-team communication.
- Building and sustaining relationships with engineering leadership to ensure your team’s work is well understood, well timed, and aligned with the direction of the engineering organization.
- Monitor and improve the operational and financial sustainability of .NET development at Hagerty by:
- Understanding and monitoring key operational metrics (e.g., consumption of metered 3rd party resources, infrastructure utilization, performance over time) in our [technology] ecosystem and coaching how different technical decisions will impact these metrics.
- Understanding and communicating how architectural decisions your team makes will impact developer experience, operational costs, and overall posture of the engineering teams that depend on your team’s outputs.
- Supporting budget planning by articulating team needs, in the context of the vision, strategy, and roadmap. This includes predicting and justifying the need for increasing or decreasing team size.
- Educating staff on the basics of evaluating the operational health of the team and its shared libraries and frameworks and working with them to propose methods for improvement.
This might describe you
- Worked as a senior engineer, team lead, architect, or manager on at least three large-scale, complex systems during initial development or major feature development and at least one consecutive year of product support and minor feature enhancements.
- Written software for other developers and enjoy writing good documentation of libraries and SDKs to enable them to be successful.
- Beginning to identify beneficial behavioral and organizational concepts, patterns, and principles and attempt to apply them across a variety of different situations.
- Effectively communicates technical or abstract concepts to other engineers, technical and non-technical/business peers, and your manager.
- Have a decision-making process that allows you to identify and gather applicable data/facts, weigh tradeoffs, and mitigate any of your existing biases without getting paralyzed when working with incomplete information. Decisions to be made are usually well-defined and will often be scoped beyond your immediate work/team.
- Experience in coaching individuals, with varying degrees of competency and differing communication/learning styles, in technical and non-technical skills.
- Proficient with, and the ability to stay current on, development and deployment technologies such as:
- Languages: C#, Terraform, Typescript
- Interservice Communication: HTTP API patterns (ReST, RPC, GraphQL), brokered and non-brokered messaging
- Security: SAML, OAuth 2, OIDC, data encryption, signing, CSRF
- System Performance: load testing, application profiling, OS profiling
- Operational Readiness: diagnostic and audit logging, metrics, tracing, monitoring, alerting
- Deployment: VMs, containers, cloud providers, configuration management, canary deployments
- Network: TCP/IP, HTTP, Firewalls, load balancers
Other things to note
- This position is open to U.S. remote work. However, team members who reside within 20 miles of the Traverse City headquarters will follow a hybrid schedule, working from the office three days per week.
- May require travel for quarterly events.
- Familiarity with public company requirements, including Sarbanes Oxley and key regulations, if applicable. For SOX compliant roles, responsible for designing, executing, and documenting internal controls where they have been identified as owners to prevent errors in financial reporting, processes, and business operations. Including attestation to the completeness, accuracy, and compliance of all financial reporting data, where applicable.
If you reside in the following jurisdictions: Illinois, Colorado, California, District of Columbia, Hawaii, Maryland, Minnesota, Nevada, New York, or Jersey City, New Jersey, Cincinnati or Toledo, Ohio, Rhode Island, Washington, British Columbia, Canada please email recruiting@hagerty.com for compensation, comprehensive benefits and the perks that set us apart.
At Hagerty, we share the road. We are an inclusive automotive community where all are welcomed, valued and belong regardless of race, gender, age, or car preference. We are united by our shared passion for driving, our commitment to preserve car culture for future generations and our desire to make a positive impact in the world.
#LI-Remote / #LI-Hybrid / #LI-Onsite
EEO/AA
If you like wild growth and working with happy, enthusiastic over-achievers, you'll enjoy your career with us!