I’ve seen the story played a hundred times over, you download some software to power your website, blog, shop or you click the ‘1-click installer’ to get it up and running and then it hits you.
You’ve never even written a line of code before and you don’t have the time to learn how so can you get from what is provided out of the box and into what you want it to look or function like?
The easy option of course is to find a ‘freelance developer’ after all there are thousands of those out there right?
This is where a lot of people end up coming unstuck, yes there are certainly thousands of ‘freelance developers’ available across the world, however not all will be a pleasure to work with and some will take your money and deliver you nothing. It’s a sad fact that there are still people out there who give the many great freelance developers a bad name and you will spend a long time chasing them down to get either your money back or nothing at all.
So how do you recognise when you’ve selected a bad developer? A simple warning sign is when you send them emails but they don’t reply or they use excuses like
I’ve been replying but your spam filter must be filtering them out
Sure this excuse might be valid but it’s pretty rare in my experience of being a freelance developer, if in doubt check with your email provider as they often have ways to retrieve emails caught by any spam filters or at least have access to logs which can confirm that they have or haven’t been caught.
This isn’t a one-way street however and freelance developers can often get stuck with clients who are being unreasonable by trying to add extra changes into the work required, demand unreasonable deadlines and not pay the money that is owed.
I’ve even seen instances where developers publish a list of “Bad Clients” in order to get them to pay up, this in my opinion steps way over the line in what I would consider acceptable behaviour.
I’ve completed many freelance projects over the years, most have been completed successfully with a very happy client, a few have not ended so well. Sometimes the blame sat firmly at my door where I over-committed myself and couldn’t deliver in the timescales agreed in other cases the blame can be attributed to a particularly bad client with ever changing demands.
Where the fault was at my door both myself and the client came to amicable arrangements into how to proceed, which involved either a full refund of any money paid in advance or new timelines being agreed and the work being completed to the requirements agreed to and extra support time being added on to compensate for my mistake.
Where the fault was at the clients door we also came to an amicable arrangement about how to proceed, this normally involved delivery of all work completed so far in return for any payment in advance, agreement on the revised cost for the revised requirements or a refund of all money paid in advance without delivery of any of the work completed.
Not once have I had to create a ‘bad clients’ list and I have always been satisfied that I have been as helpful to the client as I could be and made sure that I went above and beyond to ensure a happy relationship even if it ended before the project was completed.
Unfortunately not all developers are as professional as I consider myself, so here are some tips for both clients and developers about how I go about working on freelance projects these days.
For clients
Never give a huge project to a developer you haven’t worked with before, if you want to find someone new start off with small projects to build up a relationship
Be as specific as possible in the list of work you want completing but keep it high level and explain what you are trying to achieve, this gives the developer context and they might have an easier solution for you
If the developer needs server access, make sure you provide them with all the information they need in advance, make sure you change the login details when the project is completed
Make sure to agree timescales and delivery dates for any project in writing or via email
Keep in regular contact with the developer but don’t hound them every hour, an email every few days for a large project is reasonable
For Developers
Always clarify the clients requirements up front before quoting for any work and make sure they confirm that the work you are quoting for is what they are expecting
When quoting, break down the work into deliverable chunks if possible and provide a price for each block of work, this will allow the client to take a phased delivery of the project
Always include some contingency in any quote as requirements can change so be prepared for that
Make sure timelines and deliverables are agreed and realistic
Always respond to emails as soon as you can, there is nothing more frustrating for a client than not knowing what is going on. Even if the client doesn’t email you, just drop them an email every few days with a progress update
Following these simple rules has allowed me to build up a great list of clients whom now 95% of my freelance work comes from them, of the 5% that comes from new clients I always start off small and tend to reject most of the requests for freelance work where the initial request doesn’t seem realistic or they are trying to knock down the price. Being a freelance developer is all about building relationships and great customer service, make sure you treat your customers how you want them to treat you, and if you get a bad client, write it off as experience and learn to filter out the bad clients before you start and not by trying to punish them with a ‘bad clients’ list.