Everybody needs a hobby. It takes your mind off of work and can help you develop your creativity or just relax to get creative again. Side projects are fine, but then again it is programming and this is what you are doing all day anyway. Here are some reasons why I think cooking is a great hobby for programmers.
The most important reason is not specific to programmers:
You get food!
The basic idea of cooking is, to make/prepare your own food, which is a very fine thing. Of course, there are the days when we just want to eat and order something delivered to our homes, have some takeaway or eat that microwave stuff. That is ok, but nothing beats self-prepared food. You know exactly what you put in and will enjoy the meal because you put effort into it. It just tastes a little bit better.
Let us move on to the more programmer specific reasons:
A recipe is an algorithm.
Follow it and you will get exactly what the author intended. Make a mistake and it might be edible (just a little bit burned) or you can throw that whole thing away (you used salt instead of sugar). Didn’t we all forget those semicolons at the beginning? Didn’t we all at some point wrote something like
if (i = 1) and wondered for hours why the code did not work as the textbook said? We all got past that and learned to avoid those mistakes. You will eventually learn to cut your vegetables all beforehand and not ‘on the fly’. Which takes me to the next reason:
There is so much you can learn.
Part of being a programmer/software developer is the continuously learning. This is one of the reasons why I like being a programmer. I learn something new every day and I can utilize my knowledge. The same thing happens when you cook. You look at different recipes and learn from them. If you find some good books (or web pages) where there is an explanation not only about the what to do but also on why you are doing this, you can learn all the more. You get to understand why a little bit of citric acid let your apples stay fresh and keeps them from getting brown. As you begin to understand more and more you can go on to the experimenting. This would be the next very good reason:
You can tinker around with recipes.
As I mentioned earlier, recipes are algorithms. So why not change them and see what happens. This is best done alone. When you are cooking for your family holiday dinner, (much like fixing bugs in the live environment) you better stick to the plan! In other scenarios experimenting is great. Again, at the start, it is much like when you started coding. Start with some small improvements. You got no lemons in the house but limes? See what happens, when you switch it! The recipe states an amount of sugar? Go for the dark honey and see what it does!
My last point:
You are able to share your findings.
It is not like there is a GitHub for cooking, but there are other sites. Go into the comments of recipes and share your small changes. Share your traditional family recipes with the world (you know, the famous cookies from grandma, the world needs to know) and get feedback.
I think the idea is why cooking is a great hobby is clear. You prepare your own food, you can follow algorithms, get creative over time and share your experiences. Basically, everything programmers like without touching a keyboard.