One important part of success in any field is answering the question “Why?” As a musician, you might play a solo that everyone is impressed with, but unless you know why that solo worked, you’ll rely on luck to do it again the next time.

In software this is just as important. Why is your app crashing for some users? Why did your app sell zero copies? Why did your app sell 500,000 copies? Knowing why makes it possible to consistently reproduce the results you like and avoid the ones you don’t.

Your computer is running thanks to a ton of complicated electronics. None of this happens in your laptop by luck. Every circuit, every transistor, every diode, every capacitor, every piece is in your computer because someone figured out why they do what they do. Understanding why a transistor works enables them to pick the best transistors to do specifically what is needed in each part of your computer. Knowing why helps them allows them to make each piece cheaper and smaller as well.

We should pay attention to details and try to understand why things happen. This will help your code, your business, and even your health. We may never know every detail, but every detail you do know will help you get those results you’re looking for.