wc-minus-l

Posted by & filed under , , , .

macosx terminal linuxQuite a while back, (and I mean quite a while back, that’s been enough water under the bridge so I can now tell the story 🙂 ) I used to work for this guy who quite frankly was way out of his depth in the position he was in. He was my (and others’) boss nevertheless and as such we had to work with him and for him. And in a lost of cases we had to work despite him too — which I’m sure paints a bit of a picture about the guy by now 🙂

Bottom line, for whatever reason — and I think he didn’t know that either towards the end — he found himself being our boss, and the thing is he realised I’m sure deep down inside he was way out of his depth there. This realisation though, rather than comfort him made him very insecure, which had a huge negative impact on the team. Rather than thinking: “Great, I have a team here who can cover all bases, all I need to do is help them set up the roadmap and prioritize their own work and these guys can do it all while I sit back and let them all do their magic”, he actually started micromanaging every single one of us and trying his best to show all the way to us and everyone else that he is better than each and every one of us at everything we did.

This as you can imagine created a lot of annoyances in the team, but even so, for a while we decided to let him live in his own world and pretend he is all that, while we geeked out on our techie stuff. Sadly after a while he got on everyone’s nerves and it went from bad to worse from there — but that’s a different story. For now, I’m just going to tell you one of the really funny stories I’ve been involved in back in the day.

As I said, the whole team figured out he was clueless — and as such we ignored him most of the time and went ahead and built a solid product the way a solid product should be built, rather than listening to the rubbish that was coming from our “comrade leader” 🙂 This, however, never stopped him from getting involved in each project and trying to micro-manage everything that was done — typically this will end up with him causing a huge mess, and having done that he would step back and pretend it’s all our doing and come up with a generic phrase like: “And at this stage we just need to automate this and we’re done.” — and then walk way and let us deal with the mess. Which we did. Every. Bloody. Time.

Anyway, the story starts with us having to deal with some data discrepancies in between us and a 3rd party vendor — as it turns out our numbers didn’t match up exactly with our 3rd party numbers and as such, we had to carry out an investigation to isolate the incident, figure out what’s causing it and fix it. I got tasked together with 2 other colleagues to look into this — and we started looking into this knowing already that this is a wild goose chase, as we had just conducted a whole audit of the data pipeline in our system and knew it to be solid. As such, we knew that the discrepancies are not due to our platform but quite likely some mis-configuration somewhere in the middle. The trouble is, as per usual, having tried to explain this to our boss, his lack of understanding of what our system did kicked in (again!) and he basically didn’t listen to any of our (technical) arguments and insisted we carry out another full audit of this data discrepancy.

So we set off trolling through the logs, parsing them, separate only the data for this particular 3rd party, running queries on this and all sorts. Because of the way the data pipeline for this system was setup at the time, we had access of logs/data in a few different stages in the data processing pipeline. Part of this audit was to examine data coming in and out in each one of these stages: if data coming in at stage X is the same as data going out at the end of stage X then we know that stage X does not introduce any data discrepancies and we move on. Pretty simple way of isolating issues, right, albeit manual and tedious.

As we gone through first stage and we confirm the first stage number add up and we’re moving to the second stage, our dear boss decides to come and sit right behind me. Now, it wasn’t uncommon for us when operating such audits to pair up at times just so you can have that extra pair of eyes (especially when dealing with regex’s!!!) — so as such his intention of this point could be seen as a rather laudable attempt of helping me with my data processing and checking. Except that he hardly had any idea of bash scripting (which is what I was dealing with at the time in my terminal windows open everywhere on my desktop). And knowing this made me all of a sudden very aware of the fact that I now have an idiot looking over my shoulder at everything I type and do — the kind of micro-management which I find quite offensive to be honest!

Nevertheless I look over my monitor at my colleague in front of me, who as it happens caught the whole incident and is now smiling me at me finding this whole incident quite amusing. I’m sure he’s thinking: “it must all look greek to him what Liv is doing, this is bound to be interesting let’s see what he does”. So now I’m even more self-aware of the fact that my desk and our boss has become the subject of quiet chuckling and silent skype jokes!

Nevermind, I try to shake that thought from my mind and turn my attention back to the monitor and my terminals. I type a few more commands, look at the output, compare with other outputs and move on (small) step by step in the process. At each such command executed and small step taken into this, I expect that there will be some input, comment — something! — from my boss sitting behind me, and at each such small step nothing comes from behind me. I can see at this point my other 2 colleagues involved me in cracking themselves up, their eyes onto my corner, both waiting to see why is the boss there and what is he going to say?

We all know at this stage that because he spent enough time in my corner, he is not the kind to just stand up and leave quietly — as to him that will be a silent admission of the fact he has no clue or understanding about what we’re doing! So we know at this stage that he will say something and we’re dying to find out what it is! Every command I type, I type slowly, waiting for that comment to come so he can show his superiority once more and then walk way and let us do our jobs — yet he’s got nothing! About half an hour into this and he’s still sitting there behind me with nothing to say just getting on my nerves and intriguing the hell out of my colleagues.

Finally, the opportunity comes for him: it’s coming to the point where I have to aggregate data from multiple files (which are already aggregated and processed and what-not) and I have to count how many such points of reference are there in my data files. For this, since at this stage I’m dealing with just plain text files containing tab-separated aggregated data, I’m just about to use the Unix command wc (word count) — so my command line looks like this when he butts in:

~/> some command dealing with my files | wc

And I hear his voice all of a sudden from behind (bear in mind that I’m still typing in my terminal window when he interrupts):

“Liv, you want to use here the command wc-minus-l (wc -l) — that parameter, minus-ell, counts lines not words.”

And then he stood up and left!

The moment he left the room my 2 team mates erupted in laughter, and they couldn’t stop for a few good minutes. They found it absolutely hilarious that after watching my bash scripting for 30 minutes or more, the only thing this guy could actually understand was the wc command. (What about grep? awk? sed? and all the other “standard” Unix commands I’ve used???)

I think if there was any doubt in our mind about his technical skills that doubt had disappeared right there and then as it was dead clear that his knowledge comprised pretty much of the wc command — and the minus-l parameter.

Ever since that incident, whenever I talk to these guys (sadly not that often now that we’re quite far apart), I hear “wc-minus-l” every single time we refer to an individual who’s clueless or a situation in which no one has any ideas what to do. And every single time I heard it, it reminds me of this story… Sad, but true!

One Response to “wc-minus-l”

  1. Liv

    The more I think about it, now that I published this, I reckon it’s worth starting a hashtag on Twitter for #wc-minus-l — if you read this, post your stories of idiocracy with this hashtag and I’ll keep an eye on Twitter for its presence and publish hopefully a (funny) update based on those stories.