How my Fermentation Hobby Helps Me as a Software Engineer

How my Fermentation Hobby Helps Me as a Software Engineer
Estimated reading time: 7 minutes

For a software engineer, technical expertise is clearly of the highest importance. However, how they approach solving problems can significantly shape how they get their everyday tasks accomplished too. Through a hobby of mine I’ve discovered an unexpected wellspring of professional growth. Fermentation. This seemingly random hobby has become a secret weapon, helping me hone skills relevant to my engineering career.

Lessons from the Unknown:

The challenges I face in my fermenting hobby, and in my job as a software infrastructure engineer are similar, at an abstract level. Learning from one has helped me improve in the other.

Here’s an example to prove my point: last year I had to replicate a rice wine recipe across different locations. Unexpected variations in temperature, water, and starter cultures produced unexpected results. I got three different results across three locations. This was something I’d never experienced before in years of homebrewing at my apartment. It could have ended up as a frustrating experience, but there were reasons to be optimistic. A case of missing yeast addition – because I’d run out of my regular brand – led to a brew with delightful smell. Wild yeast strains from the air had been gentle with the carbohydrate breakdown, creating fruity smell. My regular, professional champagne yeast would have broken down the fruity smell right away.

In a different occasion, I learned the usefulness of changing the ratio of rice mold to start ferment. We were able to culture our own mold strain due to less-than-ideal weather conditions. These experiences kind of mirror my experience as a software engineer. Every day brings surprises and new opportunities for learning. The brewing hobby has made me appreciate the value of embracing the unknown. Turns out, that’s a useful mindset to have as a software engineer.

Crafting fermented products requires patience. Good tempeh or kombucha demands waiting – weeks, months, or even years. A soy-rice ferment of mine has been fermenting for two years. Similarly, well-designed software products need good planning, iterative testing, and the understanding that quality takes time. I’ve learned to long-term patience through my fermentation experiments. I know now to trust the process, focus on progress, and approach projects with a long-term vision. THis leads to more stable and successful products. Just as my amazing batch of chhyang (Nepali rice beer) won’t complete in a week no matter how excited I am, the project at work won’t be done until the proper timelines are reached. It’s easier to understand that way to me.

The art of fermentation1 depends on the unexpected. Unlike boring, sterile-feeling offices, fermentation projects are full of curveballs. A cold snap can slow a ferment. A batch might develop its own flavors because of an overabundance of pollen in the air. Online recipes are very difficult to predict unless you’ve tried them before. These deviations teach me why I must be flexible, and how I might adapt when things go South. These lessons are quite clearly relevant as a software engineer.

The summer heatwave of two years ago almost ruined a batch of kimchi. I’d had similar experience with kombucha couple of years earlier. I improvised with ice packs and refrigeration inside an insulated box meant to heat my seed germination pods. There was additional work: I had do frequent flavor checks, and adjust salt and fermentation time. I usually don’t need to do that anymore. The result was an interesting, spicier and funkier kimchi. A proof that unexpected situations can be easily adapted to with some jerry-rigging. My ferment was saved.

Software engineers have adjust to changing plans and environment all the time. Dependencies shift. Zero-day bugs are discovered in your library, or operating system. Security vulnerabilities need to be fixed immediate. Client requirements change. They are opportunities for me now. Opportunities to apply my fermentation-honed resilience. I gotta think on my feet, analyze the situation and work. The final output –post adaptation– is almost always acceptable, if slightly different from the original plan. The project moves on regardless.

Fermenting has equipped me with mental models that translate directly to software development. I must understand the relationship between microorganisms, temperature, and pH levels influences fermentation. So I know to approach software development with a holistic perspective. It’s not just individual lines of code, but the entire ecosystem we must consider and reason about. We must think of potential interactions and dependencies far beyond our programs to prevent system-wide issues. Software engineering is not just about code. It’s about product requirements, people, marketing, and a long-term vision. Software just aligns us on the right track. Having that understanding puts everyday challenges in better context.

My fermenting hobby has really made me understand why continuous learning is so important. In software development, failures carry a negative connotation. However, fermentation has taught me to view challenges as opportunities for improvement. When experiments go awry, they are not discarded as failures. Instead I think back to identify missteps, and apply those learnings to future projects. The goal is to improve in the next batch. This approach has made me appreciate continuous improvement.

Fermentation has its share of “mishaps.” Off-odors, unexpected textures, and even failed batches are all part of the learning process. These “failures” provide important lessons and force me to change my process. Encountering bugs and errors is inevitable as a software engineer. Fermenting has instilled a ‘growth mindset’, I have begun seeing challenges as opportunities for learning and improvement.

While most ferments make delicious and safe products, the potential for contamination or harmful bacteria requires great care and strict hygiene practices. Similarly, software security demands constant awareness of potential vulnerabilities and proactive measures to prevent data breaches and malicious attacks. My focus on maintaining a clean environment and identifying potential risks during fermentation translates into a heightened awareness of software security risks. I’ve become more proactive in implementing security measures, staying updated on vulnerabilities, and responding to potential threats, because I don’t want to experience ‘spoiled batch’.

Conclusion

Ny journey with fermentation has taught me this: exploring diverse interests can bring unexpected benefits that improve and assist our professional lives. The patience cultivated through waiting for a perfectly aged rice beer, the analytical thinking sharpened from monitoring variables, and the adaptability developed from dealing with unknown issue in my hobby have translated into invaluable skills that make have made me a better software engineer. It doesn’t end with code. From baking sourdough to dancing, every exploration can equip us with different perspectives. I suggest you step outside your comfort zone, explore your passion, and internalize the benefits diverse interests. Your next great idea might be brewing in the most unexpected place!

Royalty-free stock image above by Antoni Shkraba: Pexels.

  1. Also a super-popular intro to fermentation by the great writer Sandor Katz. “The Art of Fermentation” 

Sirish
Shirish Pokharel, Innovation Engineer, Mentor

This is where all my quirky comments will go.