As you grow in your career as a software developer, a natural next step is to jump into independent consulting. You have greater control of your time, can make more money, and have the freedom to pick and choose the projects that you work on. But when I talk to people who are ready to quit their job and start consulting - the number one question I get asked is:
"How do you find consulting clients?"
I wrote about this in the First Client Checklist, but I wanted to give some more real, concrete advice about what to do, and what NOT to do, to find your first clients.
Short Term vs Long Term
When you're building up your client base, there are some things you can do to get clients quickly, and other things you can do which will help build up a solid client base over the long term. Whenever I talk to new consultants, I want to make sure I mention both short and long term strategies - because otherwise, it can be too easy to prioritize things that will get a client right now; and neglect the things that will help you be successful over an entire career.
I know it can be scary to not have any clients (and not have money coming in!) but it's important that you always have both a short and long term focus, because the long term strategies take time to really pay off.
It's also easy to ignore the long term strategies when things are going well - so even after you have enough clients; keep going! Being independent means there's no one to fill your client queue except for you; so make sure to build a long term strategy both when you have enough work, and also when things aren't going so well.
What Not To Do
If you don't have a client, then it can be tempting to just try anything to get work - but I have to caution against a few mistakes that I see over and over again.
Don't use "hire a freelancer" websites
There are many, many websites where you can sign up and get matched with companies looking to hire a freelancer. It might seem like a good idea, because it seems like an easy way to get started as a consultant - but there are too many long term negatives for me to recommend it as a strategy.
The main problem is that most of those sites encourage a race to the bottom - by making you put in a per hour or a per project bid, and compete against dozens of other freelancers. In an environment like that, there's little you can do to make a connection to the client, and no real way to demonstrate your unique skills - both of which are needed for a solid and long term relationship.
That said - I have seen some sites that are attempting to fix those issues. I've also seen some consultants that have carved out a nice niche using those websites, and seem to be doing well for themselves. I would just caution any new consultant who thinks those sites are the best first way to get clients... because they aren't.
Don't go to "networking" events
Another common mistake is to spend too much time going to self proclaimed "networking events", in the hope that you will find clients. The problem is that everyone else is going to networking events trying to find the same thing!
I do encourage meeting people in your local area, as well as people in your field around the world; but networking events are not the best place for that. Instead, find a meetup for the programming language that you use, and go to that. Don't expect clients right away though! Instead, just go to learn new things and meet new people.
Short Term Strategies
When you're first starting out, you'll want to get your first client quickly. Also, there will be times during your career when you're between clients, and you need to find something right away in order to keep the money coming in. That's when these strategies will be particularly helpful.
Previous employers and coworkers
Some of my best clients have come from a previous employer, or old coworkers who are now working at new companies. As long as you haven't burnt any bridges along your career path, hopefully you're still in contact with people that you used to work with in previous jobs. One of the fastest ways to get clients is to reach out to them and say:
I'm a consultant now, and I have some availability in between clients. Does [their company] need any help with [your area of expertise]?
Since you already know them, it's a very low friction way to get involved with a company - and it's one of the fastest ways to get a new client, since people you already know will respond quickly and honestly.
Other consulting companies
Another way to get some work quickly is to start reaching out to other consulting companies in your area. Good consulting companies will generally have more work than they can handle - and larger consulting companies are probably turning away work that is too small to support a whole team of programmers. That's good news for you though! As an independent consultant, you can often pick up the smaller projects that larger consulting companies don't want to take.
Remote job ads
If you don't have old coworkers to contact, and you don't get anywhere with other consulting companies - you can always start responding to job ads. I would focus on remote jobs (because they tend to be more open to hiring consultants); but be warned! With this strategy - you'll experience a lot of rejection. Only some companies with open job ads will be willing to hire a consultant - and even if they are, you're basically cold emailing them; so don't expect a lot of positive responses. Also, be willing to demonstrate your skills with a portfolio of things you have done in the past. An active github account works nicely for that - but I've also had success with just screenshots and descriptions of past projects.
Long Term Strategies
If you still have a full time job, or you're a consultant who already has enough clients - it's still important to do activities which can get you clients over the long term. That means you should focus on meeting new people, and doing interesting things (and talking about them).
Go to meetups
One of the best ways I've found to meet people in your area is to go to meetups. These are different than "networking events" - because the focus is about learning new things, and not just meeting people. I've written before about how to make the most of a meetup, but generally - don't go specifically to get new clients - just go to try to learn things and help people.
Increase your online presence (start a blog, write an ebook)
There are two main reasons to start writing about your work. First is that you may actually get consulting leads from a blog - but that's not actually the most important part about writing online! What a blog (and especially an ebook) does is that it provides proof that you know you're talking about. It gives something for people to read that proves you're an expert - and so what it really does is it helps close deals, and convert prospective clients into actual clients.
Do interesting projects (and talk about them)
After you have a blog, you can start doing interesting projects (open source is great), and then remember to write about what you've done! Just like a blog and ebook - the point of writing about your projects is to show that you're an expert - and that you can actually finish projects.
If you need a client right now, then I'd recommend doing doing all three of the short term strategies in parallel. In this position though, you should know that most of the inquiries you make won't lead anywhere - so just be prepared to send out a lot of emails and answer a lot of job ads.
If you already have a full time job though - then the first thing I would do is to start a blog. Potential clients are going to want to see proof that you know what you're talking about - and the easiest way to do that is to publicly write about your field. Remember that (in this case) the point of the blog isn't to get a large number of readers - but it's to prove to prospective clients that you're an expert.
Finally, remember that your career is going to last a long time, and you will have a lot of ups and downs. When things are going well, don't neglect the long term strategies, or you will have trouble later. And when things aren't going well, still keep up the long term strategies, but now hopefully you have a few more short term strategies to get clients quickly.
Get Your First Client
I made a guide just for you! Learn how to get started with this 5 step checklist.