
John Carmack on Code Shaming vs. Coder Shaming - joshka
https://disqus.com/home/discussion/varianceexplained/a_million_lines_of_bad_code_variance_explained_20/#comment-1974419008
======
iokevins
"An idiot wrote this code" and "this code is crap" both represent moral
judgments. That is, implied wrongness/badness/and so forth, with respect to
the evaluator's values.

People judged that way commonly respond in one of two ways: 1) with
defensiveness/anger; or 2) taking it personally/withdrawing. OP seems to
rhetorically refer to the latter, when he writes, "Would you have continued
asking for help?" Alternatively, they might respond in the way Carmack
describes, using the criticism as a way to grow.

I think Carmack misses a key insight, however. With respect to feelings of
guilt and shame, I'm completely in agreement that they can represent a wake-up
call to further self growth--but only insofar as we can link them to the human
needs they are telling us to pay attention to. That's where the self growth
occurs. I'm not in agreement with using guilt and shame, as tools to get
people to conform, because doing so focuses our attention on what we want
people to do, not why we want them to do it. They're both important; without
the latter, it's just obedience training.

Maybe it was a need for efficiency/understanding of the implementation, as in
OP's case, which triggered the guilt/shame, or maybe something else, as in
Carmack's "WTF was I thinking" (for example, compromised quality due to lack
of sleep due to schedule pressure).

With impostor syndrome so common, even with people at Carmack's skill level, I
think we can do better and still preserve honesty, transparency, openness, and
so forth.

~~~
DefaultUserHN
If a coder writes bad code, it doesn't mean the coder is a bad coder. However,
if the code keeps writing bad code time after time without refusing to
improve, then the code is a bad coder and needs to be fired.

If you will not do what's necessary to become competent, to be qualify for the
job you're hired to do, then you need to be fired. No one in any kind of job
is excused from this. Being competent and qualified is a requirement of any
job.

~~~
iokevins
Thank you; I think we're in agreement, regarding a desire for co-worker
competency.

I think your comment helps with demonstrating the limits of what Carmack
describes as, "break[ing] through your defenses". Gulit/shame "break through"
to some, with the limitations I described, but it works counter-productively,
with others.

How an employer chooses to handle this hypothetical person represents another
discussion entirely.

------
whoopdedo
From the original post:

    
    
        If you’re an experienced programmer and you’re tempted to code-shame someone,
        try thinking back to your own million lines of bad code. Imagine someone
        had mocked you then... Would you have continued asking for help?
    

Yes. Yes I will criticize other peoples mistakes the way that I've been
criticized for my mistakes. Because if making a mistake has no negative
consequence then you (and I) will continue to make that mistake. Is it worth
being ignorant of our shortcomings just to save ourselves from hurt feelings?

