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
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
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
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
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.
Want to help out write new code and replace the old? We're hiring in San Francisco and London.