Presentation: Refactoring Organizations - A Netflix Study
What You’ll Learn
- Understand the complex relationship between architecture and organization commonly described as Conway's Law.
- Hear lessons and stories on how organizational leaders can affect architecture through organizational structure.
- Gain practical advice on how to align architecture and organizational structure.
Abstract
Is your service architecture and engineering velocity constrained by organizational concerns? Does it seem impossible to give priority to key initiatives regardless of intent? Are engineers switching tasks so often that they are just treading water? Are critical projects endlessly backlogged? Has staffing up pushed the limits of your team structure? Navigating through challenges like these can be daunting and solutions fraught with uncertainty. How do you know what, where, when to change. And whatever the answer is today it will most certainly vary over time. Effective organizations evolve, at key inflection points, to support critical business and technical goals. There is not only a strong relationship between organizations and the software they produce (Conway’s Law) but many organizational solutions can be derived from analogs in the technical realm. In other words, we can treat organizational improvement as a refactoring exercise. Over the last 20 years Netflix engineering has proven time and again an ability to adapt and grow, resulting in undisputed dominance over the global internet tv market. In this talk we’ll use Netflix as a case study to illustrate how specific strategies, framed as technical analogs, have been employed to maximize engineering agility, velocity, and impact. These powerful, yet simple strategies and solutions provide a useful blueprint for organizational success.
QCon: What is the focus of your work today?
Josh: After a 17-year stint at Netflix I took a welcome break from tech. In addition to considering my next full time role I’m spinning up a set of writing/presentation projects to capture and share what I’ve learned over the years across multiple disciplines - operations, architecture, organization, leadership, and personal growth. I believe that successful technical leaders must embrace these disciplines and understand their relationship to each other. My talk on refactoring organizations seeks to shine a bright light on these relationships - focusing on effective architectural and organizational change.
QCon: What’s the motivation for your talk?
Josh: Technical leaders frequently spend a lot of time worrying about personal, social, political, and emotional impacts of architectural and organizational change. Social concerns are important but they also cloud people's judgment and suboptimal solutions frequently result. In its most extreme form leaders can become paralyzed by social considerations. Separately, architects are frequently constrained by (seemingly) arbitrary organizational boundaries. The tail wags the dog so to speak. I’ve learned a few interesting lessons along these lines at Netflix. In this talk, my goal is to leverage those lessons and provide a set of tools to leaders and architects that help them to keep ego, emotion, empathy, and social considerations in check when addressing significant architectural and organizational challenges. A refactoring mindset is one way to accomplish this. It also opens the door to an interesting set of technical analogs which can be applied to organizations.
QCon: How do you describe the persona of the target audience of this talk?
Josh: Engineers, architects, or leaders who make or influence major architectural and/or organizational decisions will benefit from this talk. This is especially true for two classes:
- Those who have experienced significant resistance to organizational or architectural improvements and are looking for new methods to overcome it.
- Those who are feeling organizational pain are looking for models or frameworks for effective problem solving.
QCon: How would you rate the level of this talk?
Josh: Very broadly. Any engineer or leader interested in how to address the very real tension between organization and architecture (Conway’s Law) will get something out of the talk. For those early their careers they’ll get an early jump on problems they may not have encountered but most certainly will. More experienced leaders may discover new angles of attack on existing or past challenges.
QCon: QCon targets advanced architects and sr development leads, what do you feel will be the actionable that type of persona will walk away from your talk with?
Josh:
- An understanding of Conway’s Law and how it affects decision-making.
- A mindset that mitigates the effects of Conway’s Law, leading to better architectural and organizational decisions.
- A set of tools for addressing common organizational scaling and engineering velocity challenges.
QCon: What do you feel is the most important thing/practice/tech/technique for a developer/leader in your space to be focused on today?
Josh: In the context of this talk I would say developing the ability to cut through the social, political, and emotional fudd that prevents clear thinking and effective decision-making when making architectural and organizational changes. Having well-defined principles and models for doing so helps to accomplish this.
QCon: Can you provide an example of a challenge that your talk addresses?
Josh: One of the most common organizational challenges is team overload. More specifically, insufficient bandwidth or slow response time to work requests (or both). The root causes of overload are many and nuanced. Is the problem based in poor prioritization? Is the team just understaffed or is there a bottleneck within a specific domain or skill set? In my talk I’ll dig into these nuances and work through specific solutions.
Similar Talks
Scaling DB Access for Billions of Queries Per Day @PayPal
Software Engineer @PayPal
Petrica Voicu
Psychologically Safe Process Evolution in a Flat Structure
Director of Software Development @Hunter_Ind
Christopher Lucian
Not Sold Yet, GraphQL: A Humble Tale From Skeptic to Enthusiast
Software Engineer @Netflix
Garrett Heinlen
Let's talk locks!
Software Engineer @Samsara
Kavya Joshi
PID Loops and the Art of Keeping Systems Stable
Senior Principal Engineer @awscloud
Colm MacCárthaigh
Are We Really Cloud-Native?
Director of Technology @Luminis_eu
Bert Ertman
The Trouble With Learning in Complex Systems
Senior Cloud Advocate @Microsoft
Jason Hand
How Did Things Go Right? Learning More From Incidents
Site Reliability Engineering @Netflix
Ryan Kitchens
Graceful Degradation as a Feature
Director of Product @GremlinInc