How To Find Your First Client As A Freelance Software Developer in 2020

In my previous post I mentioned that I had started my freelance career as a senior full stack software engineer. The first problem I faced was clients – it's a pretty tough job to find them. I will show you my trial and error approach to getting a first paid contract. It’ll start from paid ads on social networks, going through content marketing and surprisingly ending on free promotional channels. At each step I will share with you my thoughts, tips and samples. The whole journey from zero to one client took me three weeks.

At the start of the journey I had a portfolio site, several photos for ads, and a lot of optimism. I need to mention that I decided to avoid freelance marketplaces such as UpWork and as their rates are too low. I also avoided TopTal and as I don’t want to spend my free time on their several-stage interviews (I've played this game with Google once, and don’t want to do it again).

Before we start, let’s go through the conversion funnel of user acquisition and make the terms clear. Firstly, users click on a link from an acquisition channel (e.g. Facebook ads, a blog post, etc.) and land on your site. Cost-per-click, or CPC, is the amount you pay to get the user on your site via paid acquisition channels. When the user contacts you for the first time via a form on your website, via email, or in any other possible way, he or she becomes a lead. When you sign a contract with the lead, he becomes a client. All these funnel steps are illustrated below.

Conversion Funnel. How To Find Your First Client As A Freelance Software Developer in 2020

Paid Ads

My first idea for acquiring clients was via paid ads on Facebook, LinkedIn and Reddit. This seemed to me like a straightforward way to get my first clients. I spent $150 in total on paid ads and got zero clients. But thanks to the paid ads, I realized my problem: I didn’t know who my client was. In other words, my offering of full stack development was too broad – that’s why I couldn’t target my ads to a narrow audience, which meant I was spreading my marketing budget to a large number of random users.

Facebook Ad Example. How To Find Your First Client As A Freelance Software Developer in 2020

I brought all details of each paid acquisition channel together in the table below. As you can see in the table, the most pricey acquisitions channel is LinkedIn at an insane $3.50 per click. Reddit Ads was the only one that generated leads for me, but not clients.

ChannelBudgetAverage CPCDaysClicksLeadsClients

Let’s do a quick calculation to understand, based on the data from the table, how much it would cost for me to get a client from the most promising paid channel: Reddit Ads.

If two leads cost $42, then one lead cost $21. In the most optimistic scenario, I would need 100 leads to get one client. Based on this, the assumption cost of one client would be $21 multiplied by 100, or $2,100. I decided that was too much.

On the other hand, if you know exactly who your client is, then you can probably target your ad campaign more precisely and get cheaper and more relevant users to your site.

Tip #1. If you don’t have a lot of money, don’t start doing paid ads before you know who your client is

These quick calculations helped me to make a decision – I switched to content marketing.

Content marketing

At first glance, content marketing looks like a great solution to get a lot of traffic. My idea was: "If I have a good post on a trending topic, it will be easy to get a lot of traffic to my portfolio site and maybe this traffic will convert to leads and clients."

The subject of the post was obvious for me: I would tell readers about my experience with the Google interviewing process. It should also be easy for me to promote this post on programmers’ sites like the r/programming subreddit and Hacker News.

Subscribe and get latest posts from my blog to your inbox

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

With this in mind, I wrote a post called "Google Interviewing Process for Software Developer Role in 2020" and submitted it to r/programming. It was warmly welcomed and I got 1,496 unique visitors in a day and … zero leads. That was unexpected and frustrating.

Another promotional channel for the post was Hacker News. I submitted the post and it instantly sank and never reached the first page.

I decided to keep the flag flying and find other channels to promote my blog post. I answered all posts related to the topic question on Quora and did cross-posts on and Several hours later, surprisingly for me, the administrator of submitted my cross-post to Hacker News and it got to the top. It led another 1,500 viewers to my portfolio site, but only two leads and zero clients. Quora and traffic was in the region of zero.

Google Analytics Traffic. How To Find Your First Client As A Freelance Software Developer in 2020

I spent almost two weeks and a lot of effort on my content marketing attempt. As you can see from the chart above, I got a lot of traffic but it wasn’t the ‘right’ traffic – it brought me only two leads and zero clients. I wrote a post that attracted software developers, and they aren’t my target audience.

Tip #2. If you want to acquire clients with content marketing, your blog post topics should precisely target your client's pain points – otherwise your conversion rate will be zero

I decided to put my content marketing strategy on hold and find another acquisition channel.

Free promotion

The best things in life are free, according to a proverb. I decided to test it.

The first resource that I found was the "Seeking freelancer" thread that appears at the start of every month on Hacker News. I've been posting there for two months. No results, yet, but it’s free and requires only five minutes of my time once a month, so I’ll keep on trying. For an example of my submission, see the image below.

Hacker News Post Example. How To Find Your First Client As A Freelance Software Developer in 2020

Secondly, I’ve got invites to private Facebook groups and Discord chats. These haven’t led to any results yet. Frankly, their audience is too small and I doubt there will be any leads.

Finally, I’ve discovered several subreddits on reddit:

  • r/hireaprogrammer
  • r/RemoteJobs
  • r/jobbit
  • r/remotejs
  • r/forhire

Surprisingly, r/forhire turned out to be very effective. After the first post I’ve had five warm leads and one client. It was my first paid client found on the wild web. Three weeks of effort paid off.

Tip 3. Don’t underestimate the power of free promotional channels

In my opinion, this result was obtained due to two factors: luck and high quality traffic on the r/forhire subreddit.

What’s next?

It’s an amazing feeling when you’ve got your first client – it rewards all the time you have spent struggling to find one. I’ll continue using free promotional channels and in the meantime will try to find my narrow niche with content marketing. A shiny showcase project with public code is another possible option for finding new clients and contracts. If you think I’ve missed some good acquisition channels, drop me a line on

As always, If you have something for me or you know someone who needs a remote full stack developer, drop me a line on