Live data from Hacker News

Cognitive Dissonance in Programming

hangaroundtheweb.com

11–20 of 51 posts

Re: Cognitive Dissonance in Programming

#11
I wanted to be a programmer from the age of 8. I noodled around a bit in BASIC, and then taught myself C at around 15 or 16. I was easily into my 20s before I could even reasonably claim that I understood C. I've turned 40 this year and even though I've written a lot of code in the last 30 years, I still don't really feel like I'm a good programmer, so I tend to always blame myself before the libraries or the compiler or the daemons or the hardware.

Re: Cognitive Dissonance in Programming

#12

I freely admit I'm defective. Software development is a constant cycle of solving problems and then solving the problems created by solving the previous problems. Fortunately, I love solving problems.

I am the same. In fact, there are whole classes of bugs that you overlook when you don’t consider it could be a stupid mistake that you, the programmer made.

For example, if you’ve ever written a “perfectly good, you know it has to work piece of code” and spent hours trying to prove that the compiler is wrong, or some other crazy reason. If you are humble about it, you can more quickly accept that you might have made a mistake and possibly find it more quickly.

This class of bug is, to me, the “it’s impossible for this code to break” type, where it really is impossible and you made an obvious mistake. In the rare cases where it is a serious problem and not your fault (also possible, but quite rare), it’s important to know how to do the hard work to debug deeply.

A skilled programmer knows both how to trust their tools, question themselves, but also how to question, build or fix their tools if necessary. I think patience/persistence and confidence/humility gained through experience, combined with being creative, thoughtful, open-minded and somewhat of a perfectionist (but not completely one!) is what it takes to code.

Re: Cognitive Dissonance in Programming

#13
post #4

> A programmer who truly sees his program as an extension of his own ego is not going to be trying to find all the errors in that program. On the contrary, he is going to be trying to prove that the program is correct – even if this means the oversight of errors which are monstrous to another eye. From the original 1989 "Version 1.0" of The Hacker Test[1]: 0477 Ever spend ten minutes trying to find a single-character…

Reading through fn [1] was fun at first but now I feel very old and frail.

Re: Cognitive Dissonance in Programming

#14
post #11

I wanted to be a programmer from the age of 8. I noodled around a bit in BASIC, and then taught myself C at around 15 or 16. I was easily into my 20s before I could even reasonably claim that I understood C. I've turned 40 this year and even though I've written a lot of code in the last 30 years, I still don't really feel like I'm a good programmer, so I tend to always blame myself before the libraries or the compile…

There will always be things you dont know.

I've learned not to beat myself up about it.

Re: Cognitive Dissonance in Programming

#15

It is an interesting perspective, but I find it flawed. First of all, the author doesn't seem to understand artists, so those analogies fail. Secondly the comment of: "But the one thing we never seem to hear* is a simple 'I goofed again.'" tells me they haven't worked with many senior devs. I find once devs have enough experience to not have self-esteem issues over their own skills, there is little hesitation to admi…

Maybe, but I would caution against assuming that either age or experience are antidotes to the phenomena described in the article. I've met some very experienced people (as in multiple decades of experience) who were still pretty insecure, and it definitely affected their work in exactly the ways described in the article. So to me it seems like genuine self confidence (or lack thereof) is a bigger factor.

Re: Cognitive Dissonance in Programming

#16
I disagree with article on so many levels. Positions where you truly code alone are rare. The issue of ownership is oftentimes issue of autonomy which is completely normal thing to seek. I heard programmers admit mistakes routinelly - except two rather toxic environments.

And so on.

Re: Cognitive Dissonance in Programming

#17
post #6

This is a great article and more people should read it. I was wondering why the sentences sound so familiar and it turns out it's heavily plagiarised (as in, a substantial number of sentences and paragraphs are lifted verbatim from) Gerald Weinberg's book The Psychology of Computer Programming (listed at the end as one of the "references"). Read this book; much of it is still very applicable decades later (and the ex…

I just stumbled across Weinberg's book at the library yesterday and thought that it looked good. I'm glad to hear that it is.

Re: Cognitive Dissonance in Programming

#18
post #4

> A programmer who truly sees his program as an extension of his own ego is not going to be trying to find all the errors in that program. On the contrary, he is going to be trying to prove that the program is correct – even if this means the oversight of errors which are monstrous to another eye. From the original 1989 "Version 1.0" of The Hacker Test[1]: 0477 Ever spend ten minutes trying to find a single-character…

What's a puffer train?

Re: Cognitive Dissonance in Programming

#19

It is an interesting perspective, but I find it flawed. First of all, the author doesn't seem to understand artists, so those analogies fail. Secondly the comment of: "But the one thing we never seem to hear* is a simple 'I goofed again.'" tells me they haven't worked with many senior devs. I find once devs have enough experience to not have self-esteem issues over their own skills, there is little hesitation to admi…

The thing is "a simple I made an error" is not a good enough reason: everybody makes mistakes but why weren't they caught in UT, ET, code review? Explaining the cause of errors and improving the process (IF necessary) is much more interesting than "sorry, I made a mistake".

Re: Cognitive Dissonance in Programming

#20
post #3

I thought this was an interesting article, but in real life I'm not quite sure how big the problem of programmers being unwilling to admit their own mistakes is. A checkin goes through many checks and eyes in which mistakes are bound to surface, and not admitting to those mistakes is not really an option most of the time. What's more, they are different kinds of checks, so if you can find an excuse for one thing tell…

Cognitive dissonance appears to be a very big problem with security - people not aggressively auditing their systems, rationalizing away concerns, etc.

Agreed, but a lot of automatic security scanning is really heavy on false positives, which can be extra obnoxious for people.
Post reply on HN