Root Insurance Root Insurance Company
ruby on rails
The engineering team at Root strives to be one of the most transformative engineering teams ever. We’re changing the way that car insurance works. We’re competing with companies that have been around for a century and comprise a $200B industry—and we’re doing it with astonishingly small teams.
Our tech stack includes:
Ruby / Rails backend, RSpec 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:
Our team excels at delivering software to build Root’s products: presently, mobile apps and a backend platform for personal auto insurance. We’ve shaped our team and our way of working around this. Our engineering team would not be the most transformative team at building a mobile operating system. We’d be quite bad at that. We’re exceptionally good at building the type of software that is necessary to invoke change in the insurance industry.
For more information on engineering at Root see https://eng.joinroot.com/
Engineering Managers at Root are responsible for both technical and managerial leadership of their teams. Managers are often our strongest individual contributors and we expect them to meet or exceed all of the technical and non-technical expectations of a Senior Software Engineer.
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 an Engineering Manager:
- Deep understanding of technologies used in our stack, 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
- Able to design and architect maintainable and scalable technical systems
Planning and Execution
- Thinks critically about work to guarantee business functionality. Understands and takes into account business goals into their technical decisions.
- Plans and supervises work for others
- Completes complex tasks/projects in an efficient manner
- Foresees issues and requirements for large projects and features
- Can break down large initiatives into incrementally implementable deliverables
Working with Others
- Mentors and grows other engineers
- Sets and evaluates goals for direct reports
- 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 the company’s priorities forward