DEV Community

Cover image for The hard truth about beginning freelance web development

The hard truth about beginning freelance web development
Owner/Founder of Real-world web development! 100% indie software dev; author of 5 books; helped over 1 million devs & counting!
Updated on ・6 min read

The following is an excerpt from my book Freelance Newbie available on Amazon on paperback and Kindle. Also available as a top-rated video course!

The first webpage I ever built was on Geocities.

Remember Geocities? It was Yahoo’s free web hosting site that allowed anybody with an Internet connection to build a webpage. As a teen, I was a real prankster and built a satire page for my classmates to visit when we had classes in the computer lab. I reveled in my alone time with the Geocities drag-and-drop editor.

I knew some basic HTML back then, but it wasn’t until years later in 2014 when I started flirting with the idea of becoming a professional web developer.

Finally, in 2016, I took on my first freelance web development client.

But unlike my Geocities adventures, where everything was funny, light, and met with delight from my peers and disdain from my principal, this experience was a train wreck.

My client owned a highly-reputable orthodontic business and she had recently developed a proprietary product for cleaning teeth. While in-store sales were doing great, she was ready to break into ecommerce. According to her husband, the duo had gone through multiple developers and consultants, including a relative who was also a full-time car salesman three states away. For one reason or another, none of these people had been able to complete the project.

Our first meeting at my local coffee shop went fine.


While the story of the car salesman gave me a mild knot in my stomach, I remained highly optimistic and excited – after all, this was my first “real” freelance client. I asked a lot of questions, took a lot of notes, and we wrapped up the meeting with smiles and handshakes. I was confident I would hear from this motivated couple soon.

Sure enough, I received a call a few days later and was absolutely ecstatic.

I didn’t even have a portfolio or price list yet and I was already getting a callback from a client with cash!

That’s when things started going downhill.

“Hi Candy, this is Jim. Hey, Tina and I want to meet with you again. Can you come down to the office tomorrow?”

I felt that mild knot again in my stomach: their office was in another city, over an hour away, and I wasn’t getting paid for this meeting. But once again, the thrill of me being pursued by a freelance client overpowered any physical manifestation of doubt I may have had. I didn’t even ask them why they wanted to meet – I happily obliged, because clearly we were about to close the deal.

It was a Sunday and their office was closed, so Jim unlocked the door for me and led me to a dark room in the back. Tina was there with the lights off, squinting and mumbling at something on her computer. The two discussed work-related issues for a few minutes before acknowledging my presence. But hey, they’re busy business people, and I really wanted them as a client.

So I waited.


After a few more minutes, Tina looked up from her computer, gave Jim the nod and then he gave me the rundown: they did actually have a website built already from their car salesman nephew, but he got stuck on something and didn’t have time to complete it. Tina sighed, got up from her desk, and scurried to a huge printer outside her room while quietly chanting, “I hate her. I hate her. I hate her,” as scanner lights illuminated the dim hallway.

Things were getting weird, but I figured it was just the cost of doing business.

This dysfunctional blob of a meeting continued on for over an hour. I was finally getting impatient with the misdirection, and looked for an opportunity to interject. While Jim brought up the topic of geofencing and worked himself into a near-mania with the possibilities, I looked at my notes, confirmed what their development problems were, discussed how I could solve those problems, and stated the next steps in the development process.

They seemed receptive to my ideas, especially after I explained the importance of a site that featured responsive web design (a major feature missing from the current site) and embedded videos.

“We’ll get back to you soon,” Jim said.

I got in my car and drove an hour back home.

Three days later, I get another call.


“Candy, it’s Jim here. Say, listen. I’ve got one of Tina’s co-workers who claims she can get this thing built for free.”

I froze with disbelief, stunned with silence.

He continued, “Now, I don’t know if she’s telling the truth or not, but I want to get together with you for another meeting. And she wants to tag along with her husband to see what this website stuff you do is all about.”

I was shaking a little at this point with anger, betrayal, and embarrassment. Deciding to deal with the emotional fallout later, I said very calmly, “Jim, we can meet, but at this point I’m going to have to start charging you.

Jim wasn’t having it.

“Charging for a meeting? I think you’re being unreasonable. I mean, this could be a big business opportunity for you. I’ve just never been in a situation where a person charges for a meeting.”

“Jim, you just told me you have a lady who can do my job for free, who wants to know how I build my websites. And you want me to meet with you all for free for the third time? I’m sorry, but no. If you all want to meet for a consultation, I do charge for that.”

The line was quiet for a few seconds.

Then he said, “Well, then I think we might be better off finding somebody else. Could you at least get in touch with Tina and let her know if you’re still interested in revamping her personal website?”

Updating Tina’s personal site was was something we had briefly touched upon at our first meeting. I agreed to contact her, and hung up the phone. Where had it all gone wrong?

Once I snapped back into reality, I sent a professional email to Tina that afternoon, letting her know that we would not be doing any business together.

We never spoke again.

Learning From Failure Is The Most Important Education


How many problems (or potential problems) did you identify in this client-from-hell story? Would you believe that I experienced two more similar stories just like this one before I learned my lessons?

Most of these missteps are common mistakes that beginners make, and perhaps you’ve already experienced some of them with your early freelancing efforts.

When something goes wrong early on, it’s easy to let the failure stain your perception of your career for the worse.

One negative experience can make people quit freelancing – unfortunately, many people have quit because of that.

However, the most important thing you can do in this situation is to learn from it and press on.

Your head will hurt, you’ll have days where you’re absolutely exhausted, but don’t give up.

Your dream is worth more than that.

No doubt, dealing with low-quality clients like the ones I dealt with at the start of my career is soul-sucking, but honestly, it’s a part of every business.

The important part of it is to put everything into perspective, focus on your dream and realize that negative people aren’t going to personally help you reach your goals.

They never do.

Transform negativity as professionally as possible and press on, using that energy to fuel greatness.

P.S. Follow me on YouTube where I talk a lot about cool web dev stuff:

Discussion (27)

l04db4l4nc3r profile image
Angad Sharma

Hey. A thing like this happened to a person once. While they were working on a big project, they were denied payment. So they open sourced the project and it was trending on GitHub for a while. 😂

mohamedelidrissi_98 profile image

LMAO that works too!

realtoughcandy profile image Author


kggayo profile image
Kevin Gayo

that's too bad.. They should have billed by milestone.

l04db4l4nc3r profile image
Angad Sharma

Yes. Sadly it’s a lesson people learn the hard way

rajab512 profile image


jonathanburnhill profile image
Jonathan Burnhill

That's brilliant

chadtiffin profile image
Chad Tiffin

I had a very similar experience for my first client, who was a lawyer. I came for the first meeting prepared with prices and a contract. He hand waived the contract away, and who am I to argue with a lawyer over the need for a contract?

I would get "summoned" to his office for meetings with no explanation other than "Chad, come meet me at my office". All for it to be a request to "change this colour" that could have been done over the phone. I finished his website and sent my invoice, and then he ghosted me. I eventually did get the last laugh though, as I found a credit collections company that agreed to chase him. Cost me a third of the invoice, but he did eventually pay.

I had another potential client in the next town over an hour away that insisted I come to them for a meeting rather than they come to me to or to discuss anything on the phone because the CEO was "very busy". I said sure, but I charge for in person consultations. They found that insulting and ghosted me. I guess it was ok to waste my time but not their's.

I've had many more great clients than bad though, and I've gotten better at spotting and avoiding the bad ones.

realtoughcandy profile image Author

That's just it – I think for a lot of us early on, we just don't know any better and really, REALLY want the client... certain people can smell it and take advantage.

But once we get burned and quickly learn our lessons we improve our business and keep a lot of the tire-kickers/time-wasters at bay. And like you mention, just being able to spot and take action to avoid potential problem clients.

Also, I love that you referred that client to collections!

stephenradams profile image
Stephen Adams

Wow, what a nightmare. I think you did the right thing deciding to charge them for that third meeting. They were being really unprofessional and a bit disrespectful.
You’re better off without them.

I’ve done some small freelance work for no money just to help projects that I thought were a good cause, but they always seem to end up taking so much time, double the time I originally said I could spend on the project and the client has always been so disorganised (like your client here) so eventually I had to call it a day and take a paying contract. So no more free work for me.

Hope your freelance work got better clients since this story 😀

realtoughcandy profile image Author

Hi Stephen,

It was a tough learning experience, that's for sure! Looking back they really did have just about every client-from-hell trait you could imagine.

Thanks for your comment and fortunately I don't deal nearly as much with client drama like I did starting out! : )

ethantoney profile image
Ethan Toney

I've had 4 out of 5 clients that decided they were better off using wix (or no website at all) over me because I was "expensive." (Though I only charge $300-$600 due to my small town.)

As you put it, dealing with low quality clients is soul sucking.

It also makes one want to leave freelancing when one is surrounded by people that want to take advantage due to age and little experience (they want a forum and e-commerce site for $200 or less).

Glad to know things got better for you, thanks for the encouraging post.

realtoughcandy profile image Author

Oh I can definitely relate to that too! I also used to live in a really dinky town and sometimes clients acted like they were doing me a favor by offering me $20for a photo shoot, custom ecommerce website, etc. . .

One good client is all it takes to really turn things around though, I promise you they are out there. Keep on grinding!

jonathanburnhill profile image
Jonathan Burnhill

I've just started freelancing and my first client was a nightmare. Constantly changing things and I was putting in a lot of hours to play catch up missed the deadline, he wanted to take some money of for advertising costs which been keen I agreed 🤐
Then he started moving goal posts again then demanding a new deal where he could set financial penalties if I missed deadlines at which point I said no!
After explaining why I wouldn't do this aaaaaaand staying calm I got a over 60 messages in a couple of hours, loads of abuse and threats and wanting money back from what he paid me.

I made him a offer, he can take the site as is and the copyright for the code that doesn't fall under any licenses are his or its small claims court 😉

Needless to say he went through another 6 developers and I had to smile as he constantly came back to me with advice and I'm now putting the finishing touches on the same site, I'm not finishing for the money but more for a "yep I can do this job"

Sorry if it sounded like rambling I was out late and still half asleep.

One tip though, remember you own the copyrights to code you write that doesn't conflict/interact/fall under any licenses this can be a helpful tool when clients don't want to pay, no business wants copyright infringement court cases 💪 for this reason as well as a few others I don't think I will take on work for hire when in regards to who owns the code.

jonathanburnhill profile image
Jonathan Burnhill

Also having working in the building trade since leaving school I've run into my fair share of d******ds especially moving to a country that was kind of third world, the British got used to paying the locals little money for a good bargain and expected us to do the same, most of our work was to do with swimming pools and water damage from cowboy builders not knowing what to do when they had a small building boom l, needless to say our reputation attracted the type of clients we wanted, when people are trying to live the dream in the end they see exactly what cheap will get you my point is one day your reputation will speak for its self never sell your self short take a look at your true worth and get it, admittedly we have to start small until we have proved our selves but then it's not looking back because in the end us and then can deny they need us not the other way round!

realtoughcandy profile image Author

Good point! I know a few people who have had...shall we say some "online fun" with shame campaigns when the client didn't deliver their end of the deal. Thanks for the comment!

hacksterix profile image

Everywhere the same. While there will be people accepting working for glory on projects wanted by customers who have absolutely no respect for knowledge and work needed to build a website, one may encounter problems billing or getting the money for a professional work.
This rises another good question : how much can I sell my work ? Answering that question drives you to the good side of the force, where clever people want you to feel comfortable to do the job they are waiting from you. Because they do know how much it costs. Tax, insurance, your income, gasoil, machines...people whom still think that they can get great deals for outter space jobs, dream.

realtoughcandy profile image Author

Thanks for the comment! That's a great point too, as freelancers we need to watch out for the dreamers who expect a high-quality website for a case of root beer and some chips. Big time waste and frustrating for everyone.

hacksterix profile image

Right! And also those people mix the need and the price. They do think a freelancer will be cheaper. But who the hell said a freelancers work should be cheaper... Do freelancers have special deals with tax or fees and so on ? They are homeless and it is charity to make them to work.. they have great qualities but we will pay them less. And the need: do I need a freelancer for the task or project I want to lead ?

vip3rousmango profile image
Al Romano

After being a freelancer for over 10 years, my biggest tip would be never be scared to fire a client.

I have fired two clients in my carrier and although doing so were arguably the hardest decisions I made, they turned out for the best. Toxic clients are toxic. No escaping that.

I always have a kill clause in my contract that let's either party get out with some written notice and doing so kicks off payment of whatever work/milestone is done upto that point. This clause is always mandatory in all my templates and can't be removed or edited by a client when negotiating.

I think we forget sometimes that the beauty of being a freelancer/contractor is that we get to pick and choose our clients. When I'm in a interview the clients also have to wow me, I may have a few clients and need to pick which project I'll work on next, so my time is valuable so what about this client will want me to take on the job.

I akin it to a lawyer hearing your case and deciding to represent you.

I realize that having many clients or projects isn't always the situation but taking a toxic client because you need it will probably do more damage than good, so I'd always ask myself do I really need this project and it's headache?

kggayo profile image
Kevin Gayo

Morale of the story, don't work for free unless it's for charity.
And also bill the client by milestone

sureshot0341 profile image

Qualify the lead or they will run you into the ground.
Look for red flags along the way and Bill them for every meeting/consultation.

In sales you'll spend more time disqualifying potential clients to get to the real ones.

Great job on stepping up to the client trying to headhunt you and get free work.

sebbdk profile image
Sebastian Vargr • Edited

There are a lot of smaller clients like this in my experience.

Being able to say no’ to a client is super important.

realtoughcandy profile image Author


I was so desperate for any client in the beginning that I was really scared to say no. And experiences like this one were largely a result of that. Thanks for the comment!

chrisachard profile image
Chris Achard

So true - you have to get good at detecting weird situations early, or else they'll turn into big nightmares later on... thanks for the cautionary tale :)

realtoughcandy profile image Author

Thanks Chris!

jherzeybruhl profile image

I would like to know if i need to learn ux design to become a freelance front-end web developer