Category Archives: Business of Software

Con Artist Consultants

Over the course of my career as a technical mercenary, I’ve seen a lot of deceit, mostly by recruiters who will lie unrepentantly.  However, in the last several years, I’ve noticed a new phenomenon – the emergence of the “Con Artist Consultant.”

At one company, they fired a consultant who was actively outsourcing his job to China.  He was originally from China and was caught packing up the source code and emailing the source code to his employees in China, through the corporate email system. 

At one multinational company, they got scammed not once, but three times while I was there. 

The first developer left on bad terms and left with thousands of dollars of equipment after failing to produce a single line of code.  I had to laugh when I was told the company’s lawyers made the recruiting company cut them a check for the missing equipment.  Needless to say, the recruiting agency was not happy to have to cut a $25k check.

The next developer apparently did so well in the interview that the Vice President of Engineering came down and spent time telling him how great it was to have him on board.  He spent the next six months giving regular status updates, but never produced anything of value until he was ultimately canned.  

But the third developer was the most interesting.  I’m pretty sure he was trying to implement Timothy Ferris’s 4-Hour Work Week. 

If you’ve never read Timothy Ferris’s book, The 4-Hour Work Week, let me summarize it for you:  1) calculate how much money you need to live comfortably in a third world country, 2) convince your manager to let you work remotely, 3) hire someone in a third world country to do your work for you, and 4) gradually remove yourself from the process until you are making enough money live a luxurious life without working.  It is a twist on the age-old riches without effort scheme.

The third developer was a consultant who was hired to work on a Linux USB driver — or more correctly, to back port an existing driver into an earlier kernel version.

It was obvious to me that the person was struggling, and for some strange reason, they moved him into my cubicle.  When he left his desk, he would pull up the schematics to the embedded device and walk away.  I thought that was weird, considering the schematics don’t have anything to do with what he was working on. 

One day, while working late we started talking.  He leaned back and smiled and said, “wouldn’t it be great if we could make big bucks here and outsource our jobs to India?”

I knew exactly what he was getting at.  I laughed and told him that the labor market in India was tight for good people, and that anyone good enough to deeply understand the Linux kernel was probably making good money already.  I said that there are a lot of people who will claim to be able to write a Linux device driver, but you would most likely get scammed.

He stopped smiling and his expression soured.   After several months, they fired him.

So now I’m consulting at another multi-national company.  In addition to kernel development and getting hardware up and running, I was tasked with setting up a build server and introducing some best practices to the group. 

The only other consultant on the project was going through some life changes or challenges and the project manager allowed him to work odd hours and remotely from home.  I never asked about his personal situation, but it was severe enough to solicit empathy from the project manager. 

And he definitely took advantage of the special dispensation.  He would work remotely for a few days and come dragging in around 3 p.m., once or twice a week.  

During the process of setting up the build server, I discovered that the other developer’s last source check in was six months ago.  He had gone for nearly half a year without checking any code in, and what he had checked in would not build. 

The project manager was absolutely shocked.  The developer had been telling her he had been checking in his code regularly.  I started looking through his directories and found dozens of copies of the source code.  The latest file modification was more than a month ago.

At that point, I had a private conversation with the project manager. I told her, I don’t know what the situation is, and I’m not going to accuse the other developer of outright cheating you, but there are tools and metrics to unobtrusively monitor developers to make sure they are working.  

That was several weeks ago; and he still hasn’t checked in his code…

My 30 Day Product/App Challenge

A few years ago, there was a passing fad of a “30 day challenge.”  You would publically announcing you intend to do something within a compressed time line, then start publishing your daily exploits.  The potential embarrassment of failure and artificial deadline was reason enough to keep you on track.

The idea is that without a deadline, the project meanders endlessly and never gets done.  Worse yet, enthusiasm wanes and the project never actually gets done.  The solution: give yourself an artificial deadline.

Most failed, but a few were entertaining to read.

So today, I’m declaring that I am building my first iPhone AND BlackBerry 10 applications, from scratch, within 30 days.