This was an internal email that I sent to the CloudFlare team about how we are not afraid to throw away old code. We thought it was worth sharing with a wider audience.
Date: Thu, 10 Jul 2014 10:24:21 +0100 Subject: Courage to change things From: John Graham-Cumming To: Everyone
Folks,
At the Q3 planning meeting I started by making some remarks about how much code we are changing at CloudFlare. I understand that there were audio problems and people may not have heard these clearly, so I'm just going to reiterate them in writing.
One of the things that CloudFlare is being brave about is looking at old code and deciding to rewrite it. Lots of companies live with legacy code and build on it and it eventuallybecomes a maintenance nightmare and slows the company down.
Over the last year we've made major strides in rewriting parts of our code base so that they are faster, more maintainable, and easier to enhance. There are many parts of the Q3 roadmap that include replacing old parts of our stack. This is incredibly important as it enables us to be more agile and more stable in future.
We should feel good about this.
We're not just rewriting so that engineers have fun with new stuff, we're making things better across the board. Many, many companies don't have the courage to rewrite; even fewer have the courage to do things we've done like write a brand new DNS server or replace our core request handling functionality.
We should also not feel bad about this either: it's not a sign that we did things wrong in the first place. We operate in a very fast moving environment. That's the nature of a start-up. As we grow our requirements change (we have more sites on us, more traffic, more variety and more ideas) and so our code needs to.
So don't be surprised by items on the roadmap that talk about replacing code. Like a well maintained aircraft we take CloudFlare's code in for regular maintenance and change what's worn.
John.
Want to help out write new code and replace the old? We'rere hiring in San Francisco and London.