As a programmer, the impetus to go as fast as you can is to be taken with caution as it helps you move forward but it can also hold you back.
Many times I’ve heard about “being in the zone” and sometimes I’ve had this feeling when code is just flowing from your hands but this state of mind is very tricky as you start to relax and stop being conscious. Being aware of what you’re doing and the road that lays in front of you is key to achieve your goals and not fall in mental traps of comfort.
Many times the lack of experience combined with great aptitude can lead to a feeling of trying to compensate with speed. Pure speed is akin to raw force, it can only get you so far. Great programmers are not measured in “Keystrokes per minute”. Better than being fast is making every keystroke count. Get to know your editor.
Patience is a great virtue and you should nourish it. When tackling a problem, the first thing to do is understand it, if you’re working with someone else even better, discuss it, validate your assumptions. When trying to use a library read the documentation first, read the man page, RTFM sounds familiar? When reading, be sure to actually comprehend what is written don’t just scan through pages, you need to really absorb the information, it will save you many hours of debugging and a great deal of frustrations. When you find an error read the back-trace, read the environment variables, don’t just assume you know the problem until you understand the cause. When coding unless you’re just trying something out, think about the ways you want the code to be used, think of your interface before your implementation. This is one of the best outcomes of doing TDD, so even if you’re not doing TDD/BDD/ADD or whatever flavor you prefer at least think from the outside, you will soon realize you need some tests.
Being conscious let’s you see the obstacles in front of you, so you can avoid them or just defer them until you’re better prepared. Be able to recognize when you’re stuck and back away.
And last but not least take pauses every so often, rest your eyes and your brain, take a deep breath, relax and you’ll be back into action with more energy.