We’ve been told countless times that treating the symptoms, rather than the disease, will produce unpredictable results. Usually it won’t produce the results we’re hoping for, such as curing what ails us, but it may fool us into thinking we’ve solved the problem for a time.
Treating the symptoms used to be my approach to programming, as a matter of fact. It wasn’t intentional, and I didn’t realize I was doing it until I got better at my craft. It took time to see and understand applications as this intimate network of methodology before I began to go beyond the surface of the problem. Not necessarily like an iceberg, as the symbolism of an iceberg may seem like a good analogy, more like the roots of a tree.
As a tree ages, the roots grow deeper, wider, and thicker. The tree grows up and down. A single page in an application isn’t just a bunch of text and pictures thrown together; there is a user session with details about their settings, permissions and preferences, system security, information input and output, et cetera. Changing one thing has the potential to impact much more. Decisions have to be made carefully and strategically, then tested and verified. In addressing the symptoms of a particular problem, I can now most often use them to find the root cause of the bug I’m seeing. The cumulative time it takes to investigate and fix the root of the problem is far less than the bandages that would be put over the problem, especially when you know that at some point the actual problem will need to be fixed.
Even the best of us, even the most experienced, can mistake a disease for unconnected, distinct issues (a.k.a. symptoms). But eventually these distinct issues become symptoms, starting off harmless or annoying; an increase in demand, a decrease in downtime. But then they’ll start to build up, exacerbating even smaller issues that become symptoms themselves which wouldn’t even arise under normal circumstances. Then, worst of all, these once distinct issues join forces and wreak considerable damage on our psyche as we wrestle indirectly with the frustrations of our craft.
This week, the Real Brian gets real serious about the symptoms he’s been treating for far too long. It’s raw, it’s unfiltered, and it’s honest, and it’s one of the healthiest realisms a podcast can confront. But this realism is relative to Brian, and it should inspire us all to face our own realities head on. Don’t hold back from being brutally honest with yourself about what you haven’t achieved, about what you have achieved, and what you want to achieve. Then start making a roadmap of how you can get there!