I don’t know if it’s just me, or if programmers outside of the gaming industry are just this bad in general, but I really ran into a terrible programmer this time.

I hire a guy to port RakNet’s PostgreSQL implementation of the autopatcher to MySQL for $700. I expect this to take about 3 days of part-time work, and the bid I get is pretty in-line with this:

This is quite straightforward, I’d expect to turn this around with two or three days – although for the purposes of the expert guarantee I’d like to allocate a week in case of problems.

About me: I’ve been doing C++ for longer than I care to remember 😉 on Unix and Windows.

11 days later I get the submission from the coder. Problems include:

  1. Code doesn’t compile
  2. Literally every SQL query had to be rewritten, about half wouldn’t even run, and the other half didn’t work right.
  3. Over half a dozen memory leaks
  4. No Windows project included
  5. Zero attention to detail, for example the #define at the top of the header file was the same as for the PostgreSQL version he copied from
  6. Disregard for project requirements, such as not using stl
  7. Limited file sizes to 8.4MB via MEDIUMINT (stupidity or malice?)
  8. Upload files escaped rather than binary, allocating memory once for the escaped file, and again for the query.

It was not much more than a copy/paste job of my existing PostgreSQL implementation, and a find/replace to replace the PostgreSQL calls with MySQL calls, and an additional hour or so to screw things over.

Over the next two days I report bugs, and he fixes some of them, but I eventually get fed up and take the project to arbitration. The arbitrator has already said he will rule in my favor unless the coder can explain by Monday why this should not happen. That was on Friday and the coder didn’t yet respond.

One of his excuses:

But my understanding is that deadlines are for delivering code, not fixing all the bugs

Arbitrator:

The deadline is for the coder to have the full project uploaded in working order. This should also be bug free as the coder is supposed to test the project before uploading it.

Good grief. I just redid all his work in an hour, then did the port myself over the next day days (part time).

In other news…

Today, I took half a day to port my EmailSender class to support GMail SMTP over SSL. I wrote about this previously, how the coder took two weeks to do nothing and lied about it besides. I can’t believe how I can do in half a day what some Indian programming team can’t do in two weeks. It wasn’t like the existing code base helped me either, since this is all new stuff. In hindsight, I’m offering way too much money for these projects.

What is the secret to hiring competent programmers?

Average Rating: 5 out of 5 based on 268 user reviews.

5 Responses to “”

  1. HS says:

    >What is the secret to hiring competent programmers?

    Here’s a hint: Don’t try to get them cheap.

  2. Rui Figueira says:

    At least you managed to fix that GMail thing. I think it goes back to 1 year ago. 🙂

  3. Lobo tuerto says:

    They are all already hired! 😉

  4. syedhs says:

    Yes, it is right. All of them good programmers are always hired already.

    Btw, I dont understand: $700 for three days part time coding seems a lot to me, why dont you do it yourself?

  5. Derek says:

    A few of my own thoughts on finding good people for the kinds of small jobs you have:

    -Hire a friend to do it: You must know a couple of guys who can write code. Hiring friends can sometimes create problems, but you can avoid the biggest ones by just offering a fair price for the work you need done.
    -Hire someone you’re already familiar with (not necessarily a friend) to do it: This could be people who have written software you use, or users on forums that you frequent (such as the Ogre forums). At least in this case you have some familiarity with the person.
    -Hire someone local to do it: On paper, rent a coder (outsourcing to the world) is a great idea, but you can’t beat meeting a person to get a feel for whether they’re intelligent and capable. You can treat the meeting as if you were screening a potential roommate. This makes sense because even though you won’t be living with this person, you will have to live with their code. Craigslist is good for this sort of thing.

Leave a Reply