So many people seem to forget a key component of problem solving – root cause analysis. How can a problem be solved if you don’t understand it? Nonetheless,
in our fast paced society, under the pressure of immediacy the just get it done mentality reigns. You see it wrapped in wire and covered with duct tape. You hear it in expressions. Treating the symptom, not the problem. Can’t see the forest for the trees. You notice it in behavior. Denial. Excuses.
This is backward to me. I have an analytic mind. It has taken me a while to channel my thought processes, and I am still dialing in. But over the years, it has helped me major in Computer Science and minor in Philosophy and Psychology. It compliments my current profession as a developer. Although exhausting at times, it is a great benefit.
Well armed I have become proficient at hunting down the root cause of problems. To me, root cause analysis is the most important step in solving a problem and an indicator of a good developer. So much energy is wasted when solutions are formed without this step. You are merely proposing something unproven and based on a limited understanding. Yes, maybe your solution works. But does it last? Did it just mask the problem? Did it create a new problem? Can this solution be applied to the same problem again? Did you just get lucky?
You don’t have to break out your lab coat and microscope. But invest a few extra minutes next time you are presented with a problem. I have found those few minutes pay dividends later. Either by saving time or adding experience, in the end it feels right.