5 Reasons You Should be Free Coding

Free coding is the practice of writing code quickly off the top of your head.  It should be done as part of a daily ritual for at least 10 uninterrupted minutes.  The goal isn’t necessarily to produce something useful or even complete.  You should strive to open the taps of originating thoughts in your head and pouring them quickly into a text editor.

Here are five reasons you should be free coding:

One: Mastery is gained through deliberate practice

Free coding gives you a chance to repeatedly practice your skills as a programmer. You will identify gaps in your knowledge and improve your recall and speed as you write more and more code. In the first couple weeks of doing daily free coding sessions you will probably run into blocks as you code yourself into a position where you don’t know what the name of the method you want is. The more you free code the less often you’ll encounter these blocks.

Two: Learn by doing

Sometimes it’s not easy to decide what to code. Pick an aspect of the language, or an API you’d like to explore to seed your ideas and just play with something new.  Learning by actually writing code gives you a different appreciation for it compared to reading it in a book or blog post.

Three: Warm up

Perhaps you’ve heard about asian companies that mandate a pre-work exercise ritual for all employees. Free coding helps to get your mind ready for real work.  By limbering up your mind and getting a good flow of code from your head into a text editor you engage the physical and mental skills you need to be productive.  This warm up can be a great way to context switch from your commute to programming.

Four: The Zone

The zone or flow is that mental state where code pours freely as quickly as you can type. Free coding can set you up for this. You may reach output rates of 100’s of lines of code per hour during a free coding session and that sets the bar as you transition to work code. If you can reliably get into a flow state you will be regarded as a superstar programmer known for getting things done.

Five: Create Something Useful

Use your free coding time to create scripts that help you out on a day to day basis.  What you write doesn’t have to be throw away code.  Write something that renames/organizes your files, or that automates something you do regularly.  Simple scripts that can save you time but you never bother to write.  Free coding time is your chance to fix those little processes that can streamlined.  Easy code that you can write without getting bogged down in project specifications or unfamiliar APIs.  These scripts can compound to produce real benefits on your productivity.

You may be doing other things to improve your productivity – eliminating distractions and reducing multi-tasking but those techniques are more about optimizing your time.  Free coding will actually make you a better developer who can produce more in less time.