DEV Community

Owen Merkling
Owen Merkling

Posted on • Originally published at myowenopinion.com on

Why Exploding Salsa Reminded Me of Software Development

Yesterday my wife was making salsa in the blender. She put all the ingredients in, put the lid on, and went to turn it on. Our blender has got a few extra buttons, and I use it more often, so I went to help. We got the blender going, salsa was looking great, but in a classic case of too many cooks in the kitchen, I gave the blender one extra pulse AFTER my wife had removed the lid.

Oh the carnage.

Salsa all over the countertops, on the wall, on the curtains, down our clothes, and covering our daughter. Salsa everywhere. It was a mess.

A great deal of clean-up later we managed to finish making the salsa, but what does that have to do with software development?

How many times have you called a method on an object before it was initialized? Or while it was in a bad state? Or before it was implemented? Or written to shared memory without locking your mutex? Or perhaps going the other way, what happens when an object isn't updated when another one changes, and the whole system gets out of sync?

There are patterns to help prevent most of these errors, just like if my blender had a lid sensor, but I've seen so many related bugs over my career that the similarity made me smile.

And then I got out of the kitchen.

Heroku

Deploy with ease. Manage efficiently. Scale faster.

Leave the infrastructure headaches to us, while you focus on pushing boundaries, realizing your vision, and making a lasting impression on your users.

Get Started

Top comments (0)

Image of Datadog

Get the real story behind DevSecOps

Explore data from thousands of apps to uncover how container image size, deployment frequency, and runtime context affect real-world security. Discover seven key insights that can help you build and ship more secure software.

Read the Report

👋 Kindness is contagious

Dive into this thoughtful article, cherished within the supportive DEV Community. Coders of every background are encouraged to share and grow our collective expertise.

A genuine "thank you" can brighten someone’s day—drop your appreciation in the comments below!

On DEV, sharing knowledge smooths our journey and strengthens our community bonds. Found value here? A quick thank you to the author makes a big difference.

Okay