I guess my good luck had to run out eventually. For all the awesome projects that I’d been picking up off Elance, I finally got totally boned by this one train wreck of a project.
I knew right away it was going to be trouble. The project was posted as an invite-only job, and I was the only invitee, basically saying this was a offer specifically for me to consider from the buyer. Normally, this would be quite flattering, getting hand-picked and made an offer from a buyer, but this one made me nervous: it was vague as to what the buyer wanted, other than someone with “PHP and MySQL skills” … which, yes, I am definitely an expert in. In addition, the buyer proposed the hourly rate he was looking to pay right in the project’s title, which was practically half my normal hourly rate. Still, if I could knock out the fix to his problem in 1-2 hours like I normally can, it would end up being a pretty decent rate in the end … so I thought …
The job was posted some time on October 28, and at 9:55 PM I asked a pre-bid question about the work to be done. The buyer responds at 4:02 AM with the URL of his site and states that he has a “PHP script problem.” That morning, I check out the site, it’s throwing a MySQL DB connection error, which is a piece of cake to fix. This is where my Spidey-sense started tingling. How could I bid on work when I can’t even see the site? Still, I’m a sucker, I still had hours that weren’t billable for the weekend, so I figured I’d take the work. Some money is better than no money, right? Right??? (In hindsight: NO!!!) A few more messages are exchanged, I submit my bid for the project, and wait. By 10:37 AM, he accepts my bid and awards me the project: the game is on!
Right away, I get in and correct the credentials so that PHP can connect to the MySQL database. Great, the site’s up, now … and it doesn’t look outrageously terrible, so maybe this is going to work out okay, I’m thinking. Hoo-boy, how wrong I was, hah! Throughout the morning, we exchange messages and he keeps saying how he’s going to give me a list of changes, which never materialize. He wants to talk on the phone, which if you know me, I prefer to avoid, for the exact reasons that actually happened … yet again.
I’m waiting for whatever list of changes he wants done, watching the hours tick by, and out of the blue he calls me at 5:00 PM. According to my call history, we spoke for 24 minutes, of which I remember there were an agonizingly painful 22 minutes or so of me trying to make sense of him while he abruptly stops speaking mid-sentence, not finishing a single thought, starting a sentence mid-thought … and me asking him to repeat things that sound remotely relevant just to make sure he didn’t emit words from his mouth by sheer accident and just generally playing Requirements Whack-a-Mole over the phone.
I finally get off the phone, and shoot over a few questions trying to clarify what little I came away with from the call. Instead of answering in writing, he calls me again at 8:09 PM and we go round-and-around the mulberry bush for another 9 minutes. Needless to say, it was more of the same as before and I didn’t get my questions answered. So, I do what I know always works: I stop wasting my time asking questions and I start reading the code. The code never lies.
And, in this case, the code is a downright disaster. I start putting together a list of all the possible things that he might want to fix, most of which he probably doesn’t even realize needs to be fixed, figuring he’ll name some items that I can crank out and get through this supposed 8 hour project. At this point, I’ve accepted that it was a huge mistake to take on this project, but I feel bad for the guy so I figure I’ll give him something so that this wasn’t a total waste for both of us. (Mental note: stop doing this! It never ends well.)
On Saturday, he’s apparently busy working, so I don’t hear from him until 2:15 PM when he sends me a message saying he’ll be free after 4:00 PM. Lucky for me, he must have found someone else to torture after work, because I don’t hear from again the whole day. I get to work on another client’s project, thank goodness.
I get to continue working on other projects on Sunday, until he calls me again at 7:29 PM and I manage to get off the phone in only 6 minutes. At 8:00 PM, he emails me saying that he would send the list of changes he wants done that night and that he would be available at 10 AM the following day. I acknowledge his email at 8:02 PM, letting him know I’m looking forward to finally seeing this list. Like a pig saved from the slaughter for a day, I’m actually feeling relieved by this empty promise … and I finish off my Sunday getting other client work done.
Monday morning rolls around, and at 9:44 AM, he calls me. We talk for 5 minutes, probably me pointing out how that supposed list of changes never materialized to which he probably rambled on about how I’d be getting it. He sends me payment out of the blue for three hours with the explanation that he’s paying for “the hours so far to show initiative in comppleting [sic] it ASAP.” Oh, if it were only three hours I’ve sunk into this mess, that might have been worth something.
Finally, at 11:47 AM, I get a change request that I can actually act on! And, a request to test a portion of the site’s functionality! For those keeping score at home, it’s now three days after the project has officially started. Finally, I can start working against those evil 8 hours I’m on the hook for …
Around 5:00 PM that night, after getting done some work for my other clients, I complete his the change request, and do the testing, and post screenshots into the Elance workroom to show my progress. By 7:26 PM, I’m done … and ask him to provide an explanation as to how to reproduce the problem he’s asking me to test for. He has no idea, so I decide to call it a night and go back to working on other client projects. Tomorrow’s another day full of suffering just waiting for me.
Of course, as my luck would have it, things go from bad to worse. My network connection goes down at 2:07 AM on Tuesday, 11/2. This forces a hard stop and I crawl into bed, hoping it’s some scheduled maintenance and that things will be up by the time I get up in the morning. Sadly, it turns out that the entire block is without connectivity and a few adjacent streets, and there’s four or five repair trucks out along the poles. Finally, at 10:32 AM, network connectivity returns. I shoot him a note at 1:58 PM letting him know that I was offline most of the morning. It seems he must be busy, as I don’t hear from him the whole day.
Wednesday at 12:58 PM, I suggest he spend some time and put together the list of changes in an Excel spreadsheet so that we can both know exactly what is happening, so I can finally lock down the scope and get away from this mess. At 4:51 PM, he sends a message saying he’ll make the list. Then, he calls me at 4:52 PM and we spend another 6 minutes on the phone. At 5:04 PM, I get a message saying that he’s working on the list and that I’ll have it within an hour.
At 6:37 PM, he tells me that he doesn’t have Excel and sends me this huge blob of unformatted text which I only guess is what he thinks is a list of changes. Here’s one of the gems, verbatim:
WHEN YOU IN GOOGLES, THEY
BACK TO OURS IT SAYS
If anyone can actually figure out what he meant by this, I’d be impressed. Eventually, I was able to decipher it, but I now have a finer appreciation for what archaeologists must deal with when finding an ancient civilization. Holy crap.
To make this ridiculously long story slightly shorter, at 6:42 PM he calls me and we go back and forth on the phone for 30 minutes, at which point I think I understand a few of the more important items on the list, and get to working on them.
One of the requests is to doctor up some PDF files with changes, and I inform him that I’m not able to do it. He suggests I print it out and white things out and scan it back in … because, well, he’d do it but his scanner is broken (!!!). At this point, I just can’t take it any more. I tell him I don’t have a scanner and he should hire a graphic designer to make the changes he wants. Instead, he goes to Kinkos, whites out and hand-scribbles his changes, scans it and sends the results to me. I’m not joking; I wish I were.
Fast forwarding a bit, days go by … us going back and forth, me trying to zero in on what each of those nuggets from his “list” mean. Finally, last night at 8:52 PM, I go into Elance and request that they cancel the project. I muster every ounce of willpower I can, writing and rewriting the next message over and over, trying to eliminate all of my seething hate and anger. I finally wind up with this, and I send it:
I’m sorry, but I can no longer work on your project. This is not how I do business and I cannot continue to wait for you to decide what it is you need done.
I’m going to mark this job as cancelled. Please find a new provider.
Despite losing out on what little money I was going to make off this project, I felt a huge relief after doing this. It was finally over. Dare I say it was almost orgasmic. Yeah, it felt that good to finally get this monkey off my back. But …
Today, he finally responds at 3:31 PM with:
Im not sure what prompted this message however I do hope your satisfied with future clients and that they meet your needs. If you send over an invoice i will remit.
What? What, what? Seriously, two weeks into this mess you don’t understand why I’m canceling this project with extreme prejudice? I guess in all my agony to try and be pleasant, I guess I failed to be adequately clear. So, at 4:10 PM, I sent this final message:
This project was bid at 8 hours for $[redacted]/hr. It went on for two weeks, and was well over the 8 hours – probably closer to 15-20, but I wasn’t watching the clock, could be more, I don’t know.
What I do know is I can no longer continue to respond to you in a timely fashion because the large amounts of time I spend trying to decipher what you’re asking for, reading and re-reading your messages, listening to your voicemails, talking with you on the phone — it was cutting into time I had committed to other clients and your project was putting ALL of my other work at risk.
It was a difficult decision to cancel the project, but I would be losing a LOT more than $[redacted] if I let ALL my other projects suffer because of yours. I’m sorry, but I cannot afford that — this isn’t a side-job for me, it’s my primary source of income and it pays my mortgage and feeds my kids. I cannot afford to let you jeopardize that, not for $[redacted]/hour.
Good luck finding another provider on Elance and completing your project.
I. AM. DONE.
Let this gruesome tale of a freelancing opportunity gone horribly wrong be a lesson to all of you: JUST SAY NO. Sure, you might wind up passing by a few good opportunities, but you’ll definitely avoid these train wrecks. In the end, they cost your business more than those few possibly missed opportunities could ever be worth. Trust me.