3 ms·
1. Most companies will never have a million+ users. But what happens when yours does? This is the experience i have been living for the last year, and i am shar
by liquidise 10y ago
1. Most companies will never have a million+ users. But what happens when yours does? This is the experience i have been living for the last year, and i am sharing the challenges that come with that growth.
2. Write code that is maintainable. I don't advocate solving for problems that don't exist [1], but i cannot agree with building code specifically so that it is readily disposable.
[1]: https://blog.benroux.me/good-problems-to-have/ https://blog.benroux.me/good-problems-to-have/
- pbreit 10y agoGetting a million users is infinitely harder than scaling a system to handle a million users. Most systems could run comfortably on a Raspberry Pi. I don't think the suggestion is to make sure your code is disposable. It's that you need to code for now and it's difficult to predict which code may become a candidate for disposal.
- user5994461 10y ago> Getting a million users is infinitely harder than scaling a system to handle a million users. Depends on your context. When you work at an established company, it may already have millions of users and any new project/change/feature may grab millions of them easily.
- pbreit 10y agoThe audience here skews heavily to newer, smaller companies.
- falsedan 10y ago> i cannot agree with building code specifically so that it is readily disposable This is the crux of our differing point of view. Mine is: all code is trash, and business requirements change. I don't advocate for disposable code, but to at least spend a second thinking that it will eventually no longer provide a business value in line with its support burden, and to recognize that it may have some day reach the end of its lifetime of effectiveness. The code that strongly resists scaling is always the ones who baked in assumptions about the current situation (technical environment & business needs) that are extremely hard to unwind.
- falsedan 10y ago> Most companies will never have a million+ users. But what happens when yours does? What a time wasting question! It's exactly the sort of premature overdesigning that you advocate against. The question is good for interviews to check for the scaling mindset but terrible in planning and design. The answer is: you use the same scaling techniques as published in numerous case studies/etc. and hire experienced engineers who've successfully scaled products before. The real answer is: you re-evaluate your systems to see how they should change to adjust to the need to scale; and you design systems that avoid assumptions that stop them from scaling.