Staff Software Engineer (Backend - Ruby & Rails), OM
Published on April 12, 2024
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,
- 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