TITLE: Don't Stop The Car AUTHOR: Eugene Wallingford DATE: September 19, 2012 4:57 PM DESC: ----- BODY: I'm not a Pomodoro guy, but this advice from The Timer Knows Best applies more generally:
Last month I was teaching my wife to drive [a manual transmission car], and it's amazing how easy stick shifting is if the car is already moving.... However, when the car is stopped and you need to get into 1st gear, it's extremely difficult. [So many things can go wrong:] too little gas, too much clutch, etc. ... The same is true with the work day. Once you get going, you want to avoid coming to a standstill and having to get yourself moving again.
As I make the move from runner to cyclist, I have learned how much easier to keep moving on a bike than it is to start moving on a bike. This is true of programming, too. Test-driven development helps us get started by encouraging us to focus on one new piece of functionality to implement. Keep it small, make it work, and move on to another small step. Pretty soon you are moving, and you are on your way. Another technique many programs use to get started is to code a failing test before you stop the day before. This failing test focuses you even more quickly and recruits your own memory for help in recreating the feeling of motion more quickly. It's like a way to leave the car running in second gear. I'm trying to help my students, who are mostly still learning how to write code, learn how to get started when they program. Many of them seem repeatedly to find themselves sitting still, grinding their gears and trying to figure out how to write the next bit of code and get it running. Ultimately, the answer may come down to the same thing we learn when we learn to drive a stick: practice, practice, practice, and eventually you get the feel of how the gearshift works. -----