Senior Software Engineer, Underwriting
Job description
About the role
The Senior Software Engineer on the Underwriting team designs and builds backend services and systems that power Coalition's cyber insurance underwriting decisions. They integrate security, insurance, and proprietary data to apply business rules, statistical models, and machine learning in assessing and monitoring risk. This role is highly cross-functional, partnering closely with underwriters, data science, and other engineering teams to scale and automate Coalition's underwriting and core decisioning workflows. The position demands strong ownership of the full lifecycle of complex features from conception through production. You will translate nuanced underwriting requirements into resilient technical implementations while maintaining strict standards for reliability and performance. Collaboration with stakeholders across the organization will drive the prioritization and delivery of high-impact capabilities. This role is central to enabling scalable risk assessment and automation across the underwriting platform.
Key facts
What you'll do
Design, build, and maintain scalable backend services in Python and/or Go that power underwriting decisioning and automation.
Implement and evolve systems that integrate with statistical models, and machine learning models to assess, price, and monitor cyber risk over time.
Create and maintain alerts, monitors, and dashboards to ensure operational stability, observability, and clear incident response paths.
Write clean, well-structured, and tested code, including robust unit and integration tests to enable confident, frequent releases.
Lead small projects end-to-end and act as a technical driver within a team of engineers on medium-to-large initiatives, collaborating with product, underwriting, and data partners.
Contribute to architecture and design discussions that balance pragmatism, scalability, and decoupling as the underwriting platform grows.
Help automate and improve the underwriting and decisioning workflows used by internal underwriters and risk teams.
Leverage domain understanding to refine requirements and translate business needs into technical tasks that align with product roadmaps.
Perform code reviews and provide constructive feedback to peers to uphold code quality and shared ownership of the codebase.
Participate in on-call rotations to support production services and respond to incidents in a timely manner.
Champion best practices for security, performance, and reliability across the underwriting services and data flows.
Collaborate closely with data scientists to validate model assumptions, integrate model outputs, and ensure reproducibility in production.
Work with underwriters to capture insights and translate them into automated decisioning rules and monitoring signals.
Engage in continuous learning to keep up with industry trends in cyber risk, insurance technology, and software engineering.
Requirements
Strong experience building and operating backend APIs and services in Python and/or Go, including familiarity with common frameworks and patterns.
Hands-on experience with REST and at least one additional transport or format such as gRPC or GraphQL.
Experience using source control systems (e.g., Git or similar).
Practical experience deploying and running services in AWS or another major public cloud environment.
Familiarity with modern observability and error-tracking tools such as Sentry, Datadog, Jaeger/Zipkin, Graylog, or AppDynamics.
Experience working on an agile software team and using collaborative development tools such as the Atlassian suite, GitHub, or GitLab.
Degree in Computer Science, Engineering, or a related technical discipline, or equivalent work experience.
P4-caliber ownership: ability to independently drive projects of moderate scope, make sound technical tradeoffs, and mentor less-experienced engineers.
Ability to work effectively in a fast-paced, dynamic environment while managing competing priorities.
Strong written and verbal communication skills for collaborating with cross-functional partners.
Willingness to regularly collaborate across time zones in a fully remote or hybrid setup.
Commitment to maintaining high standards of code quality, testing, and documentation.
Understanding of risk concepts in insurance or financial services is a strong advantage.
Practical notes
Hours: Full-time.
Travel: None.
Visa: Open to Canadian locations.