Week 1 of Makers — And the 2021 Masterchef champion is…
Ladies and gentlemen — let’s cook!
One of the main products of the 3 national lockdowns, for my flatmate and I, has been a deep and unshakeable addiction to Masterchef. I won’t go into how this happened, or why we love it so much — she has already done so (and for the Guardian, no less). But love it we do, and it struck me this week, as we watched an episode of the Masterchef: The Professionals while my head was spinning from the first week of intensive learning with Makers, that there were parallels to be drawn between training to be a software developer, and being a chef on this great and insane programme. This connection was undoubtedly largely a product of a brain that was sleep-deprived, over-caffeinated, and hyper-stimulated all at the same time, but I have nonetheless decided to write a blog post about it. Ladies and gentlemen — let’s cook!
The Skills Test
The first, and perhaps the most important. As any aficionado will know, Masterchef: The Professionals begins with the truly nightmarish ‘skills test’. A chef comes into the kitchen and is instructed by Marcus Wareing and Monica Galetti to create a particular dish, usually within about 15–20 minutes. The dish will generally have some degree of technical challenge, the chefs will have had no prior warning of what it might be, and they have no guidance to go with other than that it will be something Marcus and Monica consider within the remit of standard culinary school skills, i.e. skills ever professional chef has. This means you may find yourself all at sea, having been asked to make something called ‘steak Diane’ (it involves hitting a steak with a mallet, apparently), starting blankly at an array of ingredients and sweating as the clock ticks down while Monica looks at you like this:
There are two common characteristics to the chefs that don’t mess up at this stage. Firstly, they don’t panic, and secondly, they know what they’re doing. The latter might seem like a strange principle to apply in the first week of a coding bootcamp, since demonstrably I don’t know what I’m doing, but I think it connects to the first. We tend to know more than we think we know; slowing down and thinking about how we can use the tools and knowledge available to us means you can get to the second point relatively painlessly. Like a chef, we can look at the ingredients, think about the techniques we know, and work from there. Googling, for example, can help us make huge strides, but only if we use it in a targeted and thoughtful way. Panicky googling leads, I have found, to having about 20 tabs open of impenetrable Stack Overflow tabs open, and being no closer to a solution.
There is also enormous value to calmly acknowledging what you don’t know and adopting it as a constructive learning goal, rather than repressing it and ignoring it — Marcus and Monica will give the chefs hints, but only if they admit that they need them. At the end of my first couple of days at Makers, writing out all the gaps in my understanding of which I was most aware made me feel much more in control of those gaps and ready to address them.
This test also highlights, however, the importance of basic training in the first place. It probably wouldn’t occur to you that you should hit a steak with a mallet, unless someone had told you that before. There will always be facts and practices you need to just know, which is a good reminder as to why we’re all here in the first place.
The Invention Test
Another challenge from the stuff of nightmares, where chefs are presented with a surprise larder of ingredients that are beautiful, but limited in range, and given an hour to make a dish out of them. This, once again, often leads to blind panic, temporary insanity, and some truly abominable creations. Poached pear and beetroot crisps, anyone?
This is a different kind of panic to the skills test, however. It’s one born generally of a failure to plan, where a chef grabs ingredients without thinking, and just sort of makes it up as they go along, which is ironically combined with an over-thinking that leads them to throw too many things at the plate. Cue Gregg Wallace interviewing a red-faced and stressed looking chef, and his facial expression when they say they are ‘sort of winging it’.
This is a scenario that is all too familiar from a coding perspective, and points to the importance of TEST DRIVEN DEVELOPMENT. TDD has been one of our principal points of focus this week, and while at first I found it frustrating, its value has become more and more obvious — it means that you are always coding with a specific goal in mind, you have a focus and you know exactly what the thing you’re making is meant to be doing, because you know the test it needs to pass. Like a chef, we must taste and amend as we go. It also means you keep things simple and elegant, rather than ending up with something vague, busy and over-complicated. And to the same end, before we even start TDD we need to have a sense of what the whole recipe/program is trying to achieve — hence translating user stories into diagrams, like a chef thinking about what they want their whole dish to look and taste like before they start randomly chucking things in a pan and hoping for the best.
The Re-invention Test
Where the chefs are asked to present their own version of a classic, and are given time to prepare and pick whichever ingredients they choose. A test which requires confidence in your own approach, but also a certain humility. Basically, don’t compare yourself to other people constantly, because your approaches will differ and be valid in their own ways; just because someone else’s code looks different to yours, doesn’t mean it’s better. But having a bunch of bells and whistles doesn’t make yours better either, if they’re not justified. And be realistic about what you can achieve, otherwise you’ll end up running out of time and serving up a hot mess. Basically, don’t be a show-off. Like Dylan, who for reasons best known to himself, decided to serve John Dory on a box full of sand and pebbles. Marcus was not happy.
The Professional Kitchen
And finally — don’t be an asshole. The professional kitchen challenges, whether working for another chef or doing a mass-catering challenge, require the chefs to work together. And some of them are better at this than others. Unsurprisingly, the teams involving people who shout at each other or attempt to boss each other around tend not to do as well. We all have our quirks and habits which we need to either prioritise or compromise. For example, I can’t concentrate at all on a Zoom call unless I’m doing something with my hands, hence borderline compulsive knitting. Fortunately people are generally very understanding of this, though I’m sure it can be distracting. I’ve also noticed that I can get tetchy and impatient during pair programming if I’m tired or frustrated — I have a responsibility to my cohort to manage this and not indulge it, because it doesn’t help me and it certainly doesn’t help anyone else. Critically, unlike in Masterchef, no one is going to ‘win’ at the end of this process. At Makers, we need to be nice to each other, to help each other, and give each other space to learn and develop in the ways that suit us best. But on the basis of the first week, I’d say our odds of doing that as a cohort are pretty much 1:1. I’m very, very excited to keep getting to know a lovely bunch of people and keep learning more and more about software development. And forgive the cheese, but come the end of April, we’ll all be Masterchef champions, and get to see Gregg looking like this: