Baking imitates… software development?
If you have followed me on any social media (now contained only to Twitter), you know I like to bake.
Sweet or savory, doesn’t matter. There is a certain calmness in baking. Precision in following the recipe, but also the ability to adapt to outside circumstances.
If you are baking a pie, and making a pie shell, hot weather is your enemy. You must chill your dough, keep the butter as cold as possible.
My baking increased a bit since I got a stand mixer. I’ve always wanted one. Looking at chefs on youtube make delicious cakes, it was a dream to have a large kitchen and a stand mixer.
I’m still working on the large kitchen part.
Following the recipe
I was making a chocolate babka for the first time today. I found a recipe earlier, got the ingredients, and set myself up for a bake.
I bought the butter, eggs, and yeast in advance.
But I didn’t read the recipe. I only checked the ingredients list. After all, I’ve watched youtube chefs make it loads of times, it’s not that hard, right?
Turns out there is a step called cold proofing the dough. Once you mix your brioche dough, you need to let it rest in the fridge for at least 4 hours. Preferably overnight.
I missed that step. I need to bake this today and get it home to my mom’s for lunch.
Then it dawned on me: this is a lot like reading the documentation when working on software.
Most of the time we google what we need, and when we find it, we read only one small part of the documentation. After all, who has the time?
And there lies the problem. Reading small bits and pieces we often overlook some important parts, and we may miss important steps. Like I did with the cold-proof.
Adapting and growing
Another interesting thing I noticed with my dough was that it was too sticky. I followed the recipe, but it didn’t look like the dough in the videos.
So I had to adapt.
First I immediately crossed the part where it said: 175 ml of water and put 150 ml. Maybe my eggs had more water in them, maybe the butter was different.
But I wasn’t going to let that stop me. I gradually added flour bit by bit. Until I got the nice smooth dough ball.
The same is with software. The solution you found on the internet looks good, and you have incorporated it into your app. But it doesn’t quite work as you imagined.
Parts of your software could be wired differently. So you need to adapt the “recipe” to suit your needs and your environment.
By adapting it, we learn how it works. We improve on it. Make it our own.
Don’t be afraid to experiment. But read the recipe first
In the end, it’s funny how we can find parallels between baking and software development.
Professional chefs often say baking is an exact science. But by changing the original a bit, we add our own flare.
The same is with software. Often times we find a great library, but it’s lacking in certain features. We shouldn’t be afraid to change it (if the license permits of course). Learn something more about it. Add our extensions that make it better. Add our own flare.
So don’t be afraid to experiment. You’ll learn a lot. But please, read the entire recipe before. It will save you a lot of time 😄 .