Coding Like Facebook, With Engineering-Centric Practices
January 18, 2011I recently read a great article about how Facebook ships code and what their values and practices are. It revolves around a list of different examples of how Facebook encourages and fosters an environment of innovation and productivity.
Basically, the article doesn’t say if it’s good or bad, but does describe how very, very developer-centric the company is. Essentially, developers are given ultimate freedom and are basically treated as though the are infallible (other than were they to do something malicious or were not performing, they would be let go).
There is little to no oversight or thought given about priorities at Facebook or what is a “good” idea.
As a developer, I would love to be given ultimate freedom to work on what I think is important or cool or beneficial. Though, while that may be a good thing goal, you can easily start to not see the forest for the trees. Facebook has repeatedly gotten itself in trouble this way, just Google “Facebook privacy concerns,” and you’ll have more than enough results from many different time periods and over many different issues.
This is where working too fast without planning or stopping to consider exactly the consequences before going ahead with new features can easily come back to bite you. While ultimate freedom and power is great, oversight is something that can never be overlooked or forgotten.