Tech Holy Wars: From “PHP is Dying” to Agentic Coding
If you boot up any generic developer portfolio template, you'll inevitably find placeholder blog posts about classic industry debates. Recently, while clearing out the default articles on my own site, I saw the quintessential title: "Spaces vs. Tabs: The Indentation Debate Continues." Seeing it made me laugh. It also made me reflect on the countless other "holy wars" I've lived through since I started writing code. The tech industry loves a dramatic debate, but looking back at my career, the reality on the ground rarely matches the noise on the internet. Here is what navigating a decade of software holy wars actually looks like.
The First Myth: "Stick to One Language"
My early attempts at programming involved reading heavy books on C++ and C# without actually writing the code. Predictably, I'd get stuck somewhere around arrays and give up. Everything changed when I picked up Java. The difference wasn't the language syntax; it was the interactive runtime. I was finally running examples, breaking them, and figuring out how things actually worked under the hood. During this time, I read a piece of dogmatic career advice: Pick one language and stick to it. The logic was that if you focused solely on Java for two years, you'd gain enough enterprise experience to land a decent job. After five years, you'd be a senior engineer, and companies would be hunting for you. It sounded like a solid plan. There was just one problem: my local job market had exactly zero Java openings. What they did need were PHP developers. So, throwing the "one language" rule out the window, I pivoted. Remembering my failures with C++, I dove straight into the PHP runtime, learning by doing.
The Perpetual Holy War: "PHP is Dying"
When I landed my first engineering job in 2016, the loudest holy war in the industry was that PHP was dying. Meanwhile, in the real world, my first major task was migrating a massive, critical project from PHP 5.3 to 5.6. Eventually, I led an extensive refactoring effort to get the codebase ready for PHP 7.0, stripping out years of bad practices that would have completely broken the app in the new environment. It didn't feel like a dying language; it felt like a maturing one. A few years later, I moved to a backend project running on Python 2.7.15. But business needs evolve. About two years in, we needed a blogging dashboard. Instead of spending months building a custom CMS in Python, we made a pragmatic choice: we deployed WordPress. Our internal users already knew it, which eliminated training time. We built a custom WordPress plugin that exposed the articles via an internal REST API, seamlessly integrating it with our Python backend. The engine powering that integration? PHP 7.4. Once again, very much alive. Even in 2022, while evaluating whether to build a new backend application in Python or PHP, the old debate resurfaced. Python is arguably easier for beginners to pick up, but PHP's runtime speed for web requests is remarkably fast. The pragmatic conclusion? If you already have a functional PHP project, rewriting it in Python is almost never worth the ROI unless you specifically require Python's machine learning or data science ecosystem. (And for the record, as we sit in the era of PHP 8.x, the language is still powering a massive chunk of the web).
JavaScript Fatigue and the Death of "Spaces vs. Tabs"
Not all holy wars are about backend languages. For a few years, the frontend world was dominated by "JavaScript Fatigue"—the feeling that a new, must-learn JS framework was being released every single day. Sites like SitePoint published endless think-pieces on it. And then there was the classic "Spaces vs. Tabs." For decades, developers argued passionately over indentation. How did that holy war end? Not with one side winning, but with tooling making the debate irrelevant. With the widespread adoption of Prettier and modern IDE formatters, we just configured our linters, hit save, and stopped talking about it altogether.
The Modern Holy War: Agentic Coding
The debates never truly stop; they just evolve. Today, the most heated discussions revolve around AI and agentic coding. A growing faction of developers argues that traditional coding skills are becoming useless because AI agents can write the code for us. Having survived a decade of tech absolutes, I highly disagree. Core engineering skills aren't obsolete in the age of agentic coding; they are the exact tools you need to wield AI effectively. If you understand system architecture and workflows, you can use agentic skills to automate repeatable tasks, meaning you don't have to endlessly instruct your AI assistant in every single session. Furthermore, strong engineering fundamentals allow you to optimize what the AI produces. An agent might write a functional script, but an engineer knows when to cache frequently accessed data to prevent expensive roundtrips to external APIs. The tools change. The languages evolve. The holy wars will always rage on forums and social media. But at the end of the day, our job isn't to win arguments about tech stacks—it's to solve problems, adapt to the reality of the market, and build things that work.