When I was a freshman in college, MP3s weren't all that easy to come by. I had about a hundred of them, five of which were Eminem freestyles. His freestyles were amazing, but my favorite was one where a DJ would throw him words like "Peanut Butter" that he had to rhyme a few bars with. It wasn't the best rap in the world, but his skill was amazing.
He made it look so easy that a couple friends and I decided to give it a try. We sat cross legged in triangle, put on a beat, and took turns. We were horrible. Coming up with two lines with the right amount of syllables that actually ryhmed was a rarity. Three lines never happened. After about five minutes we were discouraged, a little embarrassed, and gave up.
I didn't stop freestyling, though. In fact, I've practiced almost every day since then. I'm still not great at freestyle rapping, but the mentality has leaked out into the rest of my life. I'm a freestyle worker.
When you think about it, freestyling is just the skill of doing pretty good work immediately. It's actually a very minimalist way of executing-- you come with no preparation and no resources, and you do your best.
Most of my writing is freestyling. I come up with a one or two word topic, maybe have an idea of how the post is going to start, and then I just let loose. A lot of the time I get to the bottom and the post is about something totally different than it was when I started, so I have to change the title. The average quality of a post written this way is probably only a 3 out of 5, but it lets me write a decent post in about twenty five minutes. Just as some of Eminem's freestyles are as good or better than his songs, sometimes my freestyled blog posts are good enough to make it to the blog.
I've given speeches this way before, too. I was asked to do a talk in New York, so I wrote six bullet points on a piece of paper on the train, and then just started talking once I got there. Programming is very much like this as well-- I wanted to make a program to email me when good flights showed up on FlyerTalk, so I just started coding. Thirty minutes later, the thing was done.
Freestyle working creates really good habits. It pares your personal requirements to get work done down to nothing. It encourages creativity and efficiency. It makes it easy to build a large body of work.
But maybe most important, freestyle working gives you a base upon which to build. It sets the bar for your minimum quality work, and it sets it pretty high. You can take something you've freestyled and then edit it and build upon it and refactor it to create something really great.
No matter what you create, you can practice freestyling it. Just give yourself a really short time limit and start immediately. If I was an artist, I'd do tons of five minute sketches until I could get the rough forms of images down extremely quickly. As a programmer, you can challenge yourself to come up with the solution to a problem in five minutes, and then polish it afterwards if it needs it. As a chef you could give yourself ten minutes to prepare a meal before throwing it in the oven or pan. The idea isn't to produce all of your work in this fashion, only to be able to if you need to, and to develop the habits that accompany this sort of practice.
Photo is blog reader / champion Justin's leg... with me tattooing my logo on it! That's two items off the bucket list: 1. getting to give someone a tattoo 2. getting my name/logo tattooed on someone! Huge thanks to Justin for the opportunity! Fitting with the theme of the post-- I did the star in the A freehand, and 3 out of the 5 points came out good. Here's a bonus picture of the end result: