“Problems are good. We solve problems”

An optimistic, action-oriented attitude for software engineering

Feb 16, 2022 2 min read

We solve problems

“Problems are good. We solve problems.” is the simple mantra I often repeat to engineers and non-technical teammates. It reflects an “optimistic” approach to software engineering. We want problems. We want new problems. We want to solve them. And if we are successful, we will have many more problems that need to be solved as we grow and help our customers grow.

This isn’t an original insight. It is the key insight I learned from David Deutsch’s must-read book The Beginning of Infinity:

Problems are inevitable

Namely, the optimistic view is not that problems will not occur, but that all problems and all evils are caused by lack of knowledge.

The converse of that is that all evils are soluble given the right knowledge.

And knowledge can be found by the methods of conjecture, criticism, and so on that we know is the way of creating knowledge.

From “Constructor Theory, A Conversation with David Deutsch”

All problems are soluble

Too often, I’ve seen folks ignore problems or hide them. Instead, we want to embrace them. This means stating them out loud and making them visible.

Not every problem needs to be worked on immediately. But if we don’t have a culture of embracing problems, the important ones will be missed and won’t be solved.

Read more posts like this in the Software Engineering Toolbox collection.
Visit homepage
comments powered by Disqus