On Taste¶
Disclaimer: This is another AI-related post, none of the ideas are mine, but at least I typed it myself.
You can put Mozart to a two year old, and learn that they prefer Baby Shark better. The most exquisite ceviche gives spot to mac’n’cheese. The problem is not a lack of taste, babies have taste. And it’s not that different people like different things.
The truth is that the taste must develop. It can’t be transfered, it has to go through stages. One has to satisfy the hunger for simple, crude experience before moving on to more elaborate.
When I was reading Gang of Four’s Design Patterns at 14 years, my thoughts were: “C’mon, why you overcomplicate”. When junior dev presents me the result of a week’s effort, I struggle to find where to begin explaining what’s wrong with it. When CEO is presented with exciting AI-generated code, they have no way to call out bullshit.
Taste doesn’t transer through exposure. It’s acquired through first-hand experience. For the first decade of programming, I could confidently find my own work of a year ago as garbage. Through many rewrites, I learned the patterns of what the good looks like. My lessons were mostly about the mistakes I did in the past, and therefore useless to anyone else. But every senior developer I know went through their own trajectory of years of unique learning experience to land at roughly the same spot as I am in.
AI, no matter how good it is, provides no substitute for that process. The output looks good at the first glance, but after building the full mental model of the problem space, has to be completely rewritten. But only if you have the skill to build the mental model. The skill, that didn’t come from slopping thousands of lines of code.
Sure, not every piece of code needs to be to the highest personal standard. Most of the time, the thing that works today, is better than the better thing one week later. The only thing that can tell what’s good enough is the taste. The taste that was earned through years of experience, that AI-coding doesn’t provide.