In the past months I gladly went back to a workflow habit that I used to pursue during my college years. I call my re-discovered "productivity mood": Coding Wonderland. Why you may ask? Well, it's simply because I re-created the mood and the atmosphere I tried to achieve while developing projects for college. The years of discovery and passion for innovation.
Three are the main pillars that are help me achieve the right mood to get things done and reach Coding Nirvana.
Well, sort of... when in college I used to code at night, when offices were closed, everybody was asleep, and I could focus on my milestones. What really does the trick though is a good supply of music. Since I can't live without music, every occasion has it's customized soundtrack. I created a precise playlist that I use during my coding sessions: Developers, Developer, Developers! The loop enhances my work thanks to tracks by Burial, Clubroot, Apparat, Ellen Allien, Moderat, Hecq, Vector Lovers, and many more songs that don't involve lyrics I can learn and might start singing in my head causing distractions. Noise cancelling earphones such as like the Bose Quiet Comfort 15 make me completly immerge in my coding Nirvana. When I'm not required to dive deep in the coding process I might discover new tracks and mixes using web services such as like The Hype Machine or Shufflr.fm.
Uni-tasking is my way of life when it comes to code. I need to remove any distraction and have my mind completly focused on what I'm doing. I'm a Pomodoro Technique power user, but while developing it's quite difficult to just interrupt your mind flow every 25 minutes since I might go off track with that odd piece of script and disrupt my natural workflow. For this reason I doubled the concentration time to achieve more and addedd more minutes to the breaks so that I can unwind myself and lower the odds to becoming error blind because of too much commintment. People need uninterrupted time to get things done. That's why most of the most successful entrepeneurs prefer to work either early in the morning or late at night — times when they're not being bothered. Reaching Coding Wonderland is like rem sleep — when you go to bed you don't just fall to rem sleep, you go to sleep first and gradually make your way to rem. Any interruptions force you to wake up and start over. Coding Wonderland is a state of mind where the magic really happens. So let go of your communication addiction. Close Skype and your email client. Stay away from Facebook and Twitter. Switch off your cellphone for at least 50 minutes. And Unitask, unitask, unitask! You'll be astonished by the quantity of work you'll be able to do!
To reach Coding Wonderland, you need to gain mental clarity. The only other App I'm allowed to keep opened is Things on my iPad(or any other GTD task Manager). The GTD method allows me to focus on one thing at a time and free my mind from the task of remembering what to do next.
Set up 5 different Folders and name them: Inbox, Actions, Backburners, Active Projects, Archive.
Inbox: All your unprocessed files that still don't have a precise place to go must be put here. Downloaded one use only files, installers, random junk, this folder is what you may rename: Junk Folder. At the end of the day, this folder must be empty. All unused files, deleted, what remains, archived. In my case, it's my desktop. I have a rule that forces me to completly clean my desktop before switching off the terminal and going home.
Active: The name says it all. All your Active projects Must be placed right here, categorized by clients or tasks, once the project is done, the folder must me moved into Archive.
Backburners: Ideas, sketches, future personal projects and all other files that need attention, but not at this moment, can be placed here.
References: Frequently used documents, cheatsheets, templates must be archived here for quick access.
Next: All deferred projects end up here. Once needed they will be moved to the Active folder.
Archive: Completed projects that need to be archived can find peace here. This folder can actually be sub-divided in categories such as like Music, Movies, Pictures or find place in other folders of your computer, such as like "Documents".
Unclutter your desktop, virtual and phisical. A clean workspace helps you concentrate, eliminate distractions and keeps you motivate.
The bottom line is, if you do not use it or need it, it's clutter and need to be removed. A clean desk is the first step for a clean code.