Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

> A high criticism tolerance is learned by understanding that ones self worth is not attached to output or delivery.

> You are not your lines of code.

These statements are sage advice. And while I believe them both to be correct, I personally struggle with remembering these things when it matters most.



The older I get, the more I'm convinced the secrets of life come in contradictory tuples, and the application of all elements at appropriate time and in appropriate ways. Zen koans were onto something.

{"You are not your lines of code", "You should feel proud when your code is good and embarrassed when your code is bad"}

Both of these things are true.

To the matter at hand, how to take criticism constructively, the key for me is bifurcating my emotional response from my logical one.

Emotional response is noted, thought about, but routed inward. Logical one is routed outward.

E.g. "This is the dumbest application of a bad sorting algorithm I've ever seen."

Emotional/inward: "That hurts. Am I a bad programmer? How did I not know this? Will I ever be a person who does know things like this? I respect the person who's telling me this: do they still respect me?"

Logical/outward: "Fair. What algorithm would you have used in this application? If you have time, can you walk me through how you would have picked it?"

People usually screw things up when they don't hold space for their own emotional response and commingle it with the logical one (e.g. manufacturing a logical justification for what is really an emotional feeling).


> the secrets of life come in contradictory tuples

A great phrase for what I've been noticing about my life as well.

{"You should be okay with who you are", "You should always strive to be better"}, or {"Desire is the root of suffering", "Being passionate about a goal is the only way to fulfillment"}

Finding the nuances in these phrases and living in the bubbles where they are not actually contradictory has given me a lot of peace.


I disagree with the second slightly, because we have a very limited amount of time in which to produce things that matter, and we spend the majority of that time producing code as developers. It better be important to us, or we should be doing something else.

Now, what we should realize about the code isn't the thing of value. It's what the code does and how it does it, that is the runtime output and the ability to express the intent to produce that output to a programmer who hasn't seen the output or the code before or in a long time.

Criticism is the best opportunity to improve those aspects of the code you write. So it should be of equal value to you as the lines of code the criticism is addressing.

Not all criticism is valid, even well-intentioned constructive criticism. Experience teaches you which critiques to accept and which to reject.

The only way to gain that experience is to solicit criticism from others, and give it to others.

No, we are not just our code, but our artifacts are a part of us, as we are a part of them. So we should be kind when giving criticism and gracious when receiving it. Because what we choose to do with our time matters.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: