top | item 28550319

Ask HN: Neurological Effects of Computer Programming?

82 points| amar-laksh | 4 years ago

Does anyone know of any short or long term neurological effects (positive/negative) of computer programming/engineering?

104 comments

order
[+] qq4|4 years ago|reply
I know that when I get into a "flow state" while programming I tell my spouse to have patience with the way I reason/talk for the next few hours. Best way I can describe how I feel is the Tetris effect turned up to 11.

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

[+] L_226|4 years ago|reply
Anecdote time: When I was in university I worked in a supermarket as a cashier. I became extremely efficient in packing groceries, in fact I took it as a point of pride to pack items as effectively as possible. Soft items on top or separately, tesselating boxed items and fully utilising bag space - without compromising bag integrity, approximately equal and manageable bag weights and sizes bespoke to the customer's strength. And everything FAST. I had repeat customers come specifically to me just for my packing. But I found that after my shifts I would nearly always dream about packing groceries, and operating the register.

These days I still enjoy arranging and packing my own groceries when shopping, to the infinite exasperation of my partner. I also enjoy the same thing with the dishwasher...

[+] sourdoughness|4 years ago|reply
Plus one here: I get a strong case of the cliche “man must fix problem” after a solid day of programming. It’s helpful when you can keep it in balance, but it’s definitely not the right tool for all situations.
[+] jcul|4 years ago|reply
I can relate to this.

Especially after intense bouts of focusing on particularly complex problems, I might experience thoughts and have dreams in strange logic / programming kind of modes, unlike normal linguistic thought patterns.

And non physically real things, like dreaming about wanting a drink in strange logic. Or if I'd been working on something very multithreaded, thinking in fragmented parallel modes.

Very hard to describe it with normal language. Can be almost disturbing when you wake and get back into normal thinking mode as it is difficult to relate to the previous mode.

[+] is0tope|4 years ago|reply
Definitely interesting phenomenon, I wasn't aware it had a name. The closest thing to this for me was when I played factorio for a week.

I feel like if you are a programmer that game will resonate with you heavily, making it possibly addictive. I set myself a goal of building the rocket, and then stopping. I know people however who went off the deep end with mods etc hah!

The thing I remember most however was how it invaded my dreams. I found myself dreaming at least a few times of conveyor belts, pickers and trains. I think possibly this was some low level version of the aforementioned effect.

[+] geijoenr|4 years ago|reply
I confirm I used to experience this as well, and I have the feeling it also has some long lasting effect in one's communication abilities.
[+] liamwire|4 years ago|reply
I’ve experienced this carry-over into my verbal communication with my partner before, it’s nice to have a name for it.
[+] jraph|4 years ago|reply
I don't see many positive things in this thread. I'd like to cast some positive light here.

I don't know if my mindset is what lead me to programming or if this is a virtuous circle, but I value how I approach concepts, ideas and people interactions in life, thinking clearly and consciously about problems and situations, including people problem, and I'd not be surprised to learn these things could be linked. There is also some creativity through out-of-the-box thinking to come up with solutions to random problems.

This stuff can be trained through other (analytical) activities than programming too, of course.

I do a lot of programming in my spare time and I don't see clear drawbacks specific to programming.

Approach life positively, be open-minded, be patient, your opinion is not necessarily the right one, don't be over-confident, spend energy into understanding the perspective of other people, etc. All this should be applied to programming too as soon as you work with other people anyway.

Programming does not make you antisocial in itself, and can certainly actually help if you leverage and transpose the rights skills at the right time. If you are the kind of people who are very analytical, even in interactions with people, that's a strength that can make you a very lovable, trusty person if you don't make it creepy. It can help you provide balanced, reasonable, valuable insight to someone who is confiding in you for instance. People may trust you for avoiding saying pleasant but false things, which makes your pleasant feedback more trusty. You'll find pleasant but true stuff to say anyway, thanks to your problem-solving mindset.

I also spend a lot of time with various people (most of them not being programmers) and going outside, and that's also a very important aspect of who I am. Programming does not prevent this.

[+] johntdaly|4 years ago|reply
Google “Programming ruined my life” or a variation thereof. There are 3 things to keep ahead of:

1) Programming is a sedentary job, if you don’t take care of yourself (some sport, weight lifting, something keeping you active) you will feel physical strains over time.

2) Burnout is a possibility, I’ve seen programmers that had burnout, not self diagnosed but actual burnout. It was not pretty. Ever since I try to watch out for my mental healthy. It is easy to be put under enough pressure to break or even put yourself under that pressure (imposter syndrome …)

3) General negativity and naysaying. Part of the job is finding problems, debugging and generally poking holes in ideas so you don’t waste a lot of time implementing stuff that is impossible to begin with. Don’t let this become a part of you, don’t even let this take over in your job. It will rob you of the joy of programming.

That is what I gather from articles I’ve read over time and from myself. I am not aware of any research, just anecdotal evidence.

[+] kace91|4 years ago|reply
> 3) General negativity and naysaying.

I am guilty of this, and I've never thought about it as a problem, just as how my mind is wired. That comment was a bit of an epiphany for me so thanks!

[+] MrQuincle|4 years ago|reply
About 3. One of the coolest attitudes I saw was from someone (autistic, but that doesn't matter) who approached every problem as something to love, to cherish, to appreciate. Now I'm reading a book about the early days in Bell labs. I feel through the pages how much fun they had with finding issues, finding things to improve, finding out the future. I think there's so much to gain if you can find a positive approach to problems. Also in real life!
[+] api|4 years ago|reply
A student once asked me an interesting question: "what are the occupational hazards of this career?"

Most people naively assume there are not any.

I told them poor health due to a sedentary lifestyle, depression, and social isolation.

[+] newsbinator|4 years ago|reply
Number 3 (general negativity and naysaying) is horrible and pervasive. It takes a concerted daily effort not to fall too far into it.
[+] junon|4 years ago|reply
#3 is the worst. It's not even contained to my job - it's a huge hindrance in life in general.
[+] aspaviento|4 years ago|reply
4) You can't stop noticing how poorly optimized many of the things in life are.
[+] AnimalMuppet|4 years ago|reply
4) Damage to your fingers, wrists, and eyes. (Yeah, I know, the people with physical jobs that destroy their bodies are breaking out the world's smallest violin...)

At a minimum, carpal tunnel can be considered neurological.

[+] hsuduebc2|4 years ago|reply
Third point actually sums up your whole post. Are there any positives?
[+] NetOpWibby|4 years ago|reply
Number 3 is killer. I’m in a private Slack with a bunch of white designers and boy are they negative. ANYTHING gets released and they hear about it? Teardowns that’ll make iFixit’s head spin!

I take a leave of absence when the force is strong.

[+] dekhn|4 years ago|reply
I constantly interpret everything in life as a programming optimization problem. It drives everybody around me crazy.
[+] bobthechef|4 years ago|reply
This is the Law of Instrument. It's a disease. (It isn't a "neurological effect", pace what the other commenter suggests and despite whatever neurological correlates it has, strictly speaking.)

To broaden your horizons, consider diversifying your interests. Don't use ALL your time programming. Devote some of the free time you might be using to program for others things that broaden the mind. Try good literature (classics), good philosophy (approachable in the way its written unless you want to become a scholar of this stuff), and leisure. Literature helps you break out of the prejudices of your own culture. Philosophy lets you develop a clearer grasp of the big picture and ultimate reality. Leisure (NOT recreation) entails the passive absorption of the world around you and allows it to enter into your mind without you running your gears all the time. Contemplation is perhaps the purest form of leisure. It dissolves our alienation from reality. Turn those gears off and you have a better chance to break out of your mental rut.

Over time, you will put programming in its place.

[+] ferd|4 years ago|reply
You might enjoy reading "Algorithms to Live By: The Computer Science of Human Decisions"
[+] amar-laksh|4 years ago|reply
I do that too! That's part of the reason I was wondering what it does to our brains long-term
[+] gjvnq|4 years ago|reply
And that's how I started having problems enjoing games like Factorio.
[+] swayvil|4 years ago|reply
Speaking as a meditation guy.

When you spend a lot of time concentrating your attention (as we do when solving our engineering puzzles) you tend to stay concentrated. It becomes a lifestyle.

And when you spend a lot of time concentrating on ideas, you tend to stay concentrated on ideas. Ideas are your world.

But ideas are not the world. The world is infinitely larger.

And concentration is brother to blindness. Which is to say, concentrating on X leads to ignoring Y, Z and Q.

Pardon me if this is vague.

[+] mekkkkkk|4 years ago|reply
> Ideas are your world.

Wow, I feel that this describes me perfectly. I've never considered it before, but I tend to think in hypotheticals, generalized broad solutions or abstract concepts. I rarely spend brain power thinking of practical or tangible things. Maybe this is a consequence of (or reinforced by) programming since an early age.

It has certainly taken it's toll. I'm always the one that forgets social occasions, leaves a mess and have sub-par social skills. My mind is always "in the clouds" so to speak.

[+] fvv|4 years ago|reply
don't worry it's not vague I think both types of thinking are needed, creativity can be suppressed by too much concentration or fatigue, but it certainly becomes more effective if nourished by the knowledge that concentration helps to obtain
[+] sdeep27|4 years ago|reply
I think it's a great question, and one that specialists of all fields should ask themselves (-> https://en.wikipedia.org/wiki/D%C3%A9formation_professionnel... ).

As a solution, everyone will find different things that work for them, but doing things that have no relation physically/mentally to work (screen time, high logic use, software related problems, sitting) and essentially are on the opposite end of the spectrum, like hiking, swimming, tennis have helped for me.

[+] amar-laksh|4 years ago|reply
Thank you so much for the term! This is exactly what I was looking for in order to start a deep dive that hopefully will help with Déformation professionnelle! :D
[+] mbar84|4 years ago|reply
Who knows about correlation or causation, but programming and humility go together. Training people to always ask the questions:

  - How do I know that this is true?
  - What would otherwise have to be true for this conclusion to follow? 
  - How can I bisect this process to test a hypothesis?
So much wishful thinking and jumping to conclusions could be avoided if programming (and debugging more specifically) is a training to viscerally understand the scientific method.
[+] tompazourek|4 years ago|reply
Humility is a great personality trait, but from my experience, programmers are unfortunately rarely humble.
[+] nescioquid|4 years ago|reply
I read a about a study which considered how scientists and engineers who wrote code thought about their programs. The scientists considered their code as an extension of their own thinking, whereas engineers were mainly preoccupied with how the code could fail.

There is probably also a virtuous cycle which reinforces how the scientist and engineer view their code, so it may be hard to untangle how much of that thought pattern was "innate" vs learned.

I think your question is interesting and I wonder if it may depend (in part) on one's motivations for writing software.

[+] civilized|4 years ago|reply
> I read a about a study which considered how scientists and engineers who wrote code thought about their programs. The scientists considered their code as an extension of their own thinking, whereas engineers were mainly preoccupied with how the code could fail.

This makes sense when you consider why they're writing the code. Scientists use code as an electronic brain to answer scientific questions that are too complicated to answer mentally or with pen and paper. Engineers create services that don't necessarily answer scientific questions, but do useful work and need to be reliable.

There is a substantial intersection though: for example, Google provides services that answer interesting/scientific questions, like "what are people saying on the internet" and "the frequency of words in books over time", while also being thoroughly engineered for performance and reliability.

[+] adflux|4 years ago|reply
Losing people skills. Not running into many women in your place of work. Your group of friends consisting of mostly (programming) men, who struggle to meet or even talk to women.
[+] gibbonsrcool|4 years ago|reply
This hit close to home. I don't think it's exclusive to programmers. I think this is happening in all industries, we just see it to a greater degree. Everyone's aware of polarization in politics, but I think it's happening to race, gender, and any other culturally distinct segment of humanity. With all this increased connectedness, we're distilling into groups that are like-minded, politically and otherwise.

I went to an all boys school. I believe it was terrible for social development and made it hard to relate to women. When I see that same-sex education is on the rise I feel we're making a big mistake.

[+] amar-laksh|4 years ago|reply
I've found talking to myself out loud while coding kinda helps with that.
[+] rajangdavis|4 years ago|reply
Anecdotally, it makes it easier to map disparate things into something more structured. I would rather have spaghetti code than a spaghetti brain.

Problem solving is dominant in my way of thinking which can be good or bad depending on the context. It's helpful for giving advice but terrible from an empathetic and listening standpoint.

On the negative side, I have hard time reading emotional tone in text.

It does not aid in communication nor soft/social skills.

[+] amar-laksh|4 years ago|reply
It's so telling that most of the comments here are either: cautionary tales or negative effects. I sure feel young and naive in this audience.
[+] streamofdigits|4 years ago|reply
Makes you think the universe is a computer and other such obsessions
[+] rajacombinator|4 years ago|reply
Leads to a massively inflated estimation of one’s intelligence from solving basic logic problems.
[+] agentcoops|4 years ago|reply
I've discussed the topic of "aphantasia" (the inability to form mental images [0]) with programmers at various jobs as well as with non-developer friends. It's certainly anecdata, but it's always been curious to me that I've only ever heard engineers identify with this condition -- and more frequently than the understood likelihood of it within the general population would lead me to expect.

So, again, not a known neurological effect of programming, but an interesting correlation I've observed between many of the best programmers I've known and the condition of aphantasia.

[0] https://en.wikipedia.org/wiki/Aphantasia

[+] ryandvm|4 years ago|reply
I'll tell you what, it'll aggravate any latent imposter syndrome you may be dealing with...
[+] siva7|4 years ago|reply
This is a good topic and vastly underappreciated. It’s a career where you should closely listen to your body and have an active lifestyle due to the sedentary nature of this career. When it doesn’t feel right stop for the day and look after yourself. Do some sport, meet friends. If it doesn’t help, change jobs. Never let someone above abuse you. Otherwise your health will start to suffer in the years coming.
[+] xyzzy21|4 years ago|reply
Sure: you get more rational, logical and objective compared to "normies". This is 100% a good thing and an improvement over the average person. It's part of why more successful CEOs et al. have engineering background than liberal arts.

There's also an effect on couples - my mother became radically more rational thanks to living with my father, an ME.

The other aspect: you don't put up with bullshit as readily especially of the propaganda/lying forms so common today.