I made dinner for some of my friends in Mexico CIty last night and while I was plating everything one of them asked me why I started cooking. My standard response was that it’s a great way to get my head off of writing code and that it’s so much different than what I do every day.
Later that night, while cleaning up, I thought about it some more and it really isn’t that much different. The thing that I think I like about it is that it’s a finished product every time. Other than that, it’s actually quite similar to what I do for work.
1) Project Planning
* What will I be cooking? (Overall Concept)
* Who am I cooking for? (Intended audience)
* Does anyone have allergies I should know of? (Accessibility concerns)
* What time is everyone arriving? (Scheduling)
* What if something doesn’t turn out right? (Contingencies)
2) Actual Cooking
When you’re actually cooking, you can find better ways to make something just like when you’re coding. You can re-use dishes and combine ingredients to make a custom result. You really have a lot of flexibility within a semi-constrained set of guidelines (flavor).
On top of that, you have things to consider:
* What order do things need to be cooked in? (Planning)
* Do I have all the tools I need? (Resource Allocation)
* Do I know how to cook everything? (Skills Requirements)
3) Plating and Setup
Inevitably, if you’re cooking a big meal, the kitchen is in a bit of chaos at this stage. Now comes the decoration. This is what your guests are actually going to see. You plan out your presentation, set the plates up and lay everything out so that it is well accepted by your guests.
No matter how messy the process was, if the plating looks good and the food tastes great you’ve done well. Just like with any project though, you can have ugly presentation for great food or great presentation on crappy food. Finding the best of both worlds is tricky, but very rewarding.
3) Cleanup
This is where you take away all the mess caused by the cooking process. Get rid of the excess, wash the pots to give them a break and get them ready for the next time you need them, and get your working space back in order.
The end result is that you have an entire project from concept to completion done in one day. I think that it’s important for people to feel a sense of accomplishment and completion. In my industry, projects range from a few week to a few months, and others seem like they never end. Cooking provides that feeling for me.