I see so many developers asking themselves the following question :
How should I write my code so that it will work if the traffic explodes ?
I believe thinking about this from day 1 is counterproductive. Here’s why :
Most of the time, you aren’t going to scale
Yes, that’s a truth, 99% of the projects will never have to scale. Some of the projects will die, others will just reach a certain amount of users and stay stable from there. Thinking you are part of those few organizations that will scale is an illusion. Furthermore, most of the time, you’ll see when you project is starting to get more traffic. When you know this, you will be able to adjust the size of your team. It is faster than ever to change the size of your team.
The overall speed of your growth is defined by the limiting factor
I went to a generalist engineering school, so I’ve done a bit of chemistry too, and here’s what I learned from that :
If one crop nutrient is missing or deficient, plant growth will be poor, even if the other elements are abundant.
Applied to start ups, this means that you can’t scale your business if you just make your application technically scalable. There’s customer acquisition that is very often a limiting factor, but also other bad conversion rates between the acquisition and the revenue.
They are some cases when your app’s design is the limiting factor of your growth, but in this case, you probably know it yourself (because your app is slow, customers give bad feedback , …).