I've been doing a lot thinking regarding the overall state of my trade. Of course that should be obvious to anybody who follows my posts. Much of it has been a deep dive into what can only be described as a creeping depression regarding the state of the trade from my viewpoint. Much of it is birthed by the sum of my experiences over the last two decades.
Some might even go so far as to speculate that this constitutes the beginning of a mid-life crisis. There is likely some truth to that. I'm close enough to 40 that my perception of what constitutes old age has already begun to radically shift. So much so, that I often wonder if I'm mentally equipped enough to continue doing this sort of work for the next twenty to thirty years. This is not something I would have actively found myself thinking about ten years or even five years ago.
One of the overarching themes I keep coming back to is one of centralization and homogenization. Nearly everything in the world of tech seems intent on forcing users to adopt the role of a consumer in some closed ecosystem or another. On the other side of the coin, our approach to software development has undergone a radical shift in which concepts like design patterns are generally heralded and loose collections of so-called standards (e.g. SCRUM, REST) have found themselves escalated onto sacred pedestals in the expectation that in-the-know passerby will worship them accordingly.
But at this point differentiating between normal users and software developers feels more futile than ever. If anything the two groups have crept closer to one another as the barriers to entry in the trade have consistently been lowered by the advent of new tech which promises to streamline the process. This has driven the resulting push to centralization and homogenization. We have a desperate need for capable warm bodies who can sling working code. But we have neither the tools required to train them consistently nor the techniques to ensure they are capable of pushing back against their own shortcomings as emotionally minded human beings.
The end result is nothing short of a mess. We have no way of measuring developers against one another empirically because we can't even agree on a definition of what traits a capable developer should embody. And to be clear here, by we I'm not just pointing the finger at the PTLs, POs and Directors out there but I'm pointing it squarely at Developers like myself as well.
So what is the end result of all of this? Well as of right now, we are trying to address what is inherently a problem with the people and the process using technology. I believe that is a huge part of the reason we see such a major push into the cloud. We aren't just outsourcing infrastructure, we are homogenizing our approaches and our techniques. This marks yet another way of lowering the barrier to entry in a field that is notably plagued by the wide availability of incompetent practitioners.
My core belief is that as part of this transition, we are losing the ability to innovate effectively. As technologies and concepts find themselves elevated to what can only be compared to a form of scripture, we are codifying a new class of developers who are incapable of pushing back, unwilling to radically alter their approach and content to be shells of what we told them they could be.
When I consider the experiences I've had over the last 20 years, I can only conclude that our attempt to evolve our trade craft has failed miserably. If one is not versed in how to think logically, one cannot instruct a computer on how to act on inputs to produce a desired set of outputs in a logical manner. There is no red herring or technical solution, short of artificial intelligence, that can combat this problem.
So when I think about the last twenty years (okay, its really 19 but who is counting at this point) I'd like to be able to sum it up with the infamous Latin turn of phrase "Vedi, Vidi, Vici" but alas I cannot. For those not in the know, that phrase translates to "I came, I saw, I conquered". But two out of three isn't that bad, is it? Maybe in another couple decades, I'll be able to honestly claim all three. But of course then I will have a new problem: I'll be bored out of my mind.