Thursday, December 15, 2011

Getting Stuff Done

I'm planning another blog to track my other interests: songwriting and music in general, and perhaps gigs and other social stuff. Anyway, I've been reading The Frustrated Songwriters Handbook and re-reading Writing Better Lyrics and getting some great ideas and general motivation from both. They are very different books in almost every imaginable way except one.

Both books deal with the problem of slow startup time for creative activity.

The central activity frustrated songwriters are encouraged to try is the 20 song game: set aside a day to write 20 songs and then show them to other songwriters who have done the same. Yes, 20, in one day - then do it again. I'm planning my first effort soon, maybe this weekend, if not then in the week after Christmas.

One of the very first exercise in Pat's book is called object writing set aside 10 minutes each day to write concretely about senses and experiences surrounding some particular object. Stop at 10 minutes. Even if you're bursting with ideas, stop at 10 minutes. After just a few days you start to learn to skip the pretence and centring and all your little rituals, all you can do is as he says dive deep for the good ideas fast.

Both these books are addressing problems of being blocked, of procrastination, of inefficient work practices, and such, that plague songwriters. It's particularly a problem for songwriter because it's normally something you need to fit around the rest of your life. Obviously as an amateur, but even for professional performing musicians distractions like preparing for the next gig, or taking students, and so forth, get in the way of writing music.

These songwriting exercises are not directly about producing songs, they're training techniques that help you hit the ground running when you write.

It seems to me that a very similar problem effects many professional programmers. There's a lot of code that I want to write, more than just what I must write in the office. I want to polish up portfolios pieces, I want to explore new ideas and learn new languages, I want to demonstrate all manner things, and I never seem to have the time, family and friends need my attention, household chores must be done, and so on and so forth.

So, as programmers, are there similar exercises that can make small chunks of time more effective for practicing what we do?

Here's a challenge, the equivalent of object writing, half-hour programming sessions. Make yourself a promise that for some reasonable period of time, (a week, a month, ...), you will work on a project for 30 minutes each day. At the end of 30 minutes, no matter where you're at, stop. If you're in the flow, stop, and let that remind you to get rolling even faster tomorrow. Maintain the commitment to 30 minutes every day for your chosen period, don't work longer today and then give up tomorrow. Outside of that 30 minutes you might need to fix up your tools and environment to make sure you can get the most out of that 30 minutes.

Here's another, the equivalent of the 20 song game. Write 6 programs in one day. They can be anything you like. It would be more interesting if they were different types of programs, maybe even different languages. But the should actual work as deployed programs. For example, write: a game, some data visualisation, a to-do list, a network monitor, a shopping cart, and a web photo light box, all in just one day. Can you wake with no idea what you're going to write, and just make a bunch of programs. Can you do it again next week? What bits of your environment will you need to polish and tune to achieve that 6 program target, what will you need to practice so that you don't waste time next time? Unless you think they are exceptionally cool, they need only be shown to other programmers who've taken the same challenge.

Good luck, here's hoping for a more creative and constructive future.

No comments:

Post a Comment