The Clean Code Blog

by Robert C. Martin (Uncle Bob)

One Hacker Way!

12 November 2014

I used to think that Erik Meijer (@headinthebox) was a pretty smart guy. Right? I mean, this is the guy who gave us LINQ, so, no dummy, right?

But lately… Well, lately I’ve realized that Dr. Meijer is just totally brilliant. I mean, out of the box, skyrockets in flight, is it a bird or a plane, brilliant! And the reason?…the REASON? THE REASON is that he’s just pulled off the perfect hoax!

Here, watch this. As Ron Jeffries tweeted, after watching it:

“well, that’s 45 minutes i’ll never get back.”

Watch as Dr. Meijer rants and raves and pants and sweats and storms around the stage emitting more lunacy than a normal human brain can hold. He’s the hellfire and brimstone preacher. He’s the righteously indignant candidate for office. He’s the morally offended civil rights activist.

Feel the man’s passion and enthusiasm as he exhorts his listeners (at time code 30:00) to avoid testing their code. He says:

“The only way you can create your software is to just put it in production! Because it will fail. And then, when it fails you just roll back to the previous version! … There’s no way you can pretend you can test your software beforehand. So all this TDD crap? Forget about it. If your company does TDD what do you do? Leave! You quit! You hand in your resignation today! … Writing tests is waste. TDD is for pussies.”

But don’t stop the video! Keep listening! Keep watching! See how Dr. Meijer shows us “the only architecture [he] knows”, the OSI seven layer structures for telecommunications. Mundane you say? Oh no! Because simply by virtue of putting up the hierarchical layered approach of an architecture that nobody actually ever implemented, he’s going to make the brilliant argument that software teams ought to be governed by strict command and control structures like the Catholic Church or the Army!

“The church as been around for 2,000 years. No company has been around for 2,000 years. Why can the church be around so long? Because it’s a layered architecture!”

Of course! Why haven’t we seen that all along! The church has survived because it’s an early implementation of the OSI stack!

At time code 34:16 he puts up this picture of the typical software developer and claims that software developers are actually warriors who best serve in a military structure like the Army. He says:

“All our companies should be structured like strict hierarchical [military organizations].

Speaking of a paragraph in the Fleet Marine Force Manual 1: Warfighting he says:

“If you replace the word ‘war’ with the word ‘software’ it just fits! Because software is like fighting a war. So, none of this Agile nonsense, let’s look at the military that has been doing this for thousands of years!”

And then. And Then. AND THEN…

“What can we learn from this? That war fighting is not for old people! Old guys, like me, should not be in this industry.”

To prove this point he puts up a graph showing that the average age of world-cup soccer players is 27 +/- 1. This, of course, has immediate bearing on the software world. Clearly all software developers are similar, in every way, to world-cup soccer players. The two industries are nearly identical in their goals, and demography. Right? Of course.

“I want to treat development teams like professional sports teams. Between 22 and 32, you do nothing but code! 24/7 you code. Just like a professional athlete.”

Yes, of course, this makes total sense. Programmers are only valuable in those early years. After they pass 32, their bodies give out on them. They all get Carpal Tunnel Syndrome and they can’t write code anymore. Of course!

“You, as developers, should only think about code. You should dream code, eat, drink code.”

And then, the coup de gras. The master stroke. The meme that seals the deal:

“But that also means, you should earn as much as a professional soccer player. Why on Earth does Messi (a world-cup soccer player) make sixteen million dollars a year, and you, that writes code, and you’re a professional software coder, you’re as talented as Messi, what do you get? Sixty thousand Euros? Something like that? That’s ridiculous! So you should be able to work your ass off for ten years, and make all your money, and then retire.”

Well, how could anybody say ‘no’ to that?

Brilliance.

There’s much more in Dr. Meijer’s talk. Much more. For example, in the midst of talking about team structure, and how crappy Agile is, he breaks into an elementary introduction to control theory and Mealy state machines.

At first, as you watch his frenetic antics, you may think he’s a little off. Then you might think he’s gone stark raving mad. You’ll likely find yourself awash in the sheer volume of the concatenated illogic, contradiction, and emotion. But, by the end, if you are astute, you will realize that the man is absolutely brilliant.

He’s brilliant because he’s pulled off the perfect hoax.

Listen to that crowd. Listen as they accept what he’s saying. Listen as their weak minds uncritically seize upon his endless train of ridiculous confusion and nonsense. They eat it up!

Dr. Meijer filled forty-five minutes with absolute drivel, and made everybody love it. And that takes brilliance.

I’m certain that he walked off that stage giggling so hard that he wet his pants.