About the Team/Role
The Dev Tooling team is an internal-facing team dedicated to enabling the entire engineering organization to do better work. This wide and intentionally-vague charter encompasses a slew of evolving topics. If there’s a common thread between multiple projects, whether discovered in the present or envisaged for the future, we try to get out ahead and build the systems, tooling, and training needed for that work to be successful. We’re also spearheading a long-term project of open-sourcing our entire service platform -- from kubernetes cluster-building to template-based service development to the development environment/tooling to test it, it’s all going to be one big startup-in-a-box system for the world to use.
Outreach’s primary product is based on a monolithic Ruby on Rails codebase, “the flagship”, heavily leveraging ActiveRecord and other common Ruby/Rails technologies. Over the past year, we have set a new North Star of all new service code being in Golang, and building out microservices to support both new and existing features, with the intent of slowly removing functionality from the flagship. A year later, though we have been successful at moving the majority of new work over to Go, the flagship codebase still carries the majority of our traffic and houses our core business systems.
This role, for at least the next couple years, is primarily responsible for maintenance and ongoing development of the flagship. The flagship still handles the overwhelming majority of traffic in our product, is responsible for the lion’s share of infrastructure costs, and those stats won’t materially change any time soon. It is very much our bread-and-butter codebase and platform, not just a few boxes in the corner gathering dust that just need some light tweaking.
In the future, this role will evolve toward leveraging your flagship experience to help us decompose remaining aspects of the flagship into microservices, and eventually will transition wholly into Golang-based service development/maintenance. It’s a great opportunity to leverage your years of Rails experience to help us continue to scale our primary backend, as our customer base continues to rapidly expand, but simultaneously get experience on some of the most popular modern tech stacks. Help us move into a fully microservice-based world and someday sunset the flagship, eventually working entirely on new services/frameworks.
Your Daily Adventures Can Include
- Analyzing and increasing scalability of our current platform
- Adapting our latest org-wide observability tooling systems to the flagship
- Building libraries and bridging tooling/systems to help with plucking areas out of the flagship into microservices
- Optimizing graph-like ActiveRecord model access patterns and migrations to assist with decomposition of feature areas
- Performance analysis of our worker systems/threadpools to identify key bottlenecks to improve and/or extract into new services and independently scale
- Keeping us on the latest Ruby and Rails versions
- You thrive in an ambiguous environment that requires seeking out and collaborating with both your team and the rest of the company to design effective solutions
- Experience using Ruby and Rails to build heavily-scaled backend systems
- Experience using and tuning ActiveRecord at scale and performing/monitoring schema migrations
- Experience with container-based workflows and services (Kubernetes preferred but not required)
- Experience designing, building, and supporting infrastructure services
- Familiar with continuous deployment environments
- You embody our core values. We are hungry craftspeople, we have grit, we are honest, we take ownership, we have each other’s back no matter what, we’re one with our customers, and we find strength in diversity and inclusion
Why You’ll Love It Here
• Generous medical, dental, and vision coverage for full-time employees and their dependents
• Flexible time off
• 401k to help you save for the future
• Company-organized and personal paid volunteer days to support the community that supports us
• Fun company and team outings (or virtual events these days!) because we play just as hard as we work
• Diversity and inclusion programs that promote employee resource groups like OWN (Outreach Women's Network)
• A parental leave program that includes not just extended time off but options for a paid night nurse, food delivery, gradual return to work, and the Gottman Institute's Bringing Home Baby course for new parents
• Employee referral bonuses to encourage the addition of great new people to the team
• Plus, unlimited snacks and beverages in our kitchen (once we're back in the office, that is!)
• We’re an equal opportunity employer. All applicants will be considered for employment without attention to race, color, religion, sex, sexual orientation, gender identity, national origin, veteran or disability status