Mark Zuckerberg built Facebook on the philosophy of ‘moving fast and breaking things’. Over the years, Facebook has worked hard on refining the second part, so that things don’t break at the core of the platform and in the infrastructure, but the application itself is forever being tinkered with – some ideas work and some ideas don’t.
Many people are aware of what Amazon has done over the years in creating AWS (Amazon Web Services) and the investment they’ve made in creating easier infrastructure and environment management. But, not as much is written about how much Facebook has invested in creating the best engineering and product development environment that allows an engineer to deploy their idea and experiments into production when they want to – there are some limits and restrictions around this, but the spirit is there.
The tools Facebook has developed allow an engineer and product leader to get empirical feedback on their new deployed feature. It allows sets of users to be targeted so that experiments can be run on specific segments and controlled population sets. This creates space for them to know whether they should continue their feature development or try other segments. It invites developers to build evidence that supports their product ideas and have better conversations with managers.
Zuckerberg says that creating these tools was not and is not cheap, but he believes the opportunity cost for not moving fast enough far outweighs the investment in creating an environment that allows 10,000 versions of Facebook to be running at any one time and the insights and learning that creates. With a population of nearly 2 billion users, the ‘move fast and break things’ mantra seems to be one that allows Facebook to continue to grow, adapt, and improve in an extreme way whilst still managing the overall experience for the users.
Whilst you might not be Facebook, what tooling, environment or process change might help you move faster, and get greater feedback on your ideas and experiments?