Hagerty

Software Engineer II

Hagerty$90K — $120K *
Information Technology
Less than 5 years of experience
Job Overview by Ladders

Qualifications

  • Professional training in software development (college, bootcamps, etc.)
  • Experience in small technical groups (5-10 people)
  • Strong MS SQL knowledge and complex SQL querying skills
  • Familiarity with programming languages: C#, TypeScript
  • Expertise in CI/CD best practices and modern testing frameworks (e.g., NUNIT, Selenium)
  • Knowledge of AWS and cloud deployment strategies
  • Comfortable with security protocols like SAML, OAuth 2, and CSRF.

Responsibilities

  • Develop and maintain secure, scalable software that meets business needs.
  • Write clear, maintainable code that incorporates feedback.
  • Implement comprehensive test strategies for all features.
  • Monitor service telemetry to enhance support and identify improvements.
  • Support product features and mentor less experienced developers.
  • Engage in troubleshooting and participate in on-call support.
  • Contribute actively to team discussions and collaborative practices.

Benefits

  • Remote work option available; hybrid schedule for local employees.
  • Quarterly travel may be required for team events.
  • Supportive environment for skill development and mentorship.
Full Job Description
Software Engineer II

As a Software Engineer II on the Digital Sales team, you will be working with our web quoting experience and have direct impact on Hagerty's revenue. In this role you can expect to partner with other engineers to implement new features, maintain existing applications, and share knowledge with your fellow teammates. You will be working with a mix of technologies like JavaScript frameworks and .Net.

What you'll do
  • Develop maintainable, scalable, secure, and resilient software by:
    • Thoroughly understanding your tasks including the associated business needs, architectural and system interaction designs, and operational need. Such tasks tend to contain some ambiguity and touch multiple parts of a single service.
    • Writing clean, human-readable code. Track and consistently apply the comments received on your code to future work.
    • Developing and designing comprehensive and automated unit, integration, and end-to-end tests, while understanding appropriate use of each test type.
    • Actively reviewing the telemetry (logs, metrics, etc.) produced by the service to ensure it is easy to support. Identify new telematic data that could be added and just as importantly old data that is no longer helpful.
  • Own and support features, modules, and products by:
    • Being able to thoroughly explain and demonstrate the usage of your product's features from the perspective of its customers.
    • Thoroughly understanding in-development features and supporting less experienced developers in breaking those down into well-structured tasks.
    • Actively practice troubleshooting and participate in the on-call support rotation for team's production services.
    • Monitoring key product metrics, analyzing changes over time, and support prediction of future changes.
  • Improve your skills as an engineer by:
    • Carefully researching how the components of our technology stack are designed, why they are designed that way, and understanding the tradeoffs made by those design choices.
    • Learning to define and properly apply abstractions that make our code more flexible and intelligible while reducing overall complexity.
    • Understanding and effectively communicating the system resource and performance impact, at the micro- and macro-level, of design decisions.
    • Learning to take the perspective of others and communicate effectively from that point of view.
  • Contribute to and engage in a collaborative environment by:
    • Being an active participant in all team activities: team ceremonies, banter, troubleshooting, design discussion, work breakdowns, etc.
    • Explaining the purpose of team practices and behaviors, modeling them, and helping less experienced engineers adopt them.
    • Helping less experienced engineers know the difference between something they can reasonably figure out on their own and when they are blocked. Provide them tips for accomplishing the former and guidance on asking good question to avoid the latter.
    • Coaching less experienced engineers on our tools, techniques, and patterns, why we've chosen those, the tradeoffs we've made in choosing them, and their proper application.


This might describe you
  • Completed some professional training (e.g., college, bootcamps) in software development.
  • Comfortable working and actively participating within smaller (5-10 people) technical groups.
  • Eager to deeply learn, both independently and with help, our technologies and patterns such as:
    • Languages: C#, Typescript
    • Databases: Strong MS SQL knowledge, complex SQL queries, relational schemas
    • 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
    • Expert in CI/CD best practices
    • Expert with modern testing frameworks utilizing NUNIT, Selenium, Playwright, Jest (or similar)
    • Network: TCP/IP, HTTP, Firewalls, load balancers
    • Cloud: AWS experience
  • Able to clearly communicate your thoughts and actively listen to and integrate the thoughts and comments of others.


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 [email protected] for compensation, comprehensive benefits and the perks that set us apart.

#LI-Remote / LI-Hybrid / #LI-Onsite

If you like wild growth and working with happy, enthusiastic over-achievers, you'll enjoy your career with us!

About Hagerty

Hagerty is an insurance company that specializes in classic car insurance. The company was founded in 1984 and is headquartered in Traverse City, Michigan. Hagerty offers insurance policies for classic cars, trucks, motorcycles, boats, and other vehicles. The company also provides valuation tools, educational resources, and other services for classic car enthusiasts. Hagerty has a team of experienced agents who are knowledgeable about classic cars and can help customers find the right insurance coverage for their needs. The company is committed to preserving and promoting the classic car hobby.
Learn more about Hagerty
Size
1,000 employees
Market Cap
$2.6 billion
Industry
NASDAQ

Similar Jobs

More Jobs at Hagerty

More Information Technology Jobs

Find similar Software Engineer II jobs: