Whether you're a new developer or you've been in the game for a while, you might be thinking about doing some freelance work.
If you're thinking about striking out on your own, you'll likely have two questions. First, you may ask “what is freelancing?” This is understandable, given that the phrase can mean different things to different people.
The second question you might have is how you can get clients. This is, of course, important, since working for yourself without having any customers will result in you looking like this:
The good news, if you're thinking of spinning up your own brand, is that if you go about it right then you can wind up looking like this:
So, with all that said, let’s first answer the question “what is freelancing?” And then, let’s talk about how to get clients online as well as locally in your city.
If you're like me and prefer to take in written content, read on. For those who prefer video, I've prepared a video presentation on these topics:
I’ve written for freeCodeCamp on how to make money as a freelance developer. I’ve also written a comprehensive guide to working as a freelancer. This article is going to be different in that it is going to solely focus on two issues.
First, I’ll give my personal opinion as to what it means to be a freelance developer. Second, I’ll give my thoughts on getting the customers once you’ve struck out on your own.
I'll break the latter of these points into three parts. First, I'll discuss the tasks you should complete before you even begin attempting to get customers. Next, I will go over how to get clients through your online presence. The third part will cover ways in which you can get customers locally in your own city.
Here’s a quick roadmap of this article so that you can jump to a particular section:
- What does it mean to be a freelance developer?
- What to do before you try to get new customers
- How to get new customers online
- How to get new customers in your city or locale
- Understand the importance of repeat business & referrals, and
- Set up your branding.
So…...let’s get to it.
What does it mean to be a freelance developerback to top
The term “freelance” has been thrown around a lot in today’s society (including in lots of areas outside of software development). So much so that it has really become a buzzword that can mean different things to different people.
If you’re thinking of striking out and doing your own thing, then being a “freelancer” can really mean one of two things.
First, you may be considering creating your own side-hustle. Second, you may be thinking of actually being self-employed. Let’s look at each of these in turn.
Some people choose to hold a steady job while running a development business on the side
Going out on your own can be a great way to supplement your current job. Maybe you’re completing freeCodeCamp and are hoping to work a dev job at a company while doing projects on the side.
You may also have a non-software related job, that you want to keep, but you would like to be a part-time developer on the side.
In either of these cases, your business is a part-time activity. Since you already have a full-time commitment it’s unlikely that you’ll work with more than a few clients (or maybe even only one) at a time.
When going this route, getting customers is still important, so the tips below will apply to you even though you’re not necessarily trying to scale up your business.
One of the downsides of going the side-hustle route is that it means working a full-time job while trying to run your business. While this comes with the benefit of having steady income (from your primary job), it comes with the downside of being really busy.
Going this route tends to result in Friday only meaning that there are two more working days before Monday. It also comes with the stress of not being able to respond to your customers right away because you have your main job to deal with. These are just some of the ups and downs of going this route.
Some people may choose to make their development business their sole occupation
Many individuals either leave their current software job, or start out their development career, by working for themselves primarily and not as a side-hustle.
This allows you to focus more on development of your own products and working for your own customers. As a result, you have much more flexibility with your schedule, since you’re not juggling against a full-time job.
Some who go this route are attempting to grow as much as possible while some are just hoping to maintain a steady stream of income and have a flexible lifestyle.
Focusing solely on your own thing can result in having a much higher income. This is because I, and many others, find it easier to make more when working for yourself than when working for a paycheck from a company.
The biggest downside of going this route, however, is the fact that you have no other income stream. This means that your income will be unsteady at best.
You may have noticed that neither of the aforementioned descriptions mentioned employees. That’s because once you get to the point of having employees, you’re no longer a “freelancer” - you’re a business owner.
In a future article (spoiler alert), I’ll discuss how to scale your freelance dev gig into a full fledged business.
Which route you decide to take is really up to you. Just remember that it’s important to base your choice on your personal situation, preferences, and what it is you want going forward.
Now let’s talk about what going forward looks like.
What to do before you try to get new customersback to top
The best way to grow your business is to do a good job for your existing customers. But before you can worry about that, you have to set up your branding.
Not setting up branding, which I’ll discuss in a moment, means that you go out and try to get business before potential customers might be willing to take you seriously. Don’t do that.
So….two tasks to complete before even attempting to get new customers are:
Let’s look at each of these in turn.
Freelance developers must focus on existing customers if they want to grow their business
If you ask anyone who has their own business (not just developers) how to grow sales, they’ll almost immediately start talking about marketing of some sort. In other words, they focus entirely on getting inquiries from people who haven’t yet heard of them.
These business owners often devote time and other resources to marketing and, as a result, they take time and resources away from serving their current customers. I refer to this approach, in very technical terms, as:
When you take time and resources away from your current customers, then those individuals/companies are waiting longer to get their product, they're waiting longer to hear back from you if they have questions, and are less likely to be happy with the service they’ve received.
They, in turn, are then less likely to call you for future work and are less likely to refer you to anyone.
The results of this can be disastrous. This disaster comes from the fact that not having repeat business or referrals means that you are one-hundred percent reliant on getting your customers from advertising or some form of networking.
Suppose you’re spending money or time to get new customers (money in the form of advertising and time in the form of networking/reaching out). That time and money means that your profit margins are going to be low.
First, suppose you charged $3,000 for a website, but spent $250 in marketing to get the customer. This means that your profit is only $2,750.
Second, suppose you charge $3,000 and can complete the product in fifteen hours. That’s $200 per hour. But if you spent 2-3 hours networking to get the customer, then you have to consider how that time impacts the amount you are making per hour.
Incurring these financial costs and time losses means that you’re going to struggle to make any money. This is not the case when you build up a referral base and repeat business base.
Let’s look at how things go when you focus on your existing customers first. Yes, you spend some form of resources to get a customer. But then that customer is likely to come back to you in the future when you need something else. This means you pick up additional work without spending any additional resources.
Second, they then refer you new potential customers - meaning that you get new business without expending any time or resources. This drives up your profit margins, leads to exponential growth, and helps you look like this:
I’ll explain with a personal example.
I built a website for a lawyer in 2013. She was extremely happy with the service I provided and roughly six months later had me build a second website for a niche legal area she was going to begin handling. I’ve also provided ongoing maintenance to the lawyer for several years now.
Importantly, this same lawyer has referred two more people. The first of these two people hired me and, in addition to building out their initial product, they have also hired me for ongoing support and maintenance.
So, I put time into going out and getting a customer (the lawyer) and the time I spent meeting with one person has resulted in my building three different websites and providing additional maintenance services.
For obvious reasons, this is more profitable than going out and having to meet three different people to get three separate jobs. Exponential growth can occur in your business when you take one inquiry (the lawyer, in my case) and turn it into several jobs over a period of time.
Building up a referral base means, again, focusing on your existing customers first. This approach is simple. If you have something to do, or something you can do, for a current customer, then do it. If you have time left over at the end of the week, then such time can be devoted to going out and trying to get new customers.
I cannot stress enough how important it is to your growth that you take a “current customer first” focus.
Self-employed developers should establish their branding before trying to get new customers
The next thing you should do as a self-employed developer is establish your branding before attempting to meet new customers.
Understanding why requires you to put yourself in the role of a small business owner.
Suppose you own the local bakery and someone comes in offering their website & app development services to the bakery. If the developer doesn’t even have a website of their own, has no portfolio of work, no online reviews, no business cards, and is using a personal email address for work purposes, then the business owner isn’t going to take them seriously.
Instead, it is much better to get these things knocked out before even attempting to meet a client.
The first order of business is to build out the website for your business and to display your portfolio of work (you can have a portfolio even if you haven’t had any clients yet).
In terms of putting together your own site, you can do it yourself or, to save time, you can use a template from html5up (make sure you follow the creative commons licensing if you use one of these templates).
For your portfolio, I’d suggest including at least five to six projects. If you haven’t completed anything yet, then you can create mock ups and include them.
An example of this would be creating a website for a fictional bakery and including it in your portfolio. Just make sure it is clear that, when someone clicks on that site from your portfolio, they will be viewing a demo and that it is not a real business.
Having a professional looking website, and a portfolio of quality work, makes you appear more legitimate to potential clients.
The second thing to get done right away is to set up online review profiles for your business. Whenever a client is happy with you, it’s important to ask them to leave you good reviews online. The presence of these reviews helps ensure that future customers are more likely to hire you.
The two most important places to have review profiles, in my opinion, are Google and Facebook. This means that you need to start a Google my Business account for your new brand. You also need to create a Facebook page for the brand.
When you’ve completed a project and the customer was clearly happy with your services, you’ll want to send them links to these profiles so they can leave you good reviews.
The final step in being ready to market yourself is to set up a branded email, order business cards, and get a business phone number.
For your cards, I would suggest going the simple route. This means using a service such as Vista Print. Setting up your email is self-explanatory.
As for your phone number, I would use a free service such as Google Voice, which allows you to have a dedicated number which will ring to your cell. Once you have all of these items completed, you’re ready to go and to start hustling up business.
How to get clients online as a freelance developerback to top
If you have a quality web presence, it can result in an ongoing stream of business for you as a freelance developer. When establishing your online presence, however, it is important that you go about it the right way.
I strongly, strongly, strongly (strongly) suggest that you invest into your web presence as opposed to spending time and resources on it.
Because this point – investment – is so crucial, it’s the first point I’m going to discuss in this section of this article. I’ll then talk about optimizing your website for your local market and will then briefly make a few additional points about getting online reviews.
You should invest in your online presence as opposed to spending on it
One of the things I am most thankful for is that I came to appreciate the difference between investing and spending, in terms of my business, at a very early stage.
The concept is straightforward. When you invest in your web presence, you then own something at the end of the day. These owned items can take the form of blog posts, YouTube videos, and so on. You don’t have to expend any more money or time to keep these assets and no one can take them from you.
Spending money on your web presence, by contrast, involves renting ad space from third parties (which can include pay-per-click advertising, Facebook ads, and so on.).
Investing in your online presence can result in your profits going up like this:
While simply throwing money at it can result in a constant struggle and will make moving your business forward about as easy as actually getting somewhere on a treadmill.
Let’s look at why this is.
Suppose you spend $1,000 on advertising this month. Now suppose it brings you $10,000 in revenue. It’s easy to look at that and go “woo hoo!”
But there’s a problem. The $1,000 you spent on advertising is now gone and will never bring you anything past the initial $10,000. Moreover, if you don’t spend money advertising again next month then your revenue will go to zero.
This means, with a near certainty, that relying on paid ads for your online presence will lock you into recurring advertising costs that you’ll never get out of. This is a far cry from actually owning your marketing assets.
I’m going to use a personal example to demonstrate the value of owning your web presence outright.
My previous brand was acquired in May of 2020. Over the years I had written roughly four hundred blog articles targeting my potential customers. From the time I launched the website through its acquisition, my top performing blog post had received over 10,000 clicks in search.
If I had been using pay-per-click advertising to get customers, then I probably would have spent somewhere in the area of $10 per click. So that one blog article that got 10,000 clicks gave my business the equivalent of $100,000 in advertising ($10 x 10,000).
I probably spent a total of five to six hours researching and writing that one article. Once that time was spent, however, I never put another moment into that article – I owned it.
This is different from paying for an ad where you don’t own anything at the end of the day. If you own your online presence then you can grow your business exponentially and avoid large recurring marketing costs.
Again, the assets you own can take on multiple forms. In addition to blog articles, consider YouTube videos and other media which can be used to target your potential market (more on this below).
One point I want to emphasize is that you can create content which you will own. I’ve spoken with a lot of developers over the years who didn’t write blog articles or create videos because they felt uncomfortable doing so.
While I understand and appreciate this, it’s crucial for you to understand that working for yourself means doing a lot of things you don’t feel comfortable doing.
If you’re unwilling to create web content that you own, and you choose to rely on ads, then you will still be able to make money as a freelance developer. That money, however, will be nowhere near what you can earn if you choose to step out of your comfort zone a little bit and engage in regular content creation.
So, with that said, let’s move on to actually building out your web presence.
You must optimize your web presence for a target market
I’ve seen a lot of independent developers who put together a website for their business without making sure it’s actually targeting a preferred market. Instead, such websites tend to be overly broad or vague.
Such a website may simply say “I’m a developer who builds stuff for the web” or something of the sort. They then link to a portfolio of various projects, list languages and frameworks that they are familiar with, and that’s it.
Instead, it’s best to identify a market you can reach through your website and optimize your site for it.
I’ll be writing more on freeCodeCamp over the next few months about optimizing websites for search (so stay tuned). For right now, prior to building out your website, I’d suggest you familiarize yourself with Google’s SEO starter guide. Then identify a market segment that you think you can capture and optimize your website for it.
To do this, make sure that your website clearly spells out different services and is clear about what you do.
I understand that this may sound a little vague. The content of your website, however, is going to largely depend on the type of work and the geographic areas that you are targeting. To put a little more meat on the bone, I’ll use myself as an example.
I try to focus my business exclusively on building websites and apps for small to medium sized businesses (I’ve written previously on the importance of choosing a niche). My website focuses exclusively on Ohio and its various cities.
I focused my web presence solely on my home state for two reasons. First, if I was trying to compete for Google searches on a national scale, then the competition would be absurd. Going after my home market is a lot more practical.
Second, while I get many calls from out of state clients and build products for people all over the country, there are a large number of people who want to stay local when looking for a developer. Also, my website clearly focuses on website or app development, instead of trying to broadly convey everything I could conceivably build.
So what's been the result of this approach? Well...when I perform an incognito Google search for “Ohio website design” then my site appears first. This means that potential customers call me without my business having to pay for any form of advertising. I also did not pay for advertising for my prior brand, which was acquired earlier in 2020.
Does my approach result in my website reaching all of the potential customers for all of the work I’m willing to perform? No. Does it reach a high percentage of the people I’m targeting for specific work? Yes.
This results in my getting more business through my website than many freelance developers get through theirs. This is why I choose my approach over one which makes it sound like the developer can do nearly anything for anyone regardless of where they are.
You must ask satisfied clients to leave you online reviews
I mentioned above that it is important to set up online review profiles for your business. When you have completed a job for a customer it is important that you ask them to leave you a review.
The reason for this is simple. The more good reviews you have, then the more you will receive contacts through your website. While having a bank of good reviews doesn’t make more people land on your site, it does make a higher percentage of your website visitors pick up the phone and call.
Let’s look at a few quick “do’s and don’ts” when it comes to getting reviews.
The first thing to remember when getting reviews is to not ask a client for a review unless you are certain they will leave you a good one. You may have just read that sentence and are now thinking “duh,” but, trust me, you would be surprised at what some people do.
Second, it’s not enough to ask the customer to leave the review. If you want them to actually do it, you need to call the client and talk to them about leaving you a review. If they are willing to do it, you then want to email them links to your review profiles.
You will find that doing the phone call and email, in conjunction with one another, will result in a much higher percentage of the people you ask actually following through and leaving the review. Otherwise you’ll ask, and ask, and ask, and few customers will ever actually do it.
I can’t stress enough how important a bank of good reviews is to growing your business. Also, just as with web assets which you own (explained above), those good reviews can’t be taken away and don’t require you to pay out money each month.
Now let’s look at ways to get work in your local market which don’t involve your website.
How to get local clients as a freelance developerback to top
As I just explained above, a web presence (done correctly) will actually bring in quite a few local clients. There are other things you can do, however, to get clients on the local level.
These things include talking to larger development shops about outsource/contract opportunities, going out and talking to potential customers one on one, and attending networking functions.
Let’s take a quick look at each of these methods in more detail.
There are more opportunities than you might realize when it comes to picking up work from other developers. Larger dev shops, which work on large scale projects, often are willing to (or need to) outsource a small component of the project.
There are several reasons for this. First, they may have a one-time project with which they need help. It may not make sense to hire someone for that one particular thing (since there wouldn’t be a need for the employee once the project is completed) so it makes sense to outsource.
Second, a larger shop may be in a “middle area” where they are too busy for the amount of staff they have but not busy enough to hire. Again, someone in this situation may outsource. It is common for freelance developers to get work from larger shops who find themselves in this situation.
The best way to start getting this type of contract work is to reach out to the larger dev shops in your area and introduce yourself. Again (as explained above), you need to have a website, a portfolio, and so on before reaching out. Otherwise they won’t take you seriously.
Many freelancers who reach out in this way make what I think is a mistake in that they simply send an email to the head of the larger dev shops. Instead, you want to make sure you are more personal in your approach.
I would suggest calling the head of operations on the phone, explaining who you are, and asking if you can send over a cover letter and resume stating that you are available for outsource work.
And, importantly, don’t stop there. If the developer doesn’t send you anything right away, I would follow up over the phone once a month or so. Until you’ve been bugging them for a solid year, or until they’ve told you to go away, keep following up in this manner. By showing that you are organized and persistent, you’ll actually manage to get work in this way.
Another great way to get customers in your city is to simply meet them one on one. This means walking into local businesses and discussing web services, and so on.
Again, many developers who do this tend to go about it wrong. Don’t just go door to door. Make a list of the businesses you intend to visit and actually research them. Look to see if they have a website, organize your thoughts as to how their current web presence can be improved, and also take the time to research their competition.
Being informed when you go to meet someone will go a long, long, long,........long way. Also, as with local dev shops, do not be shy about following up until you are specifically told no.
A third option for getting local clients is to attend networking events. This is something that I’ve suggested before in prior freeCodeCamp articles. This is a good option for quite a few freelancers as many don’t feel comfortable with the more direct approach I just described above.
As I said when it comes to creating content, however, stepping out of your comfort zone is important if you want to take your business to the next level. While I believe that the more direct approach is better for getting customers, attending networking groups, such as BNI can yield results as well. It really comes down to how far out of your comfort zone are you willing to go.
By no means is this meant to be an exclusive guide as to how you can get business, both online and in your community. The methods and approaches I've described above, however, have worked for me in my business and have led to my previous brand being acquired.
The last point I’ll make is that your web presence and local reach is the result of the amount of effort you put in it. If you are willing to step out of your comfort zone, and put time into the methods described above, you’ll be ahead of your competition.