11/11/11

Netflix Culture Presentation

I just recently discovered this 126 slide presentation from Reed Hastings that defines the Netflix culture.  This is pure gold. The content in here is great but it also will help anyone who is wondering what is included in setting a "culture".  Check it out when you have time and really take the time to digest each and every slide.  Culture
View more presentations from Reed Hastings

11/10/11

Object Oriented Management


Dennis Crowely, Foursquare co-founder and CEO, was quoted in a TechCrunch article saying “The hard part is building the machine that builds the product,” More recently at the Y Combinator Startup School, Mark Zuckerberg, Facebook co-founder and CEO, talked about the parallels between engineering and building an organization.  

When you are engineering, you never do the same thing twice, because if you are going to do the same thing twice then you just abstract it. Building a company is no different than the normal process of engineering.  What is management and what is engineering?  It is taking a problem and decomposing it down into small problems. ... When you do this well you’ve decomposed the problem well and you’re thinking really clearly about what the problems are.  You have clear definitions and clear distinction so that you’ve empowered everyone to go do their thing well.  And when you’re not doing it well, then your company is basically a mess and you’ve set up all these dynamics where there are a huge amount of politics because the line aren’t clear between things. I just think it is engineering all the way up and down.


But, why are these guys even talking about this aspect of creating a company?  Seems obvious, right?  Engineering does engineering, sales does sales, and marketing does marketing. Just create those departments and hire people into those roles.  Easy right? Well, in practice it isn’t easy at all. The problem with building an organization is that in the early days, everyone on the founding team wears a lot of hats. Job definitions are not clear and thus as the company grows, departments are created from these individual roles and thus department definitions and distinctions are not always clear.  Just like with bad code, legacy definitions tend to quietly stick around. Take for example a 4 person startup where one of the founding teammates, Suzy, handles sales.  Lets say there is a supply closet next to Suzy desk.  Everyone puts the key to the closet on her desk.  When it is missing, everyone knows to ask Suzy for the key. Fast forward two years and Suzy’s now runs the sales department.  Because everyone is focused on the customers and the product, nobody has noticed that the sales department now holds the key to the supply closet. The admins travel down to the sales department to check out the key and to check items out of the supply closet.  So naturally, sales reps are worrying about the inventory levels of the supplies and admins are always interrupting sales calls because they need the key.  The company, as Zuckerberg calls it, is a mess.  A silly example, but you can see how these things can happen in other areas of responsibility.

Just like managing a large code base, you need to keep track of this stuff.  You’ll need to constantly be refactoring, abstracting, centralizing and decentralizing responsibilities and teams. If you don’t, your operations won’t be optimized and process and politics will run the company.