Brewing beer vs. software engineering

First Ollie beer bottles

First Ollie, bottled

Intro

It all started when a friend invited me to a tasting of beers brewed by his colleague at a newly opened brewery. I was very curious. The beers turned out to be excellent. That evening inspired me to learn how the beer-brewing process actually works, and to try making my own beer at home.

So I started with some general videos on YouTube. I got familiar with the main stages of brewing, the ingredients, and the most commonly used methods. Once I had the basics down, I also read the book "How to Brew" by John Palmer.

How beer is made

Let me explain, in very broad strokes, how beer is made. Beer usually consists of four ingredients: water, grain malts, hops, and yeast. Malts are cereal grains that have started to germinate but were stopped and dried at the right moment (to maximize the starch in the grains). These malts are mixed into water in the right way. Next, we boil the mixture together with the added hops to make sure there are no unwanted bacteria in the solution. Now the most important part. After cooling the solution down, we add yeast, which are single-celled fungi. The yeast eats the sugars from our solution and produces alcohol (ethanol) and carbon dioxide. That, in short, is how beer comes to be.

Why?

My initial motivation for trying to brew beer at home was the desire to get to know the process itself, and curiosity about "how far" such a beer would be from the ones widely available in shops or bars. Another reason was the potential to tailor the recipe to my own preferences. Something unique, that you can't buy. On top of that, in times when we buy almost all our groceries in shops, it's nice to have some handmade "preserves" of your own.

The first batch

These days, the natural first step for a beginner homebrewer is to use a "brew kit" — a ready-made starter set that contains all the required ingredients. That was exactly my first step too. I ordered a kit that was supposed to yield an American Amber Ale.

Apart from the kit itself, I also needed the necessary equipment, such as a fermenter, a bottling wand, glucose, bottles, caps, a capper, and so on. Luckily, Browamator also offers starter sets that include the required equipment. That ready-made set is exactly where I started.

The day to pitch the first batch arrived. With brew kits, the process is simplified. You just boil the prepared diluted extracts, add hops, cool it down, and pour it into a sanitized fermenter. Once the temperature in the fermenter dropped to around 19-20°C, I added the yeast and closed the fermenter. Now came the hardest stage. Waiting... After about 10 days, following the instructions, I added an extra portion of hops to the fermenter for another 4 days (so-called "dry hopping").

After about two weeks, I took a sample to make sure fermentation had finished (by measuring the gravity). The result was positive, so it was time for bottling. The bottles were sanitized, and I added about 4g of glucose to each one. The glucose is needed for refermentation in the bottles, which makes the beer carbonated. That takes another two weeks... The waiting with the first batch was fairly hard. Definitely the most difficult part of the process.

About 10 days after bottling, I chilled one bottle for the first test. The result was very satisfying! The beer had a beautiful amber color, a stable head, and a noticeable hop aroma. The taste was very interesting. I remember my first thought was "this is already better than most beers available in shops". I was very satisfied.

Further attempts

As I mentioned, there was quite a lot of waiting during the first batch. In the meantime, I decided to brew a dark, delicate, low-alcohol beer for my wife. Something along the lines of a Dark Mild Ale. In this case I still used extract, but I additionally used some extra malts that were meant to add a dark color and a caramel note.

The aforementioned beer for my wife was a first experiment, so I made a smaller batch of about 6 liters (~1.6 gallons). As a result, I had quite a lot of malt extract left over. So I decided to put on another batch. This time the choice fell on one of my favorite (at the time) beer styles, namely Belgian Blond Ale. It turned out that this beer has a fairly simple recipe. So my third batch was a Belgian Blond Ale.

After a while, I decided to take the next step — to brew a beer using mashing. You could say this is already a full-fledged brewing method, the one used in small and large commercial breweries. The idea is to use barley, wheat, or other malts (depending on the beer style), and then hold them in water at a set temperature and for a set time, so as to convert the starch in the malts into simpler, fermentable sugars that the yeast can handle. Since I don't have a pot with a capacity of 30 liters (~8 gallons) or more, I did a partial mash (in 11 liters, ~3 gallons), which was then topped up with extract to reach the desired original gravity (which affects the final alcohol content of the beer). The results of this brew will reveal themselves in the near future, but the process itself went smoothly.

Results

In the end, after almost two months and four batches, I ended up with about 130 bottles of beer across four different styles. I shared a large part of it with family and friends; the remaining bottles are aging in the cellar. It even turned out to be a bit too much. This is because recipes are usually for a volume of ~20 liters (~5 gallons). In my case, where I'm still in the exploration phase of different beer styles, a better strategy would probably be brewing smaller batches, for example ~10 liters (~2.6 gallons). On the other hand, in those cases I have the impression that the effort isn't quite proportional to the results.

As a fun fact, I can mention that the production cost of a single bottle of beer (0.5 liters) came out, in my case, to about 1.5 PLN (~0.35 USD). This is, of course, assuming you already own the required fermentation and bottling equipment. That is, the total cost of ingredients divided by the number of bottles.

Labels

With several kinds of beer and at least a few dozen bottles, I concluded that labeling the bottles would be necessary. I took this opportunity to design my own label template, give my "brewery" a name, and come up with names for the beers I had brewed. It was a very creative and fun exercise, and I really enjoyed it. As a result, the labels gave my bottles a relatively professional and craft character.

Brewing beer vs. software engineering

After going through the whole beer-brewing process a few times, from ordering the ingredients to opening the first bottle, a few reflections came to me. I'd like to compare these two manufacturing processes here and share my observations and impressions.

A tangible product — in the case of brewing beer, at the end we get a tangible product. A bottle we can pick up. Open, or hand to someone. For some reason this was very satisfying. In software engineering, the final product is almost always virtual.

Completeness — a brewed and bottled beer is a finished product that won't meaningfully change its properties or purpose. With digital products this is almost never the case. Constant changes, improvements, updates, new features, bug fixes, and so on. Of course, this isn't strange. These two families of products are of a completely different nature, and there's nothing wrong with those differences. That said, the sense of completeness definitely contributed to my satisfaction with the brewing process.

Distribution — in the case of beer, distribution is very simple. I can take the bottles and physically hand them to someone. It's such a natural act that nothing needs explaining. With software, it's more complicated. If the product is a web application, it's enough to share a URL. That would be fairly simple, but it usually involves creating a new account or some configuration. It's even worse if the product is a library or a framework. In those cases we push the hassle of integration and exploring the API onto the user. On the other hand, with software, access can be far more widespread. Millions of users around the world can use the product. In theory we could deliver a million bottles of beer, but in practice that would be very complicated logistically and quite expensive — whereas with software it's practically free.

Scalability — here the beer-brewing process, like other processes that produce physical goods, is much more limited in terms of scalability. Consider an example where I'd like to produce 100 liters (~26 gallons) of beer instead of 20 liters (~5 gallons), a 5x increase. Ordering more ingredients isn't a problem. The main problem would be expanding the infrastructure to make 100 liters of beer. I'd need a bigger brewing kettle. Then a much bigger chiller and fermenter. On top of that, I'd have to prepare a few kegs or ~200 bottles. All of this involves not only a higher cost but also more required space. With homebrewing there are also legal limits. With software, in most cases, we don't have such constraints. If we need more disk space or CPU, we can either add it relatively easily, or, in the case of cloud services, simply change the infrastructure configuration.

As we can see, the two types of manufacturing processes differ in many respects. Personally, the beer-brewing process was very interesting, satisfying, and inspiring for me, considering that I spend almost my entire adult life making software. It also led me to reflect on the question of whether making software could be more tangible and complete. I think completeness is something we should strive for. Tangibility is obviously not possible, but I think we can translate it into good product design. So that a user encountering our product for the first time understands what it's for, how they can use it, and what it's capable of.

Summary

At this point I'm very happy with the results. All the batches so far have been successful and tasty. I've learned a great deal. New skill unlocked. My goal for the future is to iterate over different beer styles, then pick a small group of favorites and refine their recipes to my personal preferences.

Besides, brewing beer is simpler than it seems! I highly recommend giving it a try.