Live data from Hacker News

Cognitive Dissonance in Programming

hangaroundtheweb.com

21–30 of 51 posts

Re: Cognitive Dissonance in Programming

#21
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.

I think this has a lot to do with certain developers not knowing much about security and not wanting to go down the rabbit hole of potential threats and concerns. In my experience a lot of people from project managers to developers would just rather ignore things they don't really understand (especially if it's not causing an immediate problem).

Re: Cognitive Dissonance in Programming

#22

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…

Indeed, I find the value of programming, emotionally, comes in part as a test of oneself against the inanimate world. There's no negotiating with a program, no sales, no bullying. If it doesn't work, it is abundantly clear whose fault that is. In its own way, this is a very comforting perspective. Read Shop Class as Soulcraft, by Matthew Crawford (one of my favorite books), for more on this.

One outcome of Crawford's analysis is that really skilled craftsmen (he would consider programming a craft) are excellent at admitting failure - it's the only path to success.

I do agree the author of the article doesn't seem to understand artists, and appears quite prejudiced against the artistic creative process. Creating art seriously is every bit as challenging as programming, mostly in the same ways.

Re: Cognitive Dissonance in Programming

#23
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…

I think of that as a flaw of perception, not cognitive dissonance.

Re: Cognitive Dissonance in Programming

#24
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.

Yeah, if you still call yourself bad at something you've practiced daily for thirty years, most likely what needs to be corrected is not your skill set but your definition of competence.

Re: Cognitive Dissonance in Programming

#25
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?

https://en.wikipedia.org/wiki/Puffer_train

A pattern in Conway's Life that generates an infinite pattern of live cells. (it's a pattern that drives forward across the cellular automata universe, continuously puffing out permanently-live "smoke")

Re: Cognitive Dissonance in Programming

#26
I don't see this is a real problem in professional development. The program owner or customer decides whether the behavior of the program is correct or not - not the programmer and not "the computer".

Re: Cognitive Dissonance in Programming

#27
post #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".

It's implied, isn't it? "I goofed up" is admitting that "I didn't test it thoroughly".

A more interesting question, imo, is: how does the user/customer community receive an honest admission of goofing up? Do users/customers think less of the programmer? Or do they value the honesty?

Re: Cognitive Dissonance in Programming

#28
post #27
post #19

Earlier quoted context omitted.

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".

It's implied, isn't it? "I goofed up" is admitting that "I didn't test it thoroughly". A more interesting question, imo, is: how does the user/customer community receive an honest admission of goofing up? Do users/customers think less of the programmer? Or do they value the honesty?

Yes, sure, because the programmer is the oracle of testing.

There are redundancies that should be set up in the development process for this reason.

Admitting the mistake gives you nothing but low opinion of everyone involved. (which is in itself sad) The only thing to do is to set up whole systems to prevent them from arising again. But that is expensive so is not done. Instead, everyone is moderately discontented with the junk they use.

Re: Cognitive Dissonance in Programming

#29
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…

Yes! This is a healthy attitude. Others say don't beat yourself up about it, I would say it's not about that, just not making assumptions that are useless.

Re: Cognitive Dissonance in Programming

#30
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…

It's always hilarious to see a 1 rep StackOverflow question about a "compiler bug" when the problem is very obviously a user error.
Post reply on HN