

I thought this was an interesting article. The only thing I would want to point out is that you could probably implement a barebones message queue system in a couple hundred lines of code, but Apache Kafka exists essentially covering way more edge cases and failover scenarios and scalability, and I wouldn’t say it has no clothes.
I’ve been writing code in a lot of domains for a lot of years and my observation is edge cases and error handling is the biggest difference between any professional package and amateur garbage.
But I suppose if the goal is clickbait rather than accurate summary, touché — you got me.

So I have frequently worked in projects where I don’t know how end users interact with the software. I can make code hum without knowing how it fits into the ecosystem. Sometimes that’s all the job is because that’s the structure.
That said, I can contribute a lot more if I do understand the bigger picture. Domain knowledge helps me triage. It helps me propose effective alternatives. I’d say it is critical for understanding separation of concerns and deciding what compromises to recommended practices are reasonable.
I reject this principle. You can write code without domain knowledge, but software by itself has no purpose until it meets users. And to write software that works best for users you have to understand them.