Producing Top-Quality Code Is Fast
Producing top-quality code is much faster than producing low-quality code. It is even more so when taking into account the rework (flawed design) and debugging that low-quality code requires.
Learning to code well is much more—like 20+ times—more difficult and, in parallel, more time-consuming. It takes much time outside of work because at work people have to deliver, not learn to code.
That is why good programmers are so rare.
Nevertheless, programmers are in such demand that businesses agree to hire even underqualified programmers for work to be at least somehow done.
That is why mediocre programmers are so numerous.
No surprise some developers show frustration over low-quality code. No wonder those around are affected by those outbursts too. Yet I would like every one of us, writing good code or bad, to have made this choice consciously.
Maybe understanding all this helps to ease both parties' (and those struggling coders too) suffering. :)