We can optimize for anything, and the context determines what we choose to optimize ⚡
Every time we pick something to optimize, we lose something somewhere. As an engineer, you should always know what are you losing and evaluate if that loss is acceptable.
A very trivial example is we can accept writes at a very high rate and to achieve this we can buffer them in memory, but by doing this, you lose persistence because if the process reboots, you will lose the ingested writes.
Always remember, you get some you lose some. Whenever you are designing any system or reading any technical concept, think critically and keep asking questions that will uncover the drawbacks of the mentioned approach.
Make this a habit, and see yourself become a thriving 10x engineer.
⚡ I keep writing and sharing these engineering nuggets, so if you are keen on learning them, follow along.
youtube.com/c/ArpitBhayani