About The Position

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, Solution Architecture, you will be part of the Solution Architecture team. The Solution Architecture team owns the design and integrations of products and their modules. The team creates and maintains context maps, API designs, and sequence diagrams, then work with engineering teams to turn those solutions into production software. The team also maintains our Developer and Architect Portal, aiming to make simple the communication of our software stack and its capabilities. You will be responsible for the strength of the Solution Architecture team and the stewardship of the code and technology that it uses. The former involves promoting a holistic view of our business’ domains, fostering teamwork, coaching inter-personal 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.

Requirements

  • 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.
  • You enjoy decomposition of problems into distinct parts and striving for collective understanding.
  • 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

Responsibilities

  • 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 is contributing 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. Ensuring your services protect and appropriately manage the company’s data and user’s privacy.
  • 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 things as well as the reasoning behind them. Educating architects on, and evaluating solutions 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, and the quality of our standard solution artifacts. Coaching architects on the art of identifying and evaluating the many tradeoffs that come up during system development. For example, between a very detailed search API capability, versus returning a list of aggregate entities to the client, or between user experience and security and performance considerations.
  • 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 owners, technical product managers, development teams, and operations to help communicate status and make the best engineering decisions. Coaching team members on effective cross-team communication.
  • Monitor and improve the operational and financial sustainability of your services by: Understanding and monitoring key operational metrics (e.g., consumption of metered 3rd party resources, infrastructure utilization, performance over time) for your services. Understand and communicate how different technical decisions will impact these metrics. 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 services and working with them to propose methods for improvement.

Stand Out From the Crowd

Upload your resume and get instant feedback on how well it matches this job.

Upload and Match Resume

What This Job Offers

Job Type

Full-time

Career Level

Mid Level

Education Level

No Education Listed

Number of Employees

501-1,000 employees

© 2024 Teal Labs, Inc
Privacy PolicyTerms of Service