As humans, we are constantly faced with problems. We build software to solve problems. The features we create sometimes have problems when we deploy. We encounter an obstacle and need to figure out how to overcome it. We don’t necessarily know how to solve the problem at the outset, but how we think about the problem and the solution will impact whether we are successful or not.
I remember learning about the scientific method many years ago. Watching the Neil DeGrasse Tyson Masterclass, I started thinking about how the scientific method applies to delivering and supporting software. One quote jumped out at me: “The most important moments of your life are not decided by what you know, but how you think.” It’s not about what we know about delivering and deploying software, but how we think about the processes we use to do so.
How do you approach a software problem? Imagine you’re trying to compile newly written code and encounter an error. You don’t immediately know what is wrong; we need to investigate the issue. How do you approach the problem?