Great quotes from this article: http://perfcap.blogspot.com/2011/12/how-netflix-gets-out-of-way-of.html
Who has teams spread over multiple sites and countries? We don’t. It adds communication and synchronization overhead that slows your organization down. For the geeks, think of Amdahl’s law applied to people. We have as many people as possible in the same building on the same site.
Who has junior engineers, graduate hires and interns writing code? We don’t. We find that engineers who cost twice as much are far more than twice as productive, and need much less management overhead. Reducing management overhead is a key enabler for an innovative culture. Engineers who don’t need to be managed are worth paying extra for
Who has to work with people they don’t respect? It’s much too disruptive. The only way to get high talent density is to get rid of the people who are out of their depth or coasting.
That also applies to what you might call brilliant jerks. Even if they do great work, the culture can’t tolerate prima donna anti-social behavior, so people who don’t trust others or share what they know don’t fit in So does that mean we value conformity? No but it’s really important to be comfortable as part of a high performance team, so we look for people who naturally over-communicate and have a secure confident personality type
We’ve trained our developers to operate their own code.
Who has a centralized push cycle and has to wait for the next “train” before they can ship their code? We don’t. Every team manages their own release schedule. New code updates frequently, and the pace slows for mature services. Teams are responsible for managing interface evolution and dependencies themselves
Who has project managers tracking deliverables? We don’t. The line managers do it themselves. They own the resources and set the context for their teams. They have time to do this because we took the BS out of their role.Managers have to be great at hiring, technical and hands on enough to architect what their team does, and project manage to deliver results.
Hire experienced engineers who care, and they will take care of code quality and standards without being told how to.
We don’t pay bonuses. We don’t have grades other than senior engineer, manager, director, VP. We don’t count the hours or the vacation days, we say “take some”. Once a year we revise everyones salary to their peers and current market rate – based on what we are paying now to hire the best people we can find
Some of you may be thinking this sounds expensive, but what is the value of being incredibly productive and able to move faster than your competition?
Give people freedom, hold them responsible, replace the ones that can’t or won’t perform in that environment. Focus on talent density and conserving management attention span by removing the BS from their jobs.