Developers, It's ok Not to be Right About Everything

Just because we don't solve a problem the same way, doesn't make me wrong.

Late last week, there was a big todo about a recent presentation by PPK. Here’s the part that seemed to offend some:

This seemed to be following a larger theme you’ll often find amongst developers along the lines of “You’re not a real developer if…” It’s a tool often used to marginalize groups. Heck, it’s something I heard often lobbed at web developers early in my career (at least in that manner, things have changed).

Now, I get that PPK has a larger point to make here about developers’ overreliance on tools. It’s an argument I tend to agree with. And, as I didn’t hear the session, I’ll give him the benefit of the doubt that this came off with more nuance than the slide text implies. However, it gets at a larger point to me, which is that, too often, developers can be intolerant of differing points of view.

Think about how many times recently you may have seen a post about why framework X is better than framework Y or why language N is much smarter choice than language Z. Sure, sometimes these are designed for clicks, but we’ve all worked with that person. I have. In fact, for some time, I was that person.

But the truth is that our work as developers is ephemeral. Today’s code isn’t designed to withstand the test of time. I’ve had code that lived less than a year and other code that managed to last about ten - but probably more of the former than the latter (it can depend on the nature of the code you write). Even that code that lasted ten years wasn’t written in stone. It could be improved or rewritten.

I’m not excusing bad code. I’m just saying, get your job done the best that you can and don’t get caught up in developer politics or religiosity. If using a tool works for you and your team, by all means, use it. If you and your team think React is the “coolest framework evar!” - go for it. That doesn’t make using Angular the wrong solution. If your team uses a language that you personally are not a huge fan of, change it (if you can), get over it or leave.

As a recovering “right way to code” true believer, I hereby accept the diversity of solutions that developers can choose…but…

You’re not a real developer, if you don’t code.