I am frankly disturbed by a trend that I’ve seen both in-person and all over Hacker News / Reddit through the past year, and I am going to finally give it a name: “popped collar programming.”
Popped collar programming is the hipsterization of software development, and it’s happening in a co-working space, unprofitable venture-backed startup, or coffee shop near you.
A popped collar programmer’s life begins like this:
[New Technology X] is released and offers a new and interesting view of how to perform [programming chore Y];
Reddit / Hacker News announces the release of [New Technology X] and is greeted with tons of enthusiasm and applause;
Curious developers check [New Technology X] out – it’s an early release and thus they discover [New Technology X] is missing [Critical Features 1….N] and has [Stability Issues 1…N]; most of the early adopters utilize the technology sparingly in production and only where it’s the right solution for the problems they’re trying to solve.
[Group of early adopters A] can’t get enough of [New Technology X] – they create lots of blog content on how to couple it alongside other popular technologies and receive front-page treatment on Reddit / Hacker News.
[New Technology X], despite lacking [Critical Features 1….N]; having [Stability Issues 1…N]; and often not being the best business case match is now used in 100% of production projects by [fanboys of early adopters A].
[Fanboys of early adopters A] declare the death of [Established Competitive Technology with Massive Following X]; [fanboys of early adopters A] have now become popped-collar programmers.
[Popped Collar Programmers] begin purchase of ironic / retro t-shirts; growing porn star mustaches; writing blog entries about the challenges of scaling [New Technology X] despite having a trivial number of users on their service; blog entries make front page of Hacker News.
Popped Collar Programming is essentially “adopting technologies for the sake of appearances” – technologists who’ve fallen victim to this way of thinking often make technology decisions without any regard for what’s the best tool for the job.
Once you’ve gone down the road of letting anonymous people on the internet convince you that having cool war stories with cutting edge technologies you can tell on Hacker News is more important than shipping software that works and is easy-to-maintain, you’ve lost the objectivity and pragmatism needed to be an effective software developer.
And it doesn’t stop at technology decisions; popped collar programmers spend more time picking out ironic t-shirts to go with their fedoras and oversize rubber watches than they do logging bugs.
Don’t Be That Guy
Popped Collar Programmers are inefficient (fitting square pegs in round holes from the start) and ineffective (building complex bug-prone architectures themselves to address problems that are already solved with widely-used technologies.)
If that argument’s not enough to convince you to stop yourself or your friends from being popped collar programmers, let’s try a live-by-peer-pressure, die-by-peer-pressure approach: you look like a complete pair of clownshoes in front of people who actually know what they’re doing.
If this sounds like you or someone you know, don’t be that guy. The solution here is to read The Pragmatic Programmer until you can’t stand to look at that Hadoop + Riak + Redis + Clojure-powered blog platform you created without vomiting in disgust.
Don’t. Be. That. Guy.