How to be a Productive Programmer

coding productivity Aug 30, 2019

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:

  • Organization: Non-trivial projects require good organization, naming and consistency in order to be comprehensible. Lack of organization results in lots of “hunting” for what you want and bugs from lack of clear structure.
  • Vision: It’s important to understand the vision of what the project is trying to achieve and where it’s going as well as what’s possible. Lack of vision results in code that’s brittle and can’t grow.
  • Collaboration: Unless you’re a solo developer you’ve got to be able to work with others. This means being able to understand, communicate your own points, work together on ideas & problems, and resolve differences.
  • Action: Whether it comes to writing code, dealing with a colleague, refactoring code or visioning, you’ve got to be able to take action. Sometimes a person’s personality will bias them towards imagining solutions instead of implementing them, while other times we seem to keep avoiding a task for reasons that may not be clear to us.

 

But... How?

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

 

One more thing…

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.

 

Shameless plug

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

Close

50% Complete

Two Step

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.