Overview

The engineering team at Root strives to be one of the most transformative engineering teams ever. We’re changing the way an industry works by leveraging technology and data to build the best products possible. Even with our significant growth, we operate in small teams that are given ownership over projects and results. We’ve found that the people closest to the problems are the best at solving them.

Our tech stack includes:
Ruby / Rails backend, RSpec for testing
Javascript / React Native frontend, Mocha for testing
Small amounts of native iOS and Android
Deployment to AWS ECS using containers
Buildkite for CI

We’re scaling rapidly, and we recently launched a $6B IPO:
https://www.nasdaq.com/articles/root-insurance-ipo-poised-to-disrupt-the-insurance-market-2020-10-30

Our team excels at delivering software to solve the problems in front of us at Root: presently, a suite of world-class mobile, web, and server-based products obsessed with the customer experience. We’ve shaped our team and process around this; we know that constant iteration and experimentation produce the best results.

For more information on engineering at Root see https://eng.joinroot.com/

We divide the areas of responsibility for engineers into three major areas:

Technical: The skills and knowledge that make up an engineer’s basic problem-solving toolbox.
Planning and Execution: The ability to plan and execute assigned work beyond basic technical solutions.
Working with Others: The ability to work effectively with other engineers and people in other functions.

Scope of Impact Team/Initiative/Company

What we look for in senior software engineers:

Technical Skills:
Deep understanding of dynamic languages, client-server architecture, and web technologies
Incorporates testing and thinks about reliability as a natural part of delivering working software
Experienced with several programming paradigms
Solid knowledge of databases, SQL, and version control tools
Adequate understanding of infrastructure and devops

Planning and execution:
Plans and completes large and complex tasks/projects without supervision
Foresees issues and requirements for large projects and features
Completes large pre-planned tasks in an efficient manner
Thinks critically about work to guarantee business functionality. Understands and takes into account business goals into their technical decisions.
Can break down large initiatives into incrementally implementable deliverables

Working with Others:
Provides effective and accurate technical feedback in code reviews
Able to work across teams to tackle complex issues
Able to positively influence other engineers, both directly and indirectly
Works with product owners, analysts and other functions to move company’s priorities forward