Stop the universe, someone knows everything

You are not a fool just because you have done something foolish, only if the folly of it escapes you.

Ionce met a man who claimed to know everything about C++. Everything. Indeed, he was now looking for something that was more of a challenge for him. It is rare to get an opportunity to pick the brains of a genius level programmer so I thought I’d start by asking him what he thought of the proposed C++0x standard. Given that so much has changed and that the draft of the full standard consists of a 10MB PDF spanning one thousand and thirty four pages, imagine my surprise when after a paragraph of grade-a waffle, he only appeared to know anything substantial about one, relatively minor, feature: null_ptr.

Those of you who think that you know everything are annoying to those of us who do.”
– Possibly not words born from wisdom...

Crikey. I was so astonished to catch him out with such a trivial detail that my eyebrows raised to hitherto unknown heights. Given the fish in a barrel nature of further debate, I let my involuntary giggle finish itself, allowed my eyebrows to return to their usual latitude and then shuffled off to find someone at the party who wasn’t dangerously stupid.

Later on that evening, after much, much more wine, I accidentally got dragged into an argument with him after he gave some spectacularly bad advice to a Mac user who had made the mistake of asking him about backup solutions. Instead of answering “plug hard drive in, start Time Machine” he started his self-righteous sentence with “first, get a proper computer running Linux”. Unwelcome, I barged in anyway and was arguing about GIMP’s unsuitability for my level of artistry in minutes, but that’s another story. As to who looked more stupid in the end, I think it was a joint win: let’s face it, nothing is sadder than watching two drunk nerds arguing with each other about operating systems. Needless to say, the entire evening was not filed under “proudest moments”.

Rattle Trumpet

My own trumpet, yesterday

I don’t like to blow my own trumpet, but I reckon I am pretty good at C++. I have been using it for a very, very long time now and prior to that had a decade invested in C. However, even after a complete bottle of wine and an overly generous brandy to finish up with, I wouldn’t claim to know everything or indeed remotely close to everything. I learn more about programming in general, software architecture and the details of programming specific languages on a continuous basis and I LOVE it. Learning new ways to do cool things is one of the sheer joys of software development. Putting together all those commands and making the computer do something amazing is why I first started noodling around on my Dad’s computer back at the start of the 80s.

People who think that their knowledge is encyclopedic are incredibly dangerous. They are the sort of people who destroy the lives of others and then fuck off into the sunset blaming everyone else except themselves. They leave a trail of unfinished, ill considered works behind them that the real professionals have to fix. They fail to realise that knowledge is a moving target and feel that no one can possibly teach them something that they do not already know. You may know someone like this in your organisation. If so, run, run for the hills.

It is OK, indeed desirable, to have strong opinions. After all, if you are a yes-man, you will never finish anything as it will continually morph towards other people’s contradicting goals and never reach any of them. However, demonstrating once again that life is a soup of grey areas, the art to being open minded is knowing when to open your mind’s door and when to pretend to be out. People with a thirst to learn refine this throughout their lives but are smart enough to recognise that perfection can never be achieved, it can merely be approached to varying degrees of accuracy.

This entry was posted in Software development and tagged , , , . Bookmark the permalink.

One Response to Stop the universe, someone knows everything

  1. Pingback: Thready McParallel: the patron devil of programming | Cobras Cobras