The Customer is Always Right?

Open Letter to the Bait and Switcher

I just finished a job for yet another poor client from a freelance site. The truth is, I don’t really like these freelance sites for a reason. It’s not necessarily the sites, though some in the past have never protected sellers, despite taking the fee from the sellers only. It’s the volume of bad buyers on there. It’s certainly not everyone, by any stretch. However, when you hit one, they can be horrific. Indeed, one I’m dragging through the courts found out about me through another such site and despite us having an initial conversation on there (in which I initially said I didn’t want to engage), didn’t pay the site it’s exit fee to contact me directly, then of course, didn’t pay their third invoice. At the time paying the release fee was the responsibility of the client and it transpired later that they had not.


initial job posting

So I responded with a yes I can resolve your IIS problem [only] and that it is fairly simple, my bid is £25 please.

The Play

What was found wrong

He also didn’t mention he used FTP to connect. It became clear when looking at the server that whomever put the code there (him I suspect and pretty much admitted, but I wonder if he did), didn’t really understand AppPools, AppDomains, GACs, HTTP Handlers or the like . Hence, nothing was standard.

The documentation he says he didn’t get

The Irony

Hi bio

He had managed to install a .NET application into a PHP website under the same NTFS directory tree [OKaaaay…and that wasn’t at least going to cause him to think?] and in IIS, installed the ASP.NET code in the PHP tree which was optimised for handling PHP only (the Plesk installation does that) and seemingly expected it to run ASPX without the necessary ISAPI handlers; managed HTTP modules nor script handlers [#fail]. He was uploading the website via FTP which naturally does not install anything, despite the reliance on the NuGet packages defined in packages.config.

Having sorted the original issue, another issue appeared, this time with his code. It was several things including a missing bundle configuration. I highlighted this to him but his reply gave me the sense he wanted me to debug it. Debugging code wasn’t in the original tender, yet I figured I’d initially look at it, perhaps give him a pointer and he can take it from there. Go the extra mile. Y’know.

However, the code he was deploying to the web was incomplete. I highlighted that to him, indicating it appeared there was a missing Global.asax amongst others, which loads the routes and kicks off the bundler configuration. I asked him to send me over the code, which he duly did and it became clear the code was dependent on the bundle configuration which his manual FTP copy was missing. The code also suffered from lots of bugs and required a heavy installation (specifically, WebDeploy or some other service was needed to trigger the pull of NuGet packages). I reported this back to him and indicated it was outside scope and he suddenly became hostile!

Needless to say, I managed to earn my first review of only two points out of five.

The “Other” Problem

If you wanted to, Mr Man (@itabsinthe), you could set up a job for it. Don’t try to shoehorn it into this tiny job of 25 quid for what turned out to be 6 hours of my time. Professionalism doesn’t need documentation. It needs realism. If you truly wanted to pay extra, which indicates you were happy with the work, then make that clear. I did give you the opportunity to do so (i.e. “ If you have any other issues and wish to book some of my time, definitely get in touch.”). You agreed to a contract without technical documentation. I never proposed it and you didn’t ask for it. But do you remember this?

Again, the documentation he says he didn’t get

You were given what was wrong.

The Non-expert Expert

Well, here is your documentation Mr Man.

The review I finally left

Please do not assume that you paying under minimum wage is a privilege to someone. Please do no sabotage people who are a threat to you or your [quite poor] standing. In addition, just because you don’t understand something, doesn’t give you the right to the knowledge and skill of others without asking for it or recompense. We are not mind readers and there isn’t infinite scope or time.

Don’t try to cover your tracks or make excuses. You have the ability to show it by doing it. So do it. Have some integrity. You’re making us that do have it, look bad and hate people that behave as you do, so I for one, I’m calling it out Mr Fulvio! @itabsinthe


EA, Stats, Math & Code into a fizz of a biz or two. Founder: Automedi & Axelisys. Proud Manc. Citizen of the World. I’ve been busy