logoalt Hacker News

nickelprolast Saturday at 5:58 PM2 repliesview on HN

There's no meaningful taste-skill gap in programming because programming doesn't involve tacit skills. If you know what you're supposed to do, it is trivial to type that into a keyboard.

The taste-skill gap emerges when you intellectually recognize what a quality creation would be, but are physically unable to produce that creation, and judge the creations you are physically capable of producing as low quality

The oft cited example is drawing a circle. Everyone knows what a perfectly round circle looks like, but drawing one takes practice.

It doesn't take practice to type code. If you know what code you're supposed to write, you write it. The problem is all in the taste step, to know what code to write in the first place.


Replies

mjr00last Saturday at 6:17 PM

> There's no meaningful taste-skill gap in programming because programming doesn't involve tacit skills. If you know what you're supposed to do, it is trivial to type that into a keyboard.

Strongly disagree here. The taste-skill gap still applies even when there's no mechanical skill involved. A lot of amateur music production is entirely "in the box" and the taste-skill gap very much exists, even though it's trivial to e.g. click a button to change a compressor's settings.

In programming, or more broadly application development, this manifests as crappy user interfaces or crappy APIs. Some developers may not notice or care, sure, but for many the feeling is, "this doesn't seem right, but I'm not exactly sure what's wrong or how to fix it." And that feeling is the taste-skill gap.

show 2 replies
purplesyringalast Saturday at 6:17 PM

That's absolutely not the case. I can look at code and realize that it's garbage because the architecture sucks, performance degradation is out of the window, and there's lots of special casing and unhandled edge cases. That's the taste part. But I can also absolutely be underqualified and be unable to figure out how to improve the architecture, fix performance issues, or simplify special/edge case handling.

show 1 reply