Yi Xiang

A Young Writer in Search of His Voice

How to Find Clients as an Introvert Freelance Web Developer

Developers are often seen as socially anxious geeks, and many do find themselves more comfortable with computers than people. If you are also introvert and a freelancer, then the challenge of getting clients would be, well, more challenging.

You might feel clueless, don’t know where to start, tried the most obvious options and failed. Got the word out that you’re in business, but the world just doesn’t seem to care. Nobody responds, nobody asks.

I’ve been freelancing for about a year and I have struggled too. I’ve had a little success on Upwork as a translator, but still can’t find a web developing gig after sending 10,000 applications. I’ve posted about my service on forums and on weibo (something like twitter), asked friends, tried to meet new people to get clients.

Slowly I got a sense of what works. Last month I got burnt out by working on two projects at a time, and this month I got another better project to work on till late September.

Let’s me share what I have learned. Maybe they could help you land one client or two.

Go out and Talk to People

To get clients, the one thing that you absolutely must do is to talk to people. I know it’s obvious, but as an introvert, you will find yourself unconsciously avoiding human contact. You’re, after, most comfortable with playing with yourself.

You might be reading books on freelancing. You might be working on your side projects to hone your skills. You might be building a cool website to show off your skills to potential clients. You might be learning this shining new framework to add to your skillset.

None of these activities matter at all, if you do not talk to people, if you do not find someone to actually show off to. They are only helpful after you’ve started talking to people.

It doesn’t come natural to you, who choose this profession exactly because it allows you to stay indoors all day, without talking to people.

But if you want to survive as a freelancer, get out of your room you must. Talk to people face to face you must.

You might want to say, okay, I need to get in touch with my potential clients, this I understand, but why can’t I do this online? With my personal blog, or with all these freelance marketplaces? Or even with twitter.

Meeting in person is far more effective than talking online when it comes to finding clients. Here’s why:

1.Building a web presence takes too long

If you already have a web presence, like a popular blog on coding, you could find clients online, because you are already in touch with thousands of potential clients.

But if you are not already known online as a capable developer, you are in touch with at most a handful of people, let alone potential clients. You will need to grow your audience, which will take time.

Building a popular blog typically takes years, and is not a guaranteed success. You will quit before you see results.

2.You’re just yet another money digger online

I am a full stack developer, with Laravel and native JS as my main stack, specialized somewhat in ecommerce and web apps.

What about you? Wait a minute, let me guess.

You’re a frontend/backend/full stack web developer, using C#/Java/PHP/Python/Django/WordPress/Drupal/Angular/Android/iOS/NodeJS/React, you have built a bunch of websites or apps for some companies, and you have x years of experience.

Can this somehow describe you? More importantly, can this describe the millions of freelance web developers competing online? Most importantly, how are you different from them?

Okay, you use this language and that framework, but there is a horde of freelancers using the same thing. You have built things, but there is another horde of freelancers screaming that they have built something similar.

How are you different from them? How can you compete with them? Especially those from India, who charge less and work harder?

Of course you know you are different, you know you are a better developer than most of them. But how can you convince your clients that you are better? With your me too profile, me too portfolio, and me too cover letter?

You are more than your profile. Your problem solving skills are more important than your framework of choice. But the problem is, online, all you have to convince a potential client are your profile, portfolio and cover letter. To the clients, you won’t look much different from thousands of other developers.

Unless you’re fine with competing with millions of people for little money, you need to stand out.

3.Meeting clients face to face is the easiest way to stand out

You can easily have one hundred freelancers to compete for a gig online, but a client will never spend one hundred hours talking to one hundred freelancers face to face.

Just by having a meeting with your client, you will now only need to compete with a handful of people, which greatly increases your odds.

You’ll stand out by having more attention from your client.

Also, meeting in person will only cost you several hours of time, and the benefit is apparent. Building a blog, or writing technical articles usually take more time and with less certain benefit.

Especially if you need clients now.

4.Face to face communication is the way to build trust

Web development business is more of a people business than a programming business, it has more in common with sales than with programming.

As a freelance web developer, getting your job done is the easy part. (If not, pick a different career) The hard part is getting clients and keeping them happy.

You need to find people with needs, convince them that you can satisfy their needs, negotiate money and deadline, sign a contract, keep them updated with your progress, and communicate frequently to make sure you build exactly what they want.

That’s a hell lot of talking, with humans.

Your success depends on these talks, on how well you can negotiate,  convince your client to trust you, and keep their trust.

And yes, this is selling.

Working with people is very different from working with computers, and chances are, you are not equipped with people skill yet. That’s okay. What’s not okay is to ignore the necessity to develop your people skill.

But here’s a good news: you usually need to talk to just one person when getting a deal. At worst you’ll need to talk to a small group of people. But this is still so much better than “working the room”. You don’t have to be an extrovert, you don’t have to talk all the time. But you do need to communicate clearly and earn their trust, with your mouth.

Sigh. It’s so much easier working with developers, we can just look at each other’s code, and nobody will need to say anything!

But let’s face it, your clients typically know nothing about programming, that’s why they hire you, and you have to talk in their language, which is English, not JavaScript.

Since your clients don’t know programming, they will never be certain that you can do a good job in time. Hiring you would always be a risk. Their money and their face before their bosses are on the line. It’s usually not a small risk. This is why trust is so important: you’re asking someone to take a leap of faith.

In a way, it’s like asking a girl to have sex with you, she’s taking a great risk, you might just disappear after one night, and you might even wreck her life with a baby, so she has to be extra careful.

With time, you’ll realize that clients need to earn your trust as well, because you’re also taking a risk. What if he takes your work and disappears? What if he keeps pushing the deadline, adding a ton of stress to your life?

You and the client need to earn each other’s trust, and this best done face to face, instead of staring at texts on a screen.

And yes, it’s not unlike dating.

Talk to as Many People as You Can

The first person you talk to might get you nowhere, that’s fine.

The next ten people might still get you nowhere, and that’s fine too.

You are too nervous in your first few attempts, your performances will suck and you will be very frustrated, but you need to keep the numbers up, instead of staying in your home and read how to make incredible love.

While you are feeling like wasting your time, your subconscious is working hard to learn from your failures, slowly you’ll learn what behaviors increase or decrease your odds, and slowly you’ll be able to recognize the good clients and the bad ones.

For example, caring too much about money is a bad sign, trying to call you “bro” to get you to lower your fee is a no no, not respecting negotiated deadline is a deal breaker.

I have also learned to (usually) not negotiate money. Either the clients says his budget and I accept, or I give a quote and he accepts. I’m not here to beg or steal, I want to work with the client, focus on building things, instead of working against each other.

That’s what works for me, what helps me find jobs that pay well, have less stress, and with more fun.

You’ll also need to find what works for you. Hell, even if my strategy works for you, you still need to practice them. You don’t expect to master a language or framework just by reading, then don’t expect to master sales just by reading.

Also, sometimes no matter how good you are at  convincing your client, you still might not have what the clients need, or he might be unable to afford you. It’s perfectly normal, especially when you’re starting out, just keep trying.

I have talked with about 15 clients before eventually getting one small project, and I consider this number small. It’s a struggle, but when that struggle was over, I found myself with skill and knowledge to repeat this success, though I still don’t enjoy meeting strangers.

Your journey should be the same. Once you start getting projects, you will easily find yourself overwhelmed.

Because your time is limited. Just one small project could take you one to three months. But any project could easily lead to more projects, your client might need you to keep developing it, he might have another project that needs a coder, or he might introduce you to one of his friends.

Your clients won’t easily give you their trust, but when they do, they tend to come back to you with new deals. Because they already know you can do a good job, there is little risk to them.

As I have said before, web development is a people business, the most trusted one wins, not the most skilled.

Stay calm and keep talking, it will pay off.

Know Who You Want to Work With, and Find a Way to Meet Them

No, this is not what you can figure out with brainstorming. You need to try and find out.

To give you some ideas, I’ll list several types of people or businesses who might give you work.

Keep in mind that I’m from China, which likely has a somewhat different business environment from where you are. So the following is not a step to step guide, but something to help you think.

1.Wannabe entrepreneurs

Without prior connections in the industry, many of your potential clients will be wannabe entrepreneurs, who has nothing but an idea. No funds, no business experiences, no nothing, just an ordinary guy who has never run a business, now with an idea that will change the world, if only a developer would work for him, for free if possible.

In theory, working with these people could be a great opportunity. Work for the next Google / Uber / AirBnB and change the world!

In practice, you’re more likely to meet a rather average founder of a rather average startup, that averagely don’t go big, but go bankrupt.

They might even not be able to pay you in cash, and offer 1% equity instead, while promising how great the company will be and how much these equity will be worth in 5 years.

Well, in my experience, people who attempt to manipulate you with promises that they know they very likely can’t keep, are too selfish to be good businessmen.

I suggest you stay away from them unless they can pay you in cash.

Of course, you can argue that you might build the next unicorn with them. My point is that the probability is too small and the risk too great that it’s not worth it.

If you still want to take a risk, why not build a startup yourself? Why work for others? Even if you are not business savvy, you can find a partner.

If you have to gamble, gamble on yourself, not on someone you barely know, and who might give up his idea today because he’s got a better one while high.

2.Funded startups

They are still startups, but they have funds, thus can pay you.

Often they’ll want to have their own developers if their website or app is central to their business. And these days every startup is making apps… But of course exceptions happen.

They might need an extra hand now and then, but doesn’t have enough work to hire a fulltime developer, so they seek a freelancer.

They might have their whole development team consists of freelancers working remotely. These days it’s happening more often.

They might provide services for businesses who need developers, and they want to better serve their clients by introducing some freelancers to them.

They might also outsource a small part that’s not mission critical. For example, when their main business surrounds apps, and they need a homepage but their employees can’t build it.

In my experience, startups offer less opportunities, but it doesn’t hurt to try. To find them, attend industry events/conferences/meetup. You can also try events about a certain programming language or framework, they’ll get you in touch with fellow coders and many of them are working in startups.

You can also just find their websites and emails them.

3.Small and midsize businesses in other (more offline) industries

These businesses present many opportunities and most of my gigs come from them.

There are four reasons for this.

  • They are great in number.
  • They’re not in the tech industry, their main business is not online, so it’s unnecessary for them to hire developers. Hence, when they do want to make a website, they are more likely to seek outside help.
  • They are more likely to have money and can pay you decently.
  • At least in China, small businesses tend to work with small businesses and individual freelancers. Large corporations tend to work with large corporations.

As an extra bonus, you won’t meet excited but misguided founders who talk about IPO and equity all day long, and you can finally just talk about money and business.

They can often be more approachable and less impersonal than big corporations, since they are small.

There are, of course, downsides.

  • You will need to help them figure out what they want. Since they’re not tech-savvy, they often only have a vague idea about what they want to build. Be prepared to hear things like “just build me an Amazon”, “we need a company homepage…. Which also serves as a market place for our industry. ” Help them, ask them questions, turn their vague idea into a requirement document, show them mockups to make sure they understand. Mockups are very important since these clients tend to understand only pictures.
  • You will need to educate them on costs. They often have no idea about how much a website can cost, and you have to educate them. Sometimes they won’t listen and will insist that you should work for 10th of what you’re worth. It’s pretty frustrating.
  • They might not want you to be so “remote”. This might not apply everywhere, but in China, they tend to be more offline and usually want face to face communications during a project, they also tend to be bad at communicating online in written words.

Personally, I find the downsides reasonable and acceptable. The upsides and downsides both come from the fact that these clients re unfamiliar with technology. You can’t have one without another.

How do you meet them? Referrals are usually the way to go. If you’re starting out, consider the next option:

4.Work with people who are already in touch with your potential clients

Even as a freelancer, you don’t have to do everything alone. If getting clients proves to be too much of a challenge, and you are indeed a competent developer, you can try to get others do this for you.

You can partner with a people person and share your profits.

You can work with an agency.

You can even work with other freelancers. After all, it’s easy for freelancers to go from having no projects to having too many projects.

Often  You will need to work even harder to gain trust, as the person giving you this gig is risking his client’s trust on him.

The upsides to this approach are as apparent as the downsides.

You can focus on the actual coding. You probably won’t need to worry about getting clients again. It’s also often easier than trying to get clients on your own.

It’s also easier to get ripped off. It’s more likely to have communication problems. Information might be hidden from you on purpose, to trick you into doing a job for less than you’re worth. The middleman here, as a middleman, is more likely to care more about his profit than the project, this gives him little incentive to pay you well. Also, you might not have a say on deadlines and other things that you usually negotiate with a client.

I have found that, as always, people who care too much about paying themselves are not to be trusted. Also, you will feel more respected if you are involved in negotiating the cost and deadline of this project. Compare the following two scenario:

The middleman found a client, negotiated the cost and deadline. He then found you, hid the deadline, lied about how big it is. Then when his deadline is near, he yields at you for not doing a good job on time.
The middleman found a client, and before negotiation, he finds you, asks for your opinion about deadline and cost, he then negotiates with the clients, keeping your opinions in mind, and making sure that you are paid well and have enough time to do a good job.
Who do you want to work with?

As I have said before, this is a people business, the people you work with can ruin your sleep, or make your work enjoyable and profitable.

Choose wisely, and be slow to trust. Trusting people is a gamble.

You shouldn’t have much problem finding these people, as they should be actively out there looking for you.

Still, if you don’t have a clue, you can join a community of developers, whether online or offline. Better if you could join a community of freelance developers. People looking for developers will ask around in those communities, you will then need to grab your chance.

If you feel like joining just one community gives you too few opportunities, you could join several.

5.Big corporations, governments and non-profits

Personally I have not worked with them. So I’ve got nothing to say. Just list it here to remind you that they exist, and if you have connections, you might as well try their doors.


I hate normal jobs. In a place where I’m supposed to work, I’m distracted by meetings, politics, pointless power struggles, lies, manipulations, and incompetent colleagues and managers. I want to focus on building things, not dealing with stupid people.

Freelancing, turns out, is not a way to escape these problems, it just gives you more power to choose who to work with, and who to reject. You will still meet selfish people, you might even act selfish yourself.

Let’s cut through the noise, leave the profit-chasing motherfuckers behind, find clients we don’t despise, survive without being miserable, and finally, enjoy the pleasure of building things.


  • August 31, 2016 at 11:57 pm

    I’m really loving the theme/design of your blog. Do you ever run into any web browser compatibility problems?
    A small number of my blog visitors have complained about my website
    not operating correctly in Explorer but looks great in Firefox.
    Do you have any recommendations to help fix this problem?

    • September 19, 2016 at 10:26 pm

      Hi, I have checked out your blog with IE, it looks good until IE9, on IE 8 it has some problems, particularly in the sideabar and footer. The content in aside tags seems to be pushed out. So instead of <aside><form></form></aside> you have <aside></aside><form></form>

      You can try using IE conidtional comment to use div for them.

      BTW, you can press F12 when using ie to see how your websites look under IE.