Lord of the Rings meme: "One does not simply chance design specs"

Why and How New Freelancers Keep Failing, Part 2: The Designers

Continuing this articles series, I’m attempting to shed some light on the client’s side of freelancing. I’ve hired a number of web developers, app developers, animators, 3D artists, and 2D graphic designers for getting small parts of many projects completed.

The previous article covered the failures of software developers I had hired. In this article, I will go through a couple of peculiar encounters with new freelance designers who seem to be rather clueless about what this is all about.

A software developer with “design history”

A funny thing happened to a new freelancer who I hired. I was in need of the classic “yet another WordPress site” for some experimentation of my own. I wanted to save some of my own time for getting a simple WordPress site as quickly as possible so I can run my little experiment (the topic is top secret when writing this).

What I needed is some design capability and core HTML/CSS and WordPress skills so I could settle for either a web designer or a front-end web developer with a good eye for visuals. (Web development is something with which I started my career in the years 2000-2004, so ever since I got more into the science side of things, I’ve never had any interest nor patience for going back to web development. I will outsource such things always, sometimes even simple things.)

What happened

I was screening one of the freelance sites for a person who’d have a solid background in web development and enough design skills for getting the front-end to look decent. The person I ended up picking seemed like a good match, based on a couple of examples given. A short call with the person gave a good feeling in the beginning.

The only thing that was missing was the experience using the particular freelance site, so no work history was listed and visible there. His personal website looked brilliant, though, so I had all the confidence in hiring him as he had years of experience in freelancing IRL.

As an old experienced guy, I rarely have a need for doing anything for just one reason, always I can take one action and have a couple of goals fulfilled. Here, I thought this freelancer that I picked would easily be able to do the usual setup and landing page customization needed in this little project and be a decent fit for another project coming up a month later, which would require some real programming skills.

It’s always easier to work with the same guy than always trying to find a new one for every project. So, this first project was good for testing the front-end skills, even if it is just customizing a simple landing page. It was not many hours of work in total as I estimated it, and mainly I just needed a person with better eyes for visuals than myself. (My artistic talents are limited to music one hundred percent.)

We set a fair price and kicked off. I bought the domain and a simple WordPress plan and gave the login credentials to my developer. “Please take over and let me know what you need.” I trusted he knew what he was doing … also this is a simple method for assessing the freelancer’s maturity level, so I know how to run the next steps in the best way.

Making a very nice first impression, in the beginning, he gave me a few options on the WordPress theme I should buy. I picked a decent one and he installed it. “Thank you.”

Next, he asked for a rough wireframe for the landing page, which was supposed to be the only part that takes some actual HTML coding. I provided the wireframe. Please note that the freelancer never asked for seeing any wireframes before accepting the job with a fixed-amount price tag, which told me a couple of things about the maturity level. I had some reservations at this point.

The next day he said it was now done and asked my comments on it. This was the “OMG” part and the turning point in this collaboration. The only thing actually done at this point was copy-pasting a low-resolution version of the image I had in my wireframe (which had an attached comment “please find a suitable image”) and adding a few links to the toolbar.

The core message was copy-pasted from my wireframe and part of it had typos that my wireframe didn’t have. That was all. Basically, the result was looking exactly like my wireframe! We were missing something essential in the communication. Of course, it could be that the difference between wireframe, design sketch, and the real thing could be different in our minds; but, these being core part of the professional vocabulary, I thought this was a small probability.

So, from the first impression of “OMG,” I quickly switched to “WTF.” Of course, no real problem if the landing page can be revised later, but still if the point is making landing pages and the freelancer is just sending over another wireframe-level thing, there is little progress perceived by the client.

The next steps continued on a strange track, too. WordPress is good for making blogging sites, as everyone knows. My wireframes were addressing this with a simple list of categories into which the blog posts would fall. According to my freelancer, this is something I should do once the core work is finished. Yet another thing we didn’t have any clear agreement upon.

The last step is the classic. The contact form. As I expected by then, it simply didn’t work. But that is the part that looked good, hahah! The purpose of the contact form is that the website visitor can contact the owner/admin of the site, I would say. But this was something he spent days figuring out and fixing. I expected this to be a rather simple matter of configuring WordPress.

Along the project, I picked up some quotations that I can still remember years after the events, such as “I can spend all my time on this project, for you.” I can assume the best and take it as a positive thing, but in small projects, the point is not to spend all the time on any one thing. Getting things done quickly and precisely at the same time is the thing. I really didn’t want him or myself to spend any more time on this little project than necessary.

Originally, I had an aim of hiring this person for the next project, too, but really there was no basis for talking about the next steps since even the mundane things turned out so difficult. It felt like he should be paying me for guiding him through the work rather than him giving me a turnkey solution.

I had to explain how to make the headers and footers of the site look decent (at least no missing images, etc.) and showing examples of similar sites done with the same WordPress theme. The amount of time I spent on guiding was nearing the amount of time required if doing it myself.

Eventually, the work was done and I was still left with a rather pathetic landing page. But to look on the bright side, all other things got done eventually. No points for style, though. I made the payment as eagerly as I wanted to go forward with my experiment. I finalized the landing page myself, which resulted in just barely passing modern standards in web design.

Of course, I could have hired a real designer to finish the job, but with regard to the experiment I was running, it was not the most important thing. Just let it be.

What new freelance designers need to understand is the purpose of the design :-)

“Delivered what was requested, Sir! I thought I make it a nice decoration … was it supposed to be functional?”

I suppose the work that was done and finished turned his online profile rather poorer than better, despite the positive review that I gave purely out of pity. I did explain the point and all these complications afterward, hoping to make a positive difference. But what’s done is done. Also, the process is important. This developer who says he can do beautiful front-end work will not fly on that front at all.

Unfortunately, his online profile now has a few projects there, all from different sides of web development, not being targeted to any particular clientele. So his profile will be ignored as not being specialized in anything really, and the closest thing shown is not within his core skill set, which is a pity. It’s hard to demonstrate your talent if your profile doesn’t match it.

I still hope this freelancer found a good way forward as a freelancer. There’s always hope.

Lessons learned as a client

You could always do more vetting and interviewing, but in practice, it is up to the finances. Time equals money. Taking a day to pick the best freelancer for your little job is waste of time. Yet, you have to be conscious that the people interested in your project might not have the skills they claim they have at all. For programmers, some freelancing sites offer tests that you can take, but in my opinion, they tell very little about actual performance.

Usually, programming is just part of what is needed in a little project. Being a mere Code Monkey is quite hard on freelancing sites since many clients are looking for overall solutions that take much more than just coding. And, for the design side of things, it is even a more vague situation – there are essentially no good tests for it. Portfolios are everything, you can see, so it is hard to see past the façade.

Tips for freelancers

Stay true to your own capabilities and aim at professional skills development. If you do design, do it well. If you do programming, do it well. If you do both, be sure the combination is appealing to the client from the first batch of the results that the client sees. Otherwise, your credibility drops in a second.

Look professional, always. Donating all of your time for a few hundred bucks does not make you look super caring for your customer any more than being professional. It will make you look like a good target for dubious clients who would be glad to squeeze all the work out of you before letting you go. And for the good clients, it just looks like not a very good opportunity for long-term engagement. Too cheap. Good freelancers are busy people.

At the beginning of your freelance journey, you can only succeed in work that you can define upfront. Here, setting up a WordPress site is a very conventional thing. If you cannot list the scope of your own work and clarify which parts would be left for the client, there is room for interpretation.

Again, a less-nice client will expect you to finish and polish more work than you had booked time for. A nicer client might forgive shortcomings but is inevitably left with disappointment and might not return to you. There’s no way to win in either case.

In my own proposals, I have a rather well-documented list and schedule of what I will deliver. This is followed by almost an equally long list of things that are out of scope. I even define the collaboration points for all the work that is within the scope, so that the client knows what to expect and when. This helps in managing the time on both sides of the table.

“Yes, but it will cost you another $20”

This is another experience I had with hiring a designer to make animations for a Kinect game. The scope was well defined and doing design work there is always some need for fine-tuning and revising. Unfortunately, this was not clear to my freelance designer.

What happened

I was searching for an animator who would be able to make simple sprite animations that I needed in my game development project. Nothing complicated was required, just basic animations with enough frames to make the movement of some animal characters look natural. A bit cartoonish style was my high-level design idea for the game I was making.

The scope was very small and probably doable in a day or so. One unique shape of an animal animated into a core sprite, which would then only need to be colored differently, so I would have minor variation in the game. The quotations I kept getting on some of the freelance sites were consistently around a few hundred dollars. It made sense.

So, I had a call with the most prominent candidate, a small game development company, to do the work. The budget was a few hundred bucks, as agreed. I confirmed the scope and defined the type and amount of animal characters that I needed. I also mentioned there might be some details to iterate through once I saw the first results. We kicked the project off officially and I set aside the money for making the payment.

The first batch went really well and there was decent enough animation almost 100% according to my spec. I had defined the image dimensions in the beginning but the freelancer did the original animation in a smaller size. How can such things be missed, I was asking myself? The freelancer provided the animation sequences in larger resolution so that issue was now covered.

Unfortunately, a closer look revealed that one of the image frames was missing and replaced by duplicating the previous one, so the animation became a tiny bit jumpy. But the freelancer already had gone forward making the color variations, so that part of the work needed to be redone partially.

On the first quick look, I had said the revision was OK and I’ll try using the animations in my game, and now on the second one, I asked if another quick revision could be made. I got so very surprised by the reply: “Yes, but it will cost you another $20.” This wasn’t entirely professional, it was starting to get funny. We’re talking about a correction here, not a new bunch of work to be done.

The amount asked is below 10% of the project’s scope, which was already so tiny I had a problem calling it a real project. This guy was asking $20 extra! Of course, I wouldn’t mind paying that amount for about anything if what I get is good, but here it was the conduct of the freelancer that was really irritating.

I had two things in mind. Help this freelancer to learn the basics of pricing projects and educate a bit on how to handle similar cases. After all, I support all younger freelancers, regardless of my role in a project.

I scheduled a call and explained how these things work. Also, I mentioned I was prepared to pay a bonus of the same amount, or more had the communication and professionalism been up to the expectation. Now it wasn’t. I paid for the project and gave a good review on the freelance site, but I didn’t add anything particularly quotable for including this project in the freelancer’s portfolio. Anyway, this person was now a little bit more equipped to handle futures projects, I hoped.

… but corrections are not “design changes” – and clients expect them to come free of charge.

Lessons learned as a client

In this case, I couldn’t figure out any significant improvement in my own work as a client. It makes no sense to engage anyone to do work worth a few hundred dollars if it takes hours for you to manage and pinpoint trivial problems and issues. Simple things done right to get paid, simple things done wrong just don’t. Time is money and, in the case of freelancers, this should be taken literally. Keep in mind that this is true for both sides.

But I guess one thing can be mentioned in evaluating the professionalism of a freelancer. A real game development agency would not engage in a few-hundred-dollar project. And it would definitely ask for an extra $20. Right? I guessed that I had hired a designer belonging to the company doing this little project outside the company as an individual.

I’ve encountered a similar approach by many freelancers, even by very experienced and expensive ones. Technically, it might not be illegal or against normal user agreements of any freelance site (I haven’t checked, though). But doing that creates certain expectations in the client’s mind that can be difficult to meet as a mere individual.

The only tip I could give for clients is that you should try to avoid taking the cheap freelancer if the work is something that should not fail or produce any complications. Take the cheap guy only for non-critical things and prepare to finish some of the work yourself. Sometimes getting some basic work done cheap is OK and there are ever-growing numbers of people in the world willing to do such small things for a small amount of money.

Tips for freelancers

First of all, be transparent with your online profile(s). If your own merit is nothing you can highlight, probably you should not be doing freelancing. Your profile should reflect yourself. If you’re part of the agency, your capability should be extended by the fact that you have lots of people working with you. If you’re an individual, highlight what you can do.

Do one step at a time. Don’t jump to conclusions. It is often better to wait for a clear “go” on the next steps of your project rather than go ahead and do work in advance. Something might change and the time you’ve already spent might be in vain.

Working as a freelance software developer or designer always requires a certain amount of margin for small changes. The classic industry standard is 15% slack. And that definitely covers fixing all bugs in source code or glitches in design assets. Before asking for extra payments, think about it from the client’s side first. If making any changes is part of your original deal, you must stick with it and just keep going until the client is happy.

How do I manage this? I simply charge a high hourly rate to my clients and that covers everything. It’s a deluxe deal. That included unlimited changes and iterations as long as it takes to guarantee an outstanding result with which the client is happy. I do define a new milestone and suitable payment for completely new functionality, of course.

The point is, your basic rate, be it signed as an hourly-based contract or a fixed price project, must be set so that you can go all the way. That’s what the clients (the good ones at least) are paying for! Finishing 95% makes your freelance work look unprofessional and a bit pathetic.

What new freelance designers should probably know

Let’s sum up the lessons learned from these experiences for new freelancers once again:

  • Be true to yourself. Highlight the work at which you’re genuinely good. It is better to reject other opportunities even if you’re just starting up because your portfolio will not get any better; in fact, it might get worse when doing work outside your primary skillset. Side-trailing, in the beginning, is dangerous.
  • Don’t be just a Code Monkey. It is possible to do pure coding jobs without any care about anything else than the correctness of your commits, but in that case, you cannot accept projects where you need to interface with the end customer (which often pays more).
  • Set pricing of your work so that it covers iterations and changes.
  • Define milestones for all genuinely new work. In borderline cases, you’re forced to side with the client, usually, to keep the client relationship on a comfortable level.
  • Tiny projects are challenging to execute if your client expects flawless execution and you’re not 100% certain you can do it.
  • Be clear on what is within the scope of your work and what is not. And what is left for the client to do. Fail in this part and you risk your project falling into limbo.

Uncertainty of what to do or what the client expects is to be avoided at all costs. Communication is the key.

Does this sound similar to what you’re experiencing? Ask Dr. Mike who is happy to help to overcome the obstacles on your starting career in freelancing.