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. Ready to get in the driver’s seat? Join us! 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.
Stand Out From the Crowd
Upload your resume and get instant feedback on how well it matches this job.
Job Type
Full-time
Career Level
Mid Level
Education Level
No Education Listed
Number of Employees
1,001-5,000 employees