Cocks That Lay Eggs

Cocks That Lay Eggs

Even someone without a rustic upbringing, or has not spent extensive amounts of time engaged in the honest toil that is work at a farm, would have no trouble acknowledging the not oft quoted enough wisdom:

Hens that crow do not lay eggs

As with many things, this has parallels in life.

When you settle down and sink into a state of smug satisfaction, God in his infinite wisdom (and excellent sense of humour) can be relied upon to rally the troops and really make things hum.

I am reminded of a gentleman, who we shall call Bill to protect the guilty, who, like a thunderbolt crossed the bows of my quiet existence as I was labouring painstakingly to build the team at an organization I worked for,  whose name I conveniently forget.

Bill I shall credit with being one of the most pleasurable interviews I have ever done.

I had no need to lull him into a sense of comfort. He ensconced himself so comfortably in his chair that I more than once had to verify I was in fact in my office, and in the right chair.

He positively cooed as he effortlessly and with confidence recited a litany of three, four and five letter acronyms. He then proceed in great detail to outline how he had made use of said three, four and five letter acronyms in various projects. Successfully, might I add.

He correctly concluded that some practical demonstrations would impress me still further and logged in on his laptop and proceeded to confidently give me a few demos as well as some a cursory tour of the source code and structure of the applications he had worked on.

My heart was beating in excitement. This is precisely the sort of individual I wanted in the team.

I put on my most winning smile (trusted friends are yet to agree on whether it is in fact a winning smile, or the grimace of an imbecile).

“I don’t suppose you are available to join the team? We’re a small team, a young team and …”

“Oh don’t you worry about that!” Bill gushed, silencing me with a raised finger. “This is the sort of challenge I have been looking for! When can I start?”

“Well, I can’t really pay the sums you are no doubt used to and …”

Bill’s lazily raised finger cut my speech short yet again.

“Fear not. I will take what you can offer me. We can always revise the terms later! When can I begin?”

“Tomorrow if you can!”

Bill’s laugh shook the room like an explosion.

“Ha ha! Can’t quite make it tomorrow but give me two weeks to organize my affairs!”

“No worries. In the meantime we shall organize laptops and whatnots for you!”

Bill’s thunderous laugh had me grabbing the top of my head to keep it from lifting off.

“Great! See you then!”

With another laugh that shook the rafters, Bill took his leave.

I excitedly explained my windfall to our team leads and my glazed eyes missed the uncertainty in theirs.

On hindsight, I should have realized I was buying land purely from a photograph. But let me not get ahead of myself.

Bill, his generous girth and explosive laugh were soon amongst us.

He held forth extensively on several technical topics, effortlessly pointing out several debilitating flaws in database, programs and  operating systems that I have been happily using for years.

As I engaged Bill, I quickly came to the conclusion that Bill was a great fan and admirer of Bill. Bill thought very highly of Bill. Bill could (and did) go to great lengths to articulate Bill’s considerable opinions.

Bill’s laughter regularly rattled our window panes as he inspected our code, marvelling how we were allowed to drive, live on our own and potentially sire offspring.

We winced, smiled glassy smiles and took the dressing down by the great man.

I outlined the tasks I expected from him, which he responded with an thunderous laugh and a wink.

“No biggie!” He said gleefully flexing his fingers

As weeks went by, and explosive laughs cannoned off the gypsum board (yes, gypsum!) I began to grow anxious.

The great man wrote his code industriously. But the source code repository continued to echo in emptiness.

Finally I worked up my courage to inquire.

Bill: “Oh! I thought I’d start off with a thingamajig framework.”

Me: “Well, that sounds neat, but that is not what we discussed!”

Bill: “No biggie! Give me a day.”

That day was longer than … something very long.

Enquiries as to why the delivery of the baby was rapidly closing in on elephantine timelines were met by a tapestry of reasons.

The approach changed, the tools changed, the frameworks changed. Then a global recession, war in Iraq, insurgency in Afghanistan, global warming, The Fall Couture line – each time I inquired, a dazzling reason why nothing was shipped was delivered earnestly and enthusiastically.

Close to a year later I reached the startling realization that not a single complete module had issued from the great man’s gifted fingers.

We sent Bill on his way, assuring him we would pay him the rest of his month’s salary.

It was only while going through the company computer that he surrendered that the penny dropped.

Over and above amassing an impressive cache of exotic lurid videos, Bill spent a great deal of his time

  • Perusing job sites and submitting applications for employment
  • Updating his impressive CV to indicate our organization owned its entire existence to him and his genius, as he had architected and written in their entirety our current applications
  • Expressing amazement at the functional idiots, and in particular myself, he had the misfortune to work with
  • Planning to write his own version of our software, and upon concluding that within a month, simply poach our customers

The last one brought tears of laughter to my eyes.

As I wiped the laptop disks, and for good measure wet wiped the keyboard and my hands I had cause for reflection.

Bill had been with us for almost a year and had never delivered. Code, at least.

Why had I not caught this earlier?

Hens that crow do not lay eggs

Dazzled with the strutting and crowing, it took me almost a year to realize no egg had been laid.

What’s more, the cock had been having a devastating effect on the sturdy reliable hens that had been steadily and surely laying eggs.

We would agree on an approach, or a tool, or a framework and overnight Bill would roundly reject it as being beneath him and institute his own.

Unsurprisingly, chaos would ensue.

Bill would also on occasion vanish without an explanation. Once he was gone for almost two weeks, leaving us to wonder if he had met his untimely demise.

Once he startled his team leader with a text message explaining his inability to show up to work one day was due to the fact that the neighbour who used to give him a lift to the stage had departed for a brief holiday.

I foolishly waived the probation period, designed to catch such things and am the wiser for it. Nothing like almost a year of wasted time, not to mention money, effort, sanity and goodwill, to school one.

With age (hopefully) comes wisdom

  1. Some people interview beautifully but are unable to deliver
  2. Some people interview terribly but consistently knock it out of the park
  3. An interview is actually a poor way to determine fit for work and team, and performance
  4. The only way to verify ability is output (work, rather than narratives)
  5. Take probation seriously
  6. Do not be seduced by the charm, to the detriment of substance
  7. The most solid, reliably, productive people are generally the quiet, unsung heroes
  8. Hire slowly. Fire quickly
  9. Involve a larger team, and preferably those who will work in that department, in the process
  10. Learn from mistakes. Even if they are your most disastrous ones

2 thoughts on “Cocks That Lay Eggs

  1. Really interesting article, particularly the bit about devs that interview well but fail to deliver. I have worked with a few in my time. CTO/Senior Engineers lakini knowledge dololo. How do you even begin to determine technical competency? A college degree? Years of experience? Another thing to consider is the role you are hiring for. I dislike this junior/senior engineer dichotomy, but I find that you are either hiring someone that you will initially train( who might have very little experience) or someone you expect to mentor/manage/architect. At each of the levels you are hiring for, how do you determine an acceptable level of experience( point #4 ) Do you standardize the process of simply go with your gut and recommendations? I realize these are difficult questions.

  2. I may have met Bill. I’m a developer and was leading a team of 3 developers and my other role was to also develop the backend of a large project and expose API end-points in which Bill would come and develop UX for a certain set of users.

    He fitted easily into the team and we had stand-up meetings and as you say, he would not show up sometimes, he would mention excuses of frameworks, write mathematical formulas on the whiteboard. The management unfortunately could not read between the lines, they liked him much enough that they would spend hours discussing strategy as they smoked in the ally. He became the hero. A shadow of doubt was created on the other team members as he criticised the way they code and patterns they used. Soon, without anyone’s involvement started an attempt on backend development (which seemed like cloning some project he had done in the past). We discovered that a week or so later when we asked on the progress of the UX. He had deviated from the task he had been assigned and tried to duplicate stuff which had already been completed.

    He went on to slowly disintegrate the team by openly criticising some of the most talented developers in front of management. I was not comfortable with this, and unfortunately could not interject in most cases as he would prefer to do this in his native toungue, which he shared with the management. I was one day surprised when the managers told me I write bad code. That was enough for me. It was time to leave. I was demotivated enough to abandon the project.

    I agree with your points on the wisdom you need to have on hiring developers.

Leave a Reply

Your email address will not be published. Required fields are marked *