Last weekend, I stumbled onto Masterchef Australia while shuffling endlessly on TV. Having absolutely zero interest in cooking, I never thought I would watch such a show, but ultimately, I ended up watching the complete episode.

The most intriguing realization I had, was that, I never realized how cooking can be so identical to software development. Really! Here are some of my observations:

  1. You don’t start cooking, unless you have thought your dish through: People who rush into the pantry for ingredients are the ones who tend to lose out at the end of the competition. Knowing what you’re getting into and selecting a suitable technical stack is a mark of a good development team.
  2. Fixed-time competitions: You don’t have the flexibility of cooking endlessly. Getting the best possible dish out of the given time requires powerful time management and planning.
  3. Cook what you know can cook: Looking at what your competitors are doing kinds of distracts you from doing what you can do best.
  4. Improvisations come at a risk: Halfway down the timeline, you realize that something is not correct and you have to re-think your dish. It always has a huge risk factor associated. It also means intelligent use of available resources. Need vinegar but it isn’t available? No problem, use lemons for the acidity.
  5. Perfect blend: A great dish usually, is a perfect blend of multiple components and not just single one. One difference with respect to development is that a team is preparing a dish and multiple sub-teams prepare components in parallel, and later, merge it together. Each component has it’s own taste and flavor, but key is to keep the final balanced taste when you add it all together. Synergy is required between teams to bring the perfect dish to the customer.
  6. Some dishes require you to prepare 3hrs straight: While development, we often face requirements where we have to stretch ourselves physically and mentally to get things done. However, there is a limit to this. You obviously can’t cook all-day :)
  7. A well-presented dish isn’t necessarily a good dish: A bad-tasting or unbalanced dish can still look pretty from a distance. But when it comes to taste and judging, those get eliminated. Similarly, a perfectly good tasting dish if presented badly cuts points. Presentation and preparation are interlinked.
  8. You might be good with Chinese, but what judges prefer Italian?: It’s also about doing something you’ve never done before. Explore uncharted territories and aim to get the best out of it.
  9. Something to eat vs Gourmet: A novice cook(like me) can prepare something to eat and get the hunger satisfied, but it’s the art of preparing attractive Gourmet food which comes with constant learning and experience.
  10. Clean kitchen: A clean kitchen is a quality of a master-chef. The same dish in other way could be cooked by stumbling across the kitchen, burning things, keeping unclean plates and utensils or whatever. A clean kitchen is usually a healthy kitchen.

Lastly, Don’t Panic No matter how tough the deadlines seem, if you’re going to get a dish done it is by keeping your calm.

If you’ve got more similarities with MasterChef like me, feel free to shout out!