The mantra is to become a better software developer, write more software.

However, are there activities I could partake in when I am not actually at the computer programming such as

  • doing certain kinds of logic puzzles
  • reading certain kinds of material
  • doing mathematical problems on paper
  • nurturing an artistic or musical skill
  • etc.

that have been shown to exercise the parts of my brain involved in programming, architecture planning, algorithm design, etc. or have been shown to be cognitively similar to those activities? And thus potentially lead to improvement in those areas?

  • Great question. Just not for here :) I believe in and practice puzzles and games just for that. However... vote to close... primarily opinion-based... Many good questions generate some degree of opinion based on expert experience, but answers to this question will tend to be almost entirely based on opinions, rather than facts, references, or specific expertise. – Michael Durrant Oct 28 '14 at 22:53
  • Could I phrase the question differently to ask for more fact based research or more tangible experiences? Like it was a cognitive sciences question, for example? – Ryan Jarvis Oct 28 '14 at 23:10
  • The answer to your question is yes. Did you need more information than that? – Robert Harvey Oct 28 '14 at 23:11
  • 1
    I could've sworn that this was asked nearly (actually) verbatim like 2 months ago... but I can't seem to find it. – Telastyn Oct 28 '14 at 23:41
  • What's the point? Are these other activities more accessible? Is there some reason why anyone who wants to get better at programming should want to do something else? Boxers punch bags because they can't punch each other all day long. – JeffO Oct 29 '14 at 10:40

You're basically describing the "Lumosity Principle;" that brain games will have a "spillover effect" into other cognitive areas. The only studies that demonstrate this effect seem to be those that are sponsored by Lumosity. There are even anecdotal studies that appear to demostrate that video games can be better at accomplishing this.

That said, there are substantial transfer effects for programmers solving puzzles, writing math equations and composing music. Why? Because programs are essentially puzzles. Because programs are mathematical in nature, especially the functional ones. Because programming is a creative endeavor, much like musical composition. Because the act of writing software is fundamentally a social one; you have to work with stakeholders, gather requirements, make plans, satisfy bosses, and exercise all manner of collaborative skills, technical and otherwise.

These kinds of activities have transfer effects because they are directly related to programming skills. It has to be the right kind of activities, in other words. But programming is like that; almost any sufficiently complex activity or human endeavor will achieve that.

Further Reading
Why Brain Training Doesn't Work

Not the answer you're looking for? Browse other questions tagged or ask your own question.