So, you want to be a more productive coder?
Yeah, yeah, design patterns and data structures and all that are important. But the truth is when it comes to building systems those will only get you so far.
Look at it this way: a great artist knows how to use brushes and paints and tools (but typically only uses a handful in their day-to-day work), but knowing how to use brushes and paints and tools does not make you a great artist.
“Coding” is all people seem to think about these days, but creating non-trivial software in a reasonable amount of time without going insane requires four skills:
While an experienced NLP coach can help you develop powerful skills, there are some simple things you can do on your own to get into the appropriate state of mind for each of the above tasks.
Because of the powerful connection between our senses (body) and our mind, movement and music tend to be very powerful and very effective in promoting a particular way of thinking while discouraging others.
Here are some tips on how to get into the right mindset and zone for each way of being:
Organization Listen to music based on strict structure, such as Bach fugures or Mozart concertos. Try doing something based on very precise and even sharp movement, such as karate or Tango.
Vision Listen to some ambient or jazz, move your body in flowing ways (think Tai Chi) or even sit and meditate.
Collaboration Upbeat dance music, especially music rooted in partner dancing like swing or mambo. Making time to do some partner dancing (if you can) is especially great, but also team-based sports like soccer or basketball.
Action Listen to some up-tempo rock or pop, and get your body into quick movements with jumping jacks, a punching bag or “power moves”.
No matter which zone you’re spending time in, or even if you're perfectly balanced between them, you have to watch out for stress and burnout.
Those are topics which entire books are written about! But at a minimum, for every hour of staring at the computer screen give yourself a good ten minutes of avoiding it and focusing on things further away from you, even better if you do this while taking a walk and/or doing a bit of light stretching.
And be mindful of getting into a combative zone with the computer when something isn’t working; getting stuck in a compulsive “quick change / compile / run / change again…” cycle can get both addictive and destructive very, very quickly.
If you’d like some deep-dive help with productivity and stress management please check out my course here. I truly am an expert in this field, having sourced contracts, executed work and shop for a house while raising young kids and helping with eldercare for my mom. :)