3 ms·
I think that's the point. You choose the best tech at the moment given the requirements with some headroom. Why waste engineering time to make sure it is harden
by eanzenberg 9y ago
I think that's the point. You choose the best tech at the moment given the requirements with some headroom. Why waste engineering time to make sure it is hardened to support 10x load? Sometimes it is easy (use a different library) but most of the time it is hard.
- cryptonector 9y agoSome changes can be extraordinarily difficult, so if you can foresee that you'll need, say, to make some code into a library, or thread-safe, or async, then it's best to make it that way from the get-go. Obviously there's a bit of YAGNI in tension here. But if you have the experience to write it correctly from the get-go at low additional cost, then it's worth doing that instead of risking a massive rewrite later.
- marcosdumay 9y ago> to make some code into a library I have never had any problem with putting some code into a library after the software is done. It is almost always a 1-4 hours exercise, and when it's not, it's a 2 days task at most. Async code is also something that I have never seen it being a huge problem. Mostly because only a small part of your code needs to be async, most of it can stay synchronous, scheduled by the small async part. Thread safety is a real problem. One can indeed trade some of it for some development speed, and this can become a huge bottleneck later/soon.
- gowld 9y ago"10x" is large or small depending on the plausible variance you can expect. A free casual game? 10x spike is quite expected. a $1000/month B2B Saas? 10x comes with a lot of predictable lead time.