Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Neurological Effects of Computer Programming?
82 points by amar-laksh on Sept 17, 2021 | hide | past | favorite | 104 comments
Does anyone know of any short or long term neurological effects (positive/negative) of computer programming/engineering?



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


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


I do this, and I never worked in any supermarkets.

It's just so mind-numbingly boring and frustrating in itself so turning it into a challenge helps me cope and even enjoy it.


So that's why I so much enjoy packing the dishwasher and optimizing how I arrange all the items. Interesting....


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.


This reminds me of a great scene from "Halt and Catch Fire". The lead engineer, Gordon, is supposed to be making dinner for his kids and putting them to bed while his wife is away, but he notices a small leak from the kitchen sink. He then drops all plans and next you see him under the sink. Marital problems ensue.


Common in real life: Wife comes home and tells husband about shit gone wrong in her day. Husband interprets this as asking for help solving those problems and starts offering suggestions. No, he was just supposed to listen.


Woo! new tv show to watch


It's really good, both as a drama with great characters, and as a show about tech.


A punk sexpot supermodel rockstar with awesome hair programmer? Really?

But that got me thinking. Say they did it different. Realistically.

3 alienated schlubs. Fat. Bad skin. Brilliant and driven.

Would the show have worked with that? I mean, realistically?

Do people like that have camaraderie? And society? Is that realistic?

I mean of course I like to think they do. But maybe they don't. Maybe it would be like 3 Pak Protectors pinging each other across lightyears.

And maybe it would still work showwise.

The demographic would be like 10 people. I'd probably watch it.

Also, there's some good music. Was that Dead Kennedys?


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.


> And non physically real things, like dreaming about wanting a drink in strange logic

My brother and I call this "dream algebra"


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.


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.


I’ve experienced this carry-over into my verbal communication with my partner before, it’s nice to have a name for it.


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.


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.


> 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!


Something I discovered as a reviewer was the importance of reigning in my own negativity tendency, i.e. to pick holes in things. If I reviewed something that I didn't personally like, but which would in fact still work, I learned to decide whether or not it was worth mentioning it or not. That way I wouldn't overload the reviewee with a mass of criticism, and the things that would genuinely need changing weren't hidden in a flood of picky little points.


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!


That book sounds interesting! Could you share a link?


Maybe this one:

The Idea Factory: Bell Labs and the Great Age of American Innovation

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


Yes, this one!


Thanks!


Probably not the same book, but the guy who developed Hamming codes (his name was Hamming obviously) wrote a stupendous book that talks a lot about his time at Bell called The Art and Science of Doing Engineering


Well it looks like I've now got two "stupendous" books to read :-)


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.


A lot disparage this career for "you sit in front of a computer all day" but fail to realize that this is the way a lot of other work has gone towards.


To be fair, I'd say those are "things this job doesn't provide" vs just harm.

Some people get their daily dose of excercise, social interaction and dopamine hits from their work. In our field, we don't, so we need to find complementary activities for that.


Number 3 (general negativity and naysaying) is horrible and pervasive. It takes a concerted daily effort not to fall too far into it.


At a lot of workplaces (mostly old-line industrial companies), programmers are the bottleneck because there aren't enough of them. This can lead to feelings of being used because seemingly everyone needs you to do something for them. This can trigger a generally sour outlook. I don't think there's a solution for the first problem, but you can change your outlook and see the constant work as job and career security. Also it's good to remember that the people with lots of downtime or makework at their job aren't necessarily shirking; they just don't have the tools to move forward without you.


Any tips on how to improve?

I've noticed myself really shrinking into a negative attitude lately -- not sure how to prevent myself from becoming the stereotypical jaded senior engineer (I do certainly feel like I have quite a bit management-wise to be jaded about though, which is part of the problem).


> Any tips on how to improve?

How you talk changes how you think.

Ages ago, desperate to stop being angry, and completely out of any other ideas, I decided "Fine, I'll just fake being happy, positive."

Shockingly, after about 3 years, what started out as mostly sarcastic, actually mostly worked. From my reading since, I stumbled onto techniques known to academics, practitioners.

To get a sense of the mechanics, imagine having the habit of swearing all the time, and wanting to stop. Habits can be replaced, not unlearned. So I literally scripted responses, practiced saying them, tried to use the new script in place of my old script, and caught myself when I goofed. Both in my head (internal dialog) and interacting with others.

It got easier over time.

Backsliding is super easy. Even now, decades later. You can't dwell on that. Just acknowledge it and get back to the program. (Get back on the horse.)

It helps to have "positive" people in your life that you don't want to disappoint. For instance, I'm mostly able to avoid trolling here on HN because I really value u/dang's approval and efforts and it'd kinda hurts me emotionally to disappoint him. Find people IRL to serve in that role.

And avoid other people displaying the habits you're trying to not do yourself.

Forgive yourself. Choose to become the best version of yourself. Be kind to yourself.

Good luck.


This is so true. I once had someone explain the problem very concisely: we tend to believe the things we hear frequently, even if we're the ones saying them. So we need to pay close attention to how we talk to ourselves.


Could you suggest some common negative expressions to map to more positive ones?

It'd be great if we could put together a list/gist.


Ya. Now that you point it out, that's a glaring omission.

It was a great deal of effort to monitor myself, flag the negative stuff, dig down to determine my actual root goal, and then figure out some kind of alternate positive framing.

Complimentary to this was learning that all negatives can be stated as a positive. (Something I got from an in-house corporate communications seminar, if you can believe that.)

My go to example from parenting is to say "Please walk" instead of "Don't run!". It was super effective!

(Transformed my parenting. Used my son as my guinea pig. I hadn't yet learned about positive reinforcement, which is really too bad.)

So. I'll start journaling expressions, as I remember them.

Thanks.


Explore environments where it's hard for you to be jaded/cynical. Nature or being around kids (volunteering to teach them how to code is one idea) immediately come to mind.


Also, excercise the ability to just not say anything.

By all means, don't bury your head in the sand. But some things aren't productive to talk about. Functionally, you get the same results whether or not you slight that other team / manager / process in a conversation.

Everything is always broken. But we get to choose if we only have conversations complaining about broken things.


A second pass of criticality on your own prediction can be helpful, especially if you can trick your mind into not re-using the identical logic and "facts" (heuristics upon premises, etc) when making the initial judgement.


It's a fantastic way to get top comments here though.


#3 is the worst. It's not even contained to my job - it's a huge hindrance in life in general.


Seriously. It's like you're constantly looking for logical reasons why something will fail. Gotta figure out how to stop it.


4) You can't stop noticing how poorly optimized many of the things in life are.


Omg exactly this.


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.


I’m 21 and my carpal tunnel was already getting quite bad. What fixed it for me was to use this keyboard [0] (with the stand to lift up the front) and this mouse [1]. I’ve tried a bunch of ergonomic keyboards and mice, some very expensive, and these are by far the best I’ve tried. The keyboard has the annoying quirk that it’s permanently paired to the dongle it comes with, so don’t lose it or you’re buying a new keyboard. The mouse is awesome though. Battery charges with USB-C and everything.

Basically a huge issue is that a normal keyboard and mouse force you to completely pronate your arms. That puts stress on your joints and isn’t healthy to do for an extended time (the bones in your arm are not a rigid system and actually move independently as you rotate them). The keyboard and mouse I recommend reduce significantly the amount of pronation required.

[0]: https://www.amazon.com/Microsoft-Ergonomic-Keyboard-Business...

[1]: https://www.amazon.com/Logitech-Vertical-Wireless-Mouse-Rech...


Third point actually sums up your whole post. Are there any positives?


>> Are there any positives?

Have you ever enjoyed solving a puzzle or solving a problem? We do that daily, even if we didn't decide which puzzles to solve.

Do you find satisfaction in fixing things or making them better?

How about designing or building things from scratch? Do you find that rewarding?

Flexible schedule? Remote work? Higher pay than XXX?

I think the point is that there are downsides people often overlook, not that there aren't any upsides.


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.


Curious, what does the designers being white have to do with anything? Are designers of other ethnicities immune to this?


Could have meant "whiney" and got auto corrected? Idk but yeah if mentioning ethnicity was the intention, it's a ridiculous statement


Yes, autocorrect but weird how that still fits. I’ll keep the typo for transparency.


> but weird how that still fits

Not really though.


I think they just meant that all the designers on the team happen to be white, so even with the typo, the statement is still technically correct.


Yup, this exactly.


Seems it was a typo, but I'd be surprised if creativity, self-confidence and other relevant factors are a constant across cultures.


That was a typo but anecdotally, the other Slack I’m in with a more diverse group of folks is a lot less negative.


Your skin color has no effect on your personality, sorry. The conclusion doesn't make much sense.


But a mix of people from different backgrounds will most definitely affect the group culture.


group culture != negativity/positivity. This is a motte and bailey[0] fallacy.

[0] https://en.wikipedia.org/wiki/Motte-and-bailey_fallacy


This exactly


I constantly interpret everything in life as a programming optimization problem. It drives everybody around me crazy.


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.


thanks for the lecture, but I already have a garage full of hobbies (to which I apply computer optimization techniques) and a family (to whom I've tried, but failed, to apply computer optimization techniques). I read for fun, etc, but I don't think any of that is going to change my mind.


It's not all bad.

If you can stop yourself from finding faults with everything, thinking about life in terms of complex systems is not a terrible idea.


One day, I read a foodback (a feedback suggestion) at Google from Jeff Dean. He told the food people they could turn a buffet line into two lines by letting people go down the other side at the same time, doubling throughput.


You might enjoy reading "Algorithms to Live By: The Computer Science of Human Decisions"


I do that too! That's part of the reason I was wondering what it does to our brains long-term


When you start dreaming about yourself being code and consisting of modules you know you've done something to your brain.


I once had a dream where I could 'pipe' physical objects through a bash command-line...


And that's how I started having problems enjoing games like Factorio.


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.


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


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


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.


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


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.


Humility is a great personality trait, but from my experience, programmers are unfortunately rarely humble.


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.


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


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.


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.


I actually started dating after I left university when I was twenty one years old. Till that moment I was drinking monster and playing dota most of the time while occasionally program something. Sad thing is I was terrible in that game.


I've found talking to myself out loud while coding kinda helps with that.


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.


Brain and Autonomic Nervous System activity measurement in Software Engineering: A Systematic Literature review : https://www.sciencedirect.com/science/article/pii/S016412122...

Check the "References" section on the above for a list of papers.


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.


Everyone who has programmed full-time for a good number of years will have had some of the negative effects, even though many go in loving programming itself. Things around programming, mostly the very things that make programming a practical skill, like making money, using frameworks and libraries, deadlines etc can make it a horrorshow. If I just work on little fun projects no one will ever see, I am that boy from 40 years ago again who loved every second of writing software.


Makes you think the universe is a computer and other such obsessions


Stephen Wolfram, is that you?


It might be



Leads to a massively inflated estimation of one’s intelligence from solving basic logic problems.


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


Interesting. I'm a software developer and I've only recently become aware that I seem to be deficient in this area. For example, I can imagine the concept of particular person's face (shape, features, etc.), but there's not really a visual aspect to it in my mind's eye. Of course, it's kind of hard to figure out if what you imagine is what somebody else imagines.


Coincidentally, within the original 1880 study [0] that first grappled with the phenomena it was most highly-correlated with scientists. He concludes that: "scientific men as a class have feeble powers of visual representation... My own conclusion is, that an over-readiness to perceive clear mental pictures is antagonistic to the acquirement of habits of highly generalised and abstract thought."

[0] https://web.archive.org/web/20160416064610/http://psychclass...


I'll tell you what, it'll aggravate any latent imposter syndrome you may be dealing with...


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.


There was an interesting thread about this on Twitter a while ago: https://twitter.com/PlanFlowDev/status/1317680078734696448


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.


Incredibly ironic comment


Are there any positives?


for me i speak differently and write differently writing: i do not use capitals or p unless i force myself to type a capital letter or punctuation speaking: when i dont pay attention i use "!" and "null"


You missed a semicolon at the end there.




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

Search: