Facebook Engineering recently posted a fascinating presentation about extreme scaling Web Ops. This talk, given by Tim Cook, is the most interesting and informational presentations I have ever seen on development, operations and scaling. I didn’t know that Facebook lets its programmers push live code freely. However they track changes obsessively. This means that at Facebook, employees are presumed competent and encouraged to innovate. This is significant because Facebook is one of the more complex websites out there and it has been scaling up at a phenomenal rate over the past 4 years. If this attitude works at Facebook, a site serving half a billion people, then I fail to see how smaller companies can justify operating in any other way.
I spend a lot of time on Facebook managing pages for clients, developing apps, poking around to find answers for my colleagues and, of course, socializing and I only encounter visible errors once or twice a year. But this isn’t perfect because rather than causing an error, some code pushes can cause unintentional ‘features’ such as privacy and security holes (due to its high level of personalization) but that’s a topic for another post.
As someone who has managed a lot of programmers in the past 16 years, I see this policy as beneficial on many levels. When you consider your employees as competent consultants and place high performance expectations on them, they will continually improve their skills and develop confidence to share ideas and participate in company success. I have seen this happen time and time again regardless of initial experience level, education or age. Of course you will lose some employees as they outgrow your company or move on and start their own business, but is that really a bad thing?
If you consider your programmers as simple operators within an ass-in-seat environment and place multiple barriers to them being able to do their job, their skills and performance will decrease. People always perform to lower expectations. Treat your employees as children and you will get children. This system is also sure to progressively prune your team of its most promising members.