The Space Between Teams*
It starts small--a manageable codebase, a tight-knit team, everyone headed the same direction. But with success comes growth, and soon it’s hard to keep track of all those teams. Problems emerge in the gaps between what one team provides and another expects. Let’s look at how New Relic has faced these growing pains.
At New Relic, Architects are specifically tasked with managing “the spaces between teams.” We’ve learned a lot about keeping things running smoothly even in the face of tremendous growth.
One key is establishing a written culture. Telling the new engineer “Talk to Jane” is only a workable strategy for a while. We’ll talk about the many forms of documentation that can help, from how-to guides to detailed specs and RFC-style notes. We’ve tried a lot of things and can share the triumph and pain of good documentation.
But humans aren’t the only ones communicating at a company. A lot of thought is needed about how systems communicate. Whether that’s HTTP, async messaging, or even shared databases, choices about how data moves has huge impact on the how quickly products can be built. We’ll examine many of these technical choices to see what what helps, and what hinders, the free flow of data in a company.
Great documentation and data are critical, but they’re useless if no one can find them. Increasingly, discoverability has become key to our success. From unified search to shared tooling, with a sprinkling of graph database magic on top, we’ll show you how we’re building a discoverable, knowable internal ecosystem.
Managing the spaces between teams is a tough job, but it’s achievable and we’ll show you how.
architecture, documentation, tools
I've spoken at the past couple of OS Bridges and many other conferences (http://jasonrclark.com/speaking/) I'll be giving this talk at RailsConf 2017 in April.
I fell in love with programming as a young boy watching my dad work in Clipper and dBase III (no, really). The obsession sparked there continues to this day. I work for New Relic, and in my spare time contribute to the Shoes project. When not at work, I enjoy cycling, homebrewing, and hanging out with my family.
- Title: Failing Well
- Track: Practice
- Room: B201
- Time: 2:30 – 3:15pm
It’s a fact of life—software breaks.
But all is not doom and gloom. How we detect and handle errors drastically impacts the quality of both our systems and our lives. Knowing what to track, when to page, and how to find system weaknesses is critical.
- Speakers: Jason Clark