November 3, 2025
Tabs, braces, and bruised egos
Why Engineers Can't Be Rational About Programming Languages
From costly rewrites to bruised egos, the comment section is a war zone
TLDR: A veteran engineer says language choices are about ego more than tech, and his PHP-to-Perl rewrite story shows how that can wreck a company. The comments split between “identity wars are real” and “engineers can be rational,” with spicy jabs about rewrites, hype, and hurt feelings—leaders, take note.
Steve Francia dropped a bomb with his post arguing that choosing a programming language isn’t just tech—it’s identity, ego, and emotion. He tells a cautionary tale: a startup ditched PHP for Perl, velocity cratered, burn rate exploded, and the market moved on. Cue the comment fireworks. One camp cheers, calling it the ultimate explanation for those endless “rewrite it in X” debates. Another camp claps back, saying the headline is too spicy and lots of engineers are actually pretty rational. Then there’s the scorched-earth crowd blaming “stupid” dogmatism and the Dunning–Kruger effect (the idea that you think you’re great when you’re not). The hottest meme? The never‑ending “we need to rewrite it” chant, with users turning it into a running joke about tech leaders treating programming languages like sports teams. Others nodded at the “religious wars” over braces, indentation, and tabs vs spaces—classic nerd cage match energy. The Rust vs Go subplot added fuel: the article says teams often make the right choice for the wrong reasons, and commenters went wild debating whether logic or vibe wins. The mood: chaotic, funny, and a little self‑aware—because everyone’s seen velocity die on the altar of a shiny new language
Key Points
- •The article argues that programming language selection is a highly costly decision often driven by identity and leadership biases rather than purely technical factors.
- •A Takkle rewrite from PHP to Perl led to a nine-month delay, a burn rate increase from $200K to $500K per month, team expansion, and halved runway.
- •Despite delivering a technically strong system, Takkle missed its market window as Facebook expanded, and the company ran out of runway to raise more funding.
- •The author observed similar patterns at Google, MongoDB, and among Google Cloud customers: engineers use conflicting but incomplete data to justify language choices.
- •In a modern example, a team advocated Rust citing build/deploy simplicity, though the author notes Go excels in those criteria; he still believes Rust was right for that context, highlighting flawed reasoning.