Hacker News new | ask | show | jobs
by lexicality 1120 days ago
> I think you actually are, in a very real sense. Someone else would have written different lines of codes. The lines of code are a function of yourself, an inherent part of you. Criticizing the lines of code criticizes that part of you. You can’t criticize a novel without implicitly criticizing its author. When we criticize an LMM’s output, we are typically criticizing the LLM. Perceiving criticism of one’s own work as something personal is only natural, and logical.

I disagree on the strongest terms. You need to work with a mindset to your own growth an evolution. It was me who wrote these lines of code an hour ago, but I would not have known to write them a year ago and I will know better than to write them like this in another year's time. Possibly I wouldn't even write them like that now, having thought about them for an hour.

I am not a perfect coder, some Omnipotent god. Everything I write is a tradeoff of my current set of knowledge and the pressures I'm under and is therefore inherently flawed.

If someone criticise my code it's because they either know more than me, in which case I have learned why I shouldn't have done that and will adapt for the future, or it's because they know less than me and I haven't clearly explained the tradeoffs in which case I have learned that I need to express myself more clearly and will adapt that for the future.

(Of course it might just be because they didn't bother to read my commit message but that's a different problem)

1 comments

Part of this reads as if you're not allowed to be criticized for some reason. How is "I am not a perfect coder" really different from "I'm inherently flawed"? Being flawed just means you're not perfect. People are flawed. Everyone is. One doesn't have to feel bad about it. One only needs to take responsibility for it. And then one can actually feel good about having acted responsibly.
> How is "I am not a perfect coder" really different from "I'm inherently flawed"? Being flawed just means you're not perfect.

If you believe that your coding ability is an inherent part of you, then they are not different. If you believe that your coding ability is an ever-changing attribute of you but not core to who you are, then they are very different.

If x is 5, then x + 5 and 10 are the same thing. If x is 3, then x + 5 and 10 are not the same thing.

A good question to ask is which model is more useful, or which model is more likely to lead to various outcomes you might want. "Me=my code" is pretty good for producing top coders and winning competitive situations. It also tends to produce burnout and assholes. You aren't stuck with always using one or the other, either. A lot of people start with "me=my code" when younger, then switch partially or fully to "my code=my code" later when their initial model starts leading to conflict and inefficiencies in a system larger than just one or a few developers. (Or they start finding value in non-coding pursuits.)

> Part of this reads as if you're not allowed to be criticized for some reason.

That was definitely not my intent, and I'll take that on board as an area to improve on :)