The following is a tale not meant for the faint of heart. I’ve been freelance web developing, etc. for over three years now. I’ve had some great clients, but in those early days I ran into few that, in hindsight, I should have recognized as soul-sucking demons that had climbed straight from the deepest, fiery pits of HELL.
The Year Was…
To set the stage, I had just “quit” my full-time job (they then turned around and hired me as a freelancer), and I was already doing well with a couple of retainer clients, which was why I quit in the first place.
The thing with retainer clients is, some months you work your ass off for that fee, possibly going way over the worth of the fee, but then other months you literally do nothing and yet that PayPal email always comes. Glorious.
In my downtimes, I liked to look through Elance and knock out a few quick jobs, if possible. I’d search for short $150 – $500 jobs that were relatively easy. Then I’d start “stacking” up the money from those for hard times (when you’re freelance, you have to always be prepared for the worst). I’d avoid the larger, more complex and higher paying jobs, since those would eat up too much time. The whole reason I went freelance was to get more time to work on my own personal projects.
So I was browsing on Elance, and that’s when I saw…the job.
Anyway, I spotted a WordPress job listed on Elance. A job consisting of what I thought were fairly easy adjustments to the client’s site. These were of items like:
…and it went on like this.
I didn’t see anything I thought to be very difficult, so considering all the changes I came in at about $400 with my bid. At the time I bid there ware already eighteen other bidders. That was back in early 2011 – the same job posted now would probably have had fifty to sixty bids by the time I got to it.
You always see the warnings more clearly when you have the benefit of 20/20 hindsight. There were a couple of things I should have recognized as potential trouble.
For one thing, the client’s project description was extremely aggressive and accusatory. It was something along these lines:
I have already been burned by unscrupulous freelancers! If you are not a person of integrity DO NOT BID! I already know how to do these things and I know how long it should take so be aware of that. I just don’t have time to do it now.
It seemed a bit harsh, but if you’ve been burned before, you would likely be upset. And even so, I’m a person of integrity and had no plans to burn him, so all should be good, right?
The other thing I noticed was there were many declined bids. At the time I looked there were eleven declined. Hmmm. You could just award the winner the job, and the rest of the bids are automatically “declined” by definition – but to go and manually decline over half the bids. Again, it seemed like it was kind of harsh.
Of course, I didn’t think too much of it. My client/Spidey-sense was not very well developed at the time.
Hi, I’m Mike – SHUT UP AND LISTEN.
The next day I received an extremely brusque message from “Mike” via the Elance “Workroom”:
I need everything I talked about done by next week. NOTHING more than what I said. I already know what I want. Can you do this?
Well, of course. I wouldn’t bid on a job unless I knew I could do the work. I wasn’t really insulted here, though. I’m sure there are people bidding on jobs they know they aren’t qualified for, hoping they can learn on the job, or something. He said he’d been burned before, so…
I sent back a message assuring him I could complete the tasks, and explaining a bit about how I would accomplish them.
A few hours later I got a message that the job was cancelled.
Now this next part is where I was extremely stupid. This was my decision and it was a bad one.
After I saw the job was cancelled, I received an email directly from Mike via the contact form on my website.
John I want to hire you to do this job, but not through Elance. This way we can both avoid the fees. Sound good?
Hmmm. This was unexpected. I was somewhat alarmed, except I had found both of my retainer clients through Elance. We worked two or three jobs on Elance, then decided to move away from it and work direct. Those relationships had turned out extremely well.
Why not move up the timetable a bit?
I responded in the affirmative. Then I made up my “quote sheet/contract”, which contains my terms blah blah blah. Importantly, I make up a bullet-point list of everything that has to be accomplished and by when.
When I sent this to Mike I did NOT receive an agreement or even acknowledgement of it. He simply sent me the login info for his site.
Yes, it was a rookie move to agree to this. Somehow you never think you’re going to be screwed. That shit only happens to someone ELSE.
Yikes! Jinkies! and HOLY CRAP
When I logged in I received a bit of a shock. If you’re familiar with WordPress, you know that the Dashboard contains alerts when anything needs to be updated. Well, everything needed to be updated. Plugins, themes and WordPress itself all needed to be updated.
There were about a thousand themes listed. I don’t know what webhost he used, but sometimes when you use their “one-click” installers they dump a bunch of themes in there. Plus, I remember that there were Ninety-One plugins listed. If I recall correctly sixty or so of them were active!
Checking into it more, the active theme was not a child theme, and not only that, but was some free theme I had never heard of before.
Finally, I could see that there was no backup solution in place. This site was already live, and I didn’t want to work on a live site without an efficient way to recover from possible errors. Ideally I’d backup the site, install it to my own local server using Mamp Pro, then make it available to the client by using a service like DynDNS or similar. When I was done, I’d then “restore” the site to the live server and all the changes would be done.
Even better, some hosts provide you with a “staging” server where you can make all your changes, then push them out to the live site when you’re satisfied they all work. I wasn’t sure who his host was, so I couldn’t be sure if this feature was available.
I brought all of this to Mike’s attention, and I was again surprised by his reaction.
John, stop trying to UPSELL ME!
Essentially, Mike accused me of trying to add more fees into the project. Yes, it’s true that BackupBuddy is not free. There are free backup plugins out there, but in my opinion BackupBuddy is the best one for the client. I can use any one of those scripts or just back up via FTP. I’ve even been known to just download the database myself via phpMyAdmin or use the host backup tools. This sort of thing is a hassle, if not outright terrifying for an average user.
Speaking of the webhost, I asked if he was relying on the webhost’s backup solution. Depending on the host, those can be tricky for someone who’s not savvy with websites. Some of those backups actually collect your entire account, so you have to sift through all kinds of irrelevant files to get the ones you need. I’ve done it before, but I don’t prefer it if it can be avoided. (More on this whole “Back Up” situation later).
So again, Mike was irate. Now he wants me to stop “stalling” and please get to work on the site. Well, at least he said please this time.
Finally, I had to wrangle the FTP info out of him. He didn’t want to give it to me because he didn’t “know” me. He wanted me to use the Editor found in the Dashboard “Appearance” menu. Sigh.
At this point I told him I don’t develop that way. I only use that editor if it’s a last resort and I need to edit one of those files. It’s not really a safe way to work. Using FTP/SFTP and my program of choice (Textwrangler), I can have un-do’s, automatic revisions saved, plus line numbers and syntax coloring. Finally, I had to let him know that I was already in his WordPress Dashboard. If I was really so untrustworthy, I could cause a significant amount of damage directly from there.
I told him I was not there to ruin his site. I just wanted to do good work and get paid for it.
Later, I received a short email with the FTP credentials. Sheesh!
By now I was spooked. The relationship had turned confrontational within the space of a day. I dropped the whole child theme issue since it might cause another blowup.
I determined that it was CYA (Cover Your Ass) time. Once logged in to the FTP server, I downloaded the files to my computer. I also installed a free backup plugin that wasn’t as handy as BackupBuddy, but would get the job done quicker than using FTP, plus it would grab the database.
Bottom Line: I wanted to be sure I could put that site back EXACTLY the way it was when I first found it.
Once I was able to work, it went quickly (I wanted this project out of my hair). The changes were not major, in my opinion. A little CSS, plus a smattering of Advanced Custom Fields (not nearly as powerful then as it is now, but it did what was needed), and I was all finished. Or so I thought.
I hadn’t heard from Mike in two days from the time I emailed him that I had finished the changes. Finally, I got a response.
Good. Now there’s only a few more things…
The much dreaded Project Scope Creep.
Anyway, I’ve had limited experience with Multisite, and I’m not looking to gain any more. It’s just not in my wheelhouse, nor do I advertise as such. The thing is, adding Multisite OR BuddyPress to an already existing site is not to be taken lightly. Adding BOTH at the same time?
Remember that bullet-point list I sent? Everything was checked off. I attached the original file and asked him to review the list, then let me know if anything had been missed.
He ignored the part about the list and asked me how long it would take to get Multisite up and running.
In my response I wrote that we should finish up our current project and I would be willing to help if he wanted me to take on the next project, but that I was not well-versed in either Multisite or BuddyPress.
Basically, I wanted him to pay me for the work I’d done and then hopefully he’d find someone else to handle the Multisite, etc.
No response. Again, for TWO DAYS.
I received another brusque email from Mike:
You can’t do Multisite? I need someone who can do Multisite. Do you know anyone?
Alright. I could appreciate that he was thinking ahead, but right now we needed to finish up my project. And by finish up, I mean pay me. At this point, I figured I was just going to have to specifically ask to get paid. You don’t expect to have to do this, because everyone should just handle their parts of the transaction, right? I don’t know why I felt like such a heel for asking for money that was owed to me, but I did.
I told Mike I didn’t know anyone who specialized in Multisite, though I could ask around (even though I had no intention of inflicting this guy on any of my friends), but I would appreciate it if he could first pay me for the work done, since it was completed as directed.
More deafening silence…
You Can’t Be Serious..?
Almost a whole week went by. I’d been busy with something else as well as personal stuff, so by the time I got back around to wondering where Mike’s response was, I was surprised to realize I’d let all that time slip away.
I shot him another email asking politely for payment. I also asked him to let me know if there was something wrong with what I’d done, or if there was any one of the bullet-points he didn’t consider finished. If there’s a legitimate issue, then by all means I will fix it.
The response came within two hours. Very quick, for him.
He explained that it was his “policy” to wait thirty days after the work was done to test the work and make sure it was correct.
Hmmm. Many businesses allow thirty, forty-five, sixty days to pay invoices. Except in this case my written terms had been that I would be paid upon completion of the work. Remember my written contract with the bullet-points? The one Mike never specifically agreed to or even acknowledged in any of my emails? Oops.
This is why you stick with Elance for the first project. Or otherwise stick by your guns on your contract/agreement. Just for issues like this. Don’t proceed until it’s signed off on.
Stupid stupid stupid stupid of me. Lesson learned.
I had no way to know if I was ever going to be paid. I suspected that if I let thirty days go by, he might never answer another email. I sent back another response saying that it had been seven-plus days now that the work was done. Surely he could see it was all working?
So now what? I had his email, but little else. Where was this guy? I went back to his Elance profile. Precious little info in there. Apparently located in the U.S. in Columbia, SC.
Great. Can I sue someone for $400 from across the country? Would I? With no real agreement hammered out. Gah. So stupid.
Nothing I could do but wait.
A day went by, and the following day I woke up to a PayPal payment from Mike.
WHAT? Oh, come on! Seriously, it was like a big FUCK YOU right to my face. Sorry for language, but that’s how it felt.
He had to be thinking “This guy isn’t going to go through the hassle of trying to come after me for $50! HAHAHAHAHAHAHA!”
Man, I was pissed. I sent him an email saying I didn’t consider this full payment, and that I knew why he did it. I told him I didn’t expect to get the payment from him, but that as far as I was concerned he owed it to me. I didn’t expect to get a response, and of course I didn’t.
When you look at the numbers, $400 isn’t that much, but it took that lesson to really teach me. Sometimes I don’t know. I’d be seriously pissed if I got stiffed for the whole amount, but somehow him deliberately shorting me that $50 really made me even more mad.
You know what? Elance has it’s problems, but the safeguards they have in place are there for a reason. I put myself in this position by going off-site before I really knew the client, and then failing in my responsibility to get a signature or other acknowledgement of the terms.
Here’s a tip for you up and coming freelancers out there: Don’t Do This.
Damn, I got burned.
If you remember from earlier, Mike’s description of his project on Elance consisted of him ranting about being “burned” by other freelancers. I think it more likely he pulled this stuff with other people and they bailed out before they could get burned (unlike my stupid-ass). Then he was pissed because they saw what kind of guy he was and he didn’t get his work done.
Epilogue: JG’s REVENGE??
Something happened a few months later. I hate to say this, but I took some pleasure in it.
I awoke one morning to multiple emails from Mike. I had forgotten about this clown in the intervening time, but there his emails were right in my face, bringing back unpleasant memories of that one time I let myself get taken like a chump!
Remember above when I said to take note of the whole back up situation? Well, apparently he had transferred to a different host and the files got “screwed up” (his words). Now he was looking to see if I had any of the files so he could restore them. What?????
First of all, I deleted all those files I made. I sure as Hell wasn’t going to store them for free for him. However…
I decided to see what had happened. I asked exactly what the situation was, and why were the files “screwed up”?
Here’s what I determined: Mike was unsatisfied with his (then) current host. He bought new hosting, then told original host to kiss his ass. He repointed the domain name and…nothing. Files won’t load. They are “screwed up”.
As you can no doubt tell already, he repointed the domain at the registrar, but didn’t move the actual files to the new host. Remember, this was the guy who “already knew” everything, but just didn’t have time to do it.
Just to be sure, I tried to login using the FTP info previously provided. It no longer worked.
I’m not the type to take pleasure in someone else’s misfortune, but this was just too good. Served up to me on a platter. Incredible. So with a little regret, I must now admit that I was indeed smiling when I told Mike that he’d have to go back to the previous host with hat in hand and beg them for those files. Assuming they weren’t unceremoniously wiped as soon as he cancelled. I’m not sure how long (if it all) hosts would keep files after you terminate your account. I know I wouldn’t keep them…
Needless to say, I didn’t hear from Mike again. I checked the domain in the next couple of months. He mostly got the site back to where it was, but it was obviously lacking the awesome proficiency of the “JG Touch”.
To whoever it was that re-did the site, I salute you. Also, I hope you kept the job on Elance and actually got paid your full amount.
So be careful out there, my friends. Dot your “i”‘s and cross those “t”‘s.
Alright I’m outta here again, I’ll catch you guys next time!