I know some recipes in far more detail than others. My mom’s easy chicken and dumplings recipe? I can just about make that from muscle memory. Macaroni and cheese? While I don’t know all the details, I have a good grasp on an outline (make a roux, add some dairy, pour it over pasta). But there are plenty of dishes and indeed whole cuisines that I have either no idea how to make or only an inkling.
As I began my first job after graduating from college, I was excited to find a way to improve in these deficient areas. At Square Root, each of us gets a generous training budget with essentially one restriction: We must spend it on things that help us learn. Because I enjoy cooking but have no formal training in it, I decided to use part of my training budget to take a cooking class.
After taking this class, I explained to another Radical why I used my training budget in this way which appears so unrelated to my role in the company. In the course of this conversation, I realized there were a lot of similarities between cooking and coding.
- Tutorials and deeper knowledge
I love Alton Brown’s show Good Eats because he does more than walk his audience through a set of steps and say, “Voilà! You made cookies.” Instead, he talks about the process of making cookies, often bringing out models to show what is happening at a molecular level. In this way, he’s not teaching his audience how to cook a recipe—he’s teaching them how to be a cook.
I have encountered a certain class of coding tutorials on the internet that simply walk people through the steps of (for instance) creating a blog with the Python programming language. While there’s nothing wrong with these kinds of tutorials, they are a different thing than an article which explains to its audience what the technical pieces of a blog are, why they are important, and how they fit together.
If a person has a strong background in API development in Java and wishes to learn Python instead, a quick run-through of the steps to get an API running is probably more valuable than an in-depth article. By contrast, someone completely new to software development will likely get more value out of an in-depth article with a deeper explanation of the background.
- Mise en place
Mise en place (French for “everything in its place”) is a cooking technique in which the cook prepares her or his ingredients before starting the work of combining them to create the dish. If you’ve ever watched the Food Network, you’ll likely have noticed that the chef has a bunch of bowls with diced vegetables and measured quantities of spices. These cooks are using the mise en place technique to make the show go more smoothly and to make their job easier. In my own cooking, I have found mise en place to be indispensable. I have overcooked my share of vegetables because I didn’t have the next ingredient ready or couldn’t find a spatula. By prepping my ingredients beforehand and maintaining an orderly kitchen, I’ve dramatically reduced the number of catastrophes.
Similarly, when coding, I find it useful to keep “everything in its place”. For instance, I use a tool called tmux to manage my terminal windows, and I find it useful to maintain a certain orderliness to the way I organize the windows I keep. My running list of notes is in the first window, I use the second for long-running processes, and so on. By keeping everything in a specific place, I know exactly where my tools are at all times and don’t have to waste any mental effort searching for them.
I am much worse at cooking than I am at coding (which is probably good, because I don’t cook professionally), but I still find myself being able to understand recipes more easily as I gain experience. I approach recipes and solving business problems with software in similar ways. Though the approach is the same, the results are quite different. Most notably, the outcome of following a recipe is much more delicious.
Samuel is a member of our engineering team and our resident data plumber. Interested in meeting him and other Radicals on the Square Root team? Join us at our intergalactic SXSW Startup Crawl March 13th. We’d love to see you in our Radical Universe, RSVP now!