Are Programmer Brains Different?

Eric Elliott
Oct 21, 2016 · 6 min read
Image for post
Image for post
Yann Pinczon du Sel — Piano Piano (CC BY-NC-ND 2.0)
  • Creativity — Software developers must be able to design software components and systems that work together to meet requirements.
  • Communication — Software developers must write software that is easy to read, document that software, and communicate functionality to teammates and potentially to users.
  • People skills — Software developers frequently work in groups, collaborating on systems with several other developers, communicating with managers or customers, working with visual designers, etc…
  • Learning — Technology changes at an incredible rate. Software developers must be expert learners, able to adopt unfamiliar frameworks and quickly become productive with them.
  • Detail oriented — Developers must consider both the happy path, or ideal user interaction, as well as what happens when connections fail, when unexpected inputs occur, etc…
  • Big-picture oriented — Developers must be able to hold in their heads the over-all structure of the application: How various pieces fit together and interact.
  • Math & abstraction — Software developers must be comfortable with abstractions & computational models. Functions will represent everything, including math formulas, network communications, drawing to the screen, and handling user inputs.
  • Logic — Developers must be able to read and write potentially complex logic to handle switching and flow control.

Expert vs Novice Brains

Expert brains and novice brains are usually quite different. For example, when a novice piano player is beginning to learn a new piece of music, that novice player is thinking much more actively about how to play it — actively engaged in the simple task of playing the correct notes.

The Musical Brain & Software Development

You may recall that CS students reading source code activated areas of the brain associated with working memory. It turns out that musician’s brains have enhanced working memory capacity.

Conclusion

Are programmer brains different? Evidence from related studies support the idea that programmers may have enhanced working memory capacity, heightened language processing skills, stronger analytical skills, and possibly enhanced hippocampus capacity. We need more specific research in this area to be sure that the results hold for broader programming activities.

Programmers need to condition their brains the way athletes condition their bodies.

Put in the work, and your brain will strengthen and rewire itself to support your efforts.


Learn JavaScript with Eric Elliott


JavaScript Scene

JavaScript, software leadership, software development, and…

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store