3 ms·
> Domain expertise is hard but not that hard compared to the insane mental discipline required to write efficient scalable code "efficient scalable code" is ju
by Capricorn2481 5mo ago
> Domain expertise is hard but not that hard compared to the insane mental discipline required to write efficient scalable code
"efficient scalable code" is just as vague as good code. How are you going to know your code is scalable if you don't understand your domain? Scalability is not something you sprinkle onto code.
- elendilm 5mo agoAre you kidding me. What has domain got to do with efficiency and scalability. Efficiency is about using minimum cpu cycles or minimum memory or minimum network round trip or more generically using minimum/optimum resources to get something done. Scalability is about minimizing bottlenecks and linear scaling so one can just copy and execute by adding more nodes/resources and expect correctness and increased throughput. Both of these have nothing to do with domain expertise.
- runeks 5mo ago> Efficiency is about using minimum cpu cycles or minimum memory or minimum network round trip or more generically using minimum/optimum resources to get something done. No profitable business wants to pay you for writing code that uses "a minimum" of a resource. It wants to pay you to find the right balance between resource usage, time-to-market, operating cost, code complexity and probably several other factors.
- elendilm 5mo agoI run a small profitable business. I avoid those who doesn't care about efficiency or scalability like the plague. Laziness shouldn't be promoted.
- Toutouxc 5mo ago> Scalability is about minimizing bottlenecks and linear scaling so one can just copy and execute by adding more nodes/resources and expect correctness and increased throughput. Yes, technically, but note that this entire thing can be anything from crucial to completely worthless depending on the domain. You need insane scalability for a social network or a streaming service, you don’t need any real scalability for (completely made up) managing a fleet of airplanes or the internal logistics of a zoo.
- elendilm 5mo agoWriting scalable and efficient programs are extremely hard. This matters for serious projects but for small projects, honestly who cares.
- dapperdrake 5mo agoThe almost all problems are "small", by your standards. Giant market.
- elendilm 5mo agoCatering to a giant market is usually when scalability and efficiency problems starts surfacing. People here having a hard time to understand reveals a lot about the kind of work they have undertaken.
- bostik 5mo agoTo be fair, I'd consider hard-core scalability/reliability software engineering skills to be their very own speciality domain. But I'd also claim that these things fall on a spectrum. At the extreme end we have exchanges and HFT-like trading systems, where absolute accuracy and latency are not even constraints but industry fundamentals. At the other end we have "toy" applications that handle tens of requests per second, tops. Scalability problems are definitely near the extreme end. Only instead of raw latency, you get to deal with complex failure modes, throughput, capacity problems, read amplification and thundering herds... all the while being constrained by available CPU cycles and bounded memory.
- dapperdrake 5mo agoUser-latency is key.
- dapperdrake 5mo agoScalability stems from domain knowledge. Sometimes you need two orders of magnitude. Sometimes you need five. Sometimes you need less than one.