Getting Paid for Your Work: A Guide on How to Deal With Difficult Clients as a Freelance Developer
Building a freelance career
In today’s article, I am going to talk a little bit about dealing with clients in the world of freelancing. This is for people who are running their own business or doing freelance work. It also applies to those of you who are working for someone else or have to deal with clients directly.
I will touch on some situations that you might run into and at the same time give you some pointers that may help you out in said situations.
Getting people to realize what they are paying for is very difficult — especially when they have no idea what goes into it. Many clients are relentless at just trying to haggle you and save every penny they possibly can.
If you are a beginner freelancer, you are going to have people who will ask you to build them a website for free. They will try to convince you that working with them will give you more experience and that having their name or brand in your portfolio will look good for you. Be that as it may, your skills are worth something.
I fell for that a lot of times in the beginning, and unless they are amazed by your work, they will not give you a referral or help you in that way. With these kinds of clients, the best thing to do is to be firm and not let people take advantage of you. You want to have self-confidence. Do not sell yourself short. I am not saying that you should overprice your services either. The trick is to have a minimum depending on the project description.
If you do not feel like you are getting what your services are worth, you should walk away because you might agree to take on the project and then deliver a low-quality product. Not all clients out there are like this. Some clients will agree to a price and then later on try to dissect all of your services, work, and the time spent.
They will try to accuse you of overcharging them or not filling what you were supposed to. You need to create a specific proposal that describes the exact scope of the work and the amount of money you are willing to take to handle that project.
Always remember to ask for a deposit up front. Some clients will feel like 50% of the quoted amount is a lot. No problem. Charge one-third as a deposit, one-third as a midpoint milestone, and then one-third at the end. Whatever you do, make it very clear verbally as well as in writing. Start working with contracts as early as possible.
Clients Who Always Seem to Be in a Rush
These types of clients usually have no clue what goes into something like a Node.js application. They will want a large-scale project done in 30 days for $500. The issue here is that your clients think that their project is the only one that you are working on. In reality, you are juggling five others just like it wishing that there were 48 more hours in each day.
These types of clients will nag you with calls and emails asking for the progress and ETA even after having that specified in the scope of the project. It is hard to get clients to read or even comprehend the details that you give them because most clients want things done as soon as possible. They will call you even after business hours or during the weekend.
See, to such clients, freelancing means that you offer 24/7 support, and the only way to handle them is through communication. Make sure you establish these boundaries, give them a support email, and tell them that you check it Monday through Friday from 9-5 or whatever it may be. Always provide an extended ETA rather than the amount of time that it will take you to finish the project.
Another important thing is to specify the number of revisions that you are willing to do. The reason for this is that some clients will try to keep getting more and more out of you. Some will not have an understanding of how long it will take to revise a website, UI, or some functionality.
Clients Who Do Not Know What They Want
Some clients are good with things like preparation, business plans, wireframes, and logos. It is refreshing working with or for such clients. The other side of the spectrum consists of clients who have no goals, no examples, no content — nothing. These are the trickiest lot. Some will go to the extent of asking you to help in such areas, even after specifying that you do not offer business consultation services.
With these kinds of clients, be very clear about the services you offer both verbally and in writing.
As a developer, you need to ask for all of the project’s crucial assets. Get a basic idea of how many pages there are, what colour scheme they want, things like that. And if they do not know, advise them to come up with some more information and then have them call you back.
If you take it upon yourself to create everything for them, there is a big chance that they’ll hate it in the end — even though they did not give you enough information. They will still try to blame you for it, and some might even use that as a reason not to pay for the services. Make sure you get as much information and as many project assets as possible before you start any project.
Clients Who Expect More for Less
Another issue when working with web development services involves domains and hosting websites. Some clients think that this should all be in the development fee. They want to pay you for building an entity or site from scratch. For these kinds of clients, you have to be very clear about how you are going to handle hosting.
If you choose to offer the services for them, you have to include a maintenance package because this is a lot of work. So you have to provide support for downtime, setting up emails and FTPs, installing SSL certificates, and monitoring the site.
In that case, I would suggest making it clear that hosting and domains are separate from your development services. You can also decide to charge them an initial setup fee for just the basics, then hand over the credentials during migration.
You may run into a situation where everything is going fine, the project is complete, and then the client is nowhere to be found. They are not responding to your emails. Their phone goes right to voicemail and their final payment is due. Charging a portion up front gives you an advantage at this point. It is not going to be a complete waste of your time.
If they have not made the final payment, do not send them the completed project files and never migrate their site to their domain without the client clearing the balance.
Although it is frustrating, there might be a chance that something has gone wrong. They might have had an unavoidable emergency. In such a case, you want to be very respectful and understanding. You may have a discussion later after they have reached out to you and you can agree on a different deadline for the payment.
Hi-Tech and Lo-Tech Clients
As you progress in your journey, you will notice that clients will vary in terms of what they understand and what they do not — and there are pros and cons to both. It is hard to establish pricing and justifying the costs of a project if they do not know anything about what goes into building a website or an application.
Some might think that developing a quality site consists of dragging and dropping a couple of elements into the page. For such clients, you are going to have to do a little bit of teaching. Make it clear that it all comes down to quality. I am not here to bash any web development service, but quality varies. If that is not what they are going for, direct them to said services and cancel the work. The client has to make a choice.
Working with clients who have maybe done some web development themselves can be quite challenging. Sometimes they will overstep and tell you what tools or languages that you should be using or start criticizing parts of your code. I find the best clients to deal with are the ones who understand the basics of the process of building a website.
You do not have to work with someone who thinks that they can do what you do better than you. In such a case, I would suggest you walk away politely. Remember, do not burn bridges.
Clients With Unrealistic Expectations
These are clients who think that their idea is going to be the best in the market. It is a good idea to dream big. Clients have to understand, though, that creating an empire that makes a huge impact — especially in tech — is not something that they are going to do overnight.
Sometimes when a client is pitching their idea to you, you may realize that there is another implementation that already exists. It becomes difficult to let someone down like that, especially if they put a lot of time or even money into the idea. In such a case, you can try to pitch a tweaked version of what they are looking for if possible.
The main thing to put across to your clients is that it is not enough to have an idea. You have to think of how to implement it successfully.
Remember that communication is paramount. Having the correct level of communication with your clients will avoid a lot of issues and misunderstandings. Have an in-depth consultation before you agree to anything. Discuss the work, the price, the timeframe, the design, the hosting, and anything else that comes to mind. Record everything. The documentation gives you proof of what you said.
This may include things like pricing contracts, proposals for projects, plans, hosting agreements, anything that you can think of. Print it up, put your logo on it, and give it to them.
If you are a beginner having some of these issues, do not get too discouraged because it gets easier and better. Once you get into a groove, you will be ready for almost every situation. You will establish pricing, timelines, proposals, and other crucial aspects that you can tweak depending on the project to be handled.
It is also good to protect your peace of mind. If you have a difficult client and you feel like you are getting nowhere with them, you do not have to take them on — even if the project has the potential to make you a fair amount of money. Sometimes, that amount is not worth the stress and aggravation. So do not be afraid to turn people down. Make yourself a priority.
Originally published here.
I am a full-stack web developer. I love sharing my knowledge of web development technologies and programming in general.