There’s more to life than coding—such as the search for the perfect cup of coffee.
I can’t imagine coding without coffee.
It could come from my background in mathematics. After all, mathematician Paul Erdos famously said, “A mathematician is a device for turning coffee into theorems.”
Even if all mathematicians are coffee drinkers (which they aren’t), programmers definitely come in different flavors when it comes to the beverage we choose to give us that (no plug intended) jolt. Some prefer tea, some caffeinated soft drinks, but a whole bunch of us use coffee to start, restart, and sustain us through the day.
But if we drink coffee only to get that boost, we are missing out on one of the subtle, simple pleasures of life. A great cup of coffee is complex, in some ways more complex than a fine wine. Yet most of us drink coffee without thinking much about the taste. I think that’s because most of the coffee we drink is pretty bad.
I’m going to help you to make great coffee. Specifically, I’m going to show you how to take advantage of the summer grill season to improve the freshness and flavor of your coffee. You won’t want to roast your own coffee beans on the grill all the time—but it’s a fun thing to try, and it can definitely improve your coffee-drinking experience.
Why we roast
You can make huge improvements to your coffee by insisting on freshness. You already know that you want to brew the coffee right before you drink it, because you’ve had nasty coffee that’s been sitting on a burner for hours. It’s pretty easy to make this change at home. Pick your favorite method of brewing and make only as much as you want right now.
The next step in freshness is to grind your beans just before you brew. Buy yourself a decent burr grinder (not a cheap blade grinder, which will mangle the beans) and you’ll never have to buy your beans pre-ground again. As soon as coffee is ground, oxygen starts to attack it and rob it of its flavor. Buying whole bean will extend the life of the coffee you bring home.
The third step is to get freshly-roasted beans. In his book Home Coffee Roasting Kenneth Davids says that the moment coffee “is roasted it begins a rapid, relentless journey from flavorful to flavorless.” Davids says the biggest villains in this story are moisture, heat, and oxygen. He explains that the physical structure of the bean and the carbon dioxide produced by roasting initially protect these flavors. As time passes, carbon dioxide starts to leave the roasted beans, and this allows the oxygen to start attacking the flavors.
So if the beans were roasted just before you ground them and brewed your coffee, you would be doing all that you possibly could to preserve the beans’ physical structure and release the promise of the bean in your cup.
OK, you can grind the beans at home and you can brew the coffee at home, so why not home-roast the beans as well?
Relax; I’m not going all Martha Stewart on you. You don’t need to plant coffee beans and harvest the cherries and then dry them. And you don’t need to buy a coffee roaster to start roasting your own. If you have a grill or a hibachi, we’ll have you roasting in no time.
Just like any other hobby, roasting is a slippery slope. You’ll start out using this low-cost grill approach and the next thing you know you’ll be buying expensive equipment, unable to stop yourself.
I roasted my first batch of coffee about ten years ago. I followed the instructions and carefully roasted half a pound in my oven and set off all four smoke detectors in our house. That was the year that Kim encouraged me to buy my first home roaster and to use it outside.
I started with a simple fluid bed roaster. It was glass on the outside so I could watch the coffee beans turn from light green to tan to chocolate brown. I couldn’t roast very much at a time and the roaster only lasted a couple of years.
I moved up to a drum roaster. I could no longer see inside but I could smell the different stages of the coffee as it went from a grassy smell to a toasted grain smell to a coffee smell. And if I listened carefully enough I could hear the beans cracking, which allowed me to stop the roast when it had gotten to just where I wanted it.
Coffee beans are kind of like popcorn. As they cook, they crack. Except that coffee beans crack twice. After the first crack the coffee produced is quite good. But if you like a darker roast like an Italian, a French, or an espresso, then you want to let the coffee go well into the second crack. The beans will start to get oily and the flavor of the bean will start to be overpowered by the flavor of the roast. Have you ever noticed that when you get a French roast they don’t tell you French roasted what? It’s because you aren’t tasting much of the bean any more. You’re tasting the roast. Some chains thrive on these dark roasted—burnt beans.
Good, freshly roasted coffee makes such a difference—what? Oh, you’re sold, and you want me to tell you how to roast your own coffee beans? OK.
Home roasting the easy way
It turns out, if you have an outdoor grill, nothing could be simpler. I’ve used a small charcoal grill that I bought for under $40. I’ve also used a pan, a wooden spatula for stirring, a dish towel to hold onto the hot pan, and a strainer for cooling the coffee down afterwards. You can get started with little to no investment.
You’ll need a source of green coffee beans, to start. I buy my green beans from Sweet Maria’s online but I used to buy from local coffee shops. They generally would charge me half as much for green beans as they did for roasted. See, I’m actually saving you money. You might want to tell your significant other.
Fire up the grill and let the pan come up to temperature. You don’t need a special toy for this but I have a radar thermometer. I tried temperatures from 300 degrees to 700 degrees and found that about 400-450 worked best for me.
Fill the bottom of the pan with green beans and immediately stir; within a minute the beans will start to color as shown on the right:
You can see that the beans give off a lot of smoke—you don’t want to do this in the house.
After the first crack, a paper shell comes off of the bean.
I give the pan a light blow to separate this chaff but that can wait until the cooling step. Be careful! Don’t blow the embers around, or burn yourself in any of the other ways that you will discover.
In the roasting illustrated here, I took different batches to different degrees of doneness. I like doing this when roasting. You get different flavors from the beans at different degrees of roast. Instead of blending different beans together, as your favorite roastery might do, I’ll often blend different roasts of the same bean together. Here you can see a wide range.
When the coffee bean is ready, pull it off of the coals and dump it into a strainer. Shake the beans around to cool them off. You do this to stop the cooking and bring the temperature down quickly.
Some people mist their coffee with water at this point, but if you don’t know what you are doing you can do more harm than good so I would just woosh the beans around until they have cooled enough that you can touch them.
Now go brew a pot. You can let the beans rest. Some beans benefit from resting half a day or more, but there’s no harm in grinding up your beans and brewing a fresh pot right away. And there’s much satisfaction in tasting the results of your efforts.
The final step in enjoying a great cup of coffee is conscious tasting. With a sip of coffee in your mouth breathe in through your mouth like you are tasting wine. Engage the sides and back of your tongue. You should discover a wide range of flavors you’ve never noticed before.
Daniel is the editor for the new series of Mac Developer titles for the Pragmatic Programmers. He writes feature articles for Apple’s ADC web site and is a regular contributor to Mac Devcenter. He has presented at Apple’s Worldwide Developer Conference, MacWorld, MacHack, and other Mac developer conferences. Daniel has produced podcasts for Apple featuring the work of developers and scientists working on the platform. He has coauthored books on Apple’s Bonjour technology as well as on Java Programming and using Extreme Programming in Software Engineering classes.