Bob Balaban April 15 2007 02:00:22 PMI had a long personal relationship with Julia Child, who died in 1994, though sadly I never got to meet her. [This summary of her importance to me and the world by Christopher Lydon pretty well nailed it for me (though I could have done without the Camille Paglia stuff). ]
Drawing an analogy between good cooking and good code writing might be a stretch, but for me they do have a lot in common.
My Dad transformed himself into a very good semi-pro cook (he's a doctor, but he also had a small cooking school for a while, and still, at 80+, does fund-raising dinners) in the early 60's by watching Julia on PBS. He took notes on a yellow legal pad, and yelled at us kids if we made too much noise during the program. I'd never seen anyone take notes from a tv program before. I learned a lot about cooking from him, and by extension, from her: know your ingredients, know how to use your tools, clean up after yourself, taste everything along the way, don't be afraid to experiment, you should try to make it look good as well as taste good, and if you screw up you can usually fix it, no one will ever know (and if it's not fixable, start over). Plus, you need to exercise some critical judgement as well: if it's good, say so. If it's not so good, say so!
I started watching Julia regularly myself maybe 25 years ago. I was impressed by her complete command of the dish, and by her sense of humor. She did drop a potato pancake on the floor in one episode (there's been an urban legend forever that she dropped a chicken or turkey, but buddy Leslie found a snopes page that says it ain't so), and people made fun of her for it (and because of her voice), but I didn't care. She picked it up, brushed it off and said to the audience, "See, you just fix it up and keep going. No one will ever know." Made sense to me, just make sure you get all the dirt off it. She combined a honed technique with a well thought-out plan (the recipe), a full (though relatively simple) set of the required tools, and a true sprit to create beautiful stuff.
And she ENJOYED it. A lot! Especially when she could do it with others. She understood (as I think most cooks do) that creating good food alone isn't nearly as much fun as collaborating with others to create even better food. One of my favorite all-time cooking shows was a 2-hour broadcast of Julia Child and Jacques Pepin cooking together ("Cooking in Concert" was the title of the show) before a live audience at Boston University. They split up the work in lots of different ways, communicated frequently, though not at length, explained what they were doing as they went along, and both of them made a lot of jokes (a line from Julia that has since become a classic was something like, "People are so worried about butter these days. Well, if you don't want to use a lot of butter, just use cream instead!"). About halfway through the preparation of a 4 course meal, Pepin looked around the counter and said in his heavy French accent, "Thees ees going to be gooood!" He seemed really happy about that.
Julia constantly passed judgement, both favorable and unfavorable. She knew the difference between "good food" and "not so good food", none of that "everything is relative, everything is good to someone" weird relativism. She had standards.
Should we software professionals aspire to, or even accept, anything less in our arena than what Julia Child taught in hers?
Are the principles embodied by Julia Child's career as teacher and doer of cooking good food any different from those we should be following for writing good software? Create good stuff, do it well, enjoy it. Understand your ingredients, understand your mission, know your tools, be able to tell the difference between the good stuff and the not-so-good stuff. Work together with people you like and respect and whose ideas may differ from yours. Don't be afraid to experiment. Make it look good AND work well. And if it's broken, fix it!
Do you have to be a code superstar with heavy chops to pull this off? Some professional chefs are so good that they make the complex look easy, but if you were to try it at home, you'd end up with a mess. The genius of Julia was that she could take a seemingly complex procedure and deconstruct it so that it WAS easy. The flamboyance and simple glee in her studio kitchen just made her seem like a regular person. My father used to say, "If she can do it, so can I."
So, next time you pull off a really good piece of code, clink a glass for Julia.
(Need expert application development architecture/coding help? Contact me at: bbalaban, gmail.com)
Follow me on Twitter @LooseleafLLC
This article ©Copyright 2009 by Looseleaf Software LLC, all rights reserved. You may link to this page, but may not copy without prior approval.
- Comments