Freelancing as a developer is hard.
Especially if you have no experience as a freelancer or you never had a client of your own.
Although I came a long way, there’s still a ton of stuff to learn. Especially regarding sales.
But today I want to tell you about things that I’d do if I had to go back and start all over again.
Build a portfolio
A portfolio makes or breaks a freelancer. I can’t count how many times a client hired me because I had a decent looking portfolio.
If you are a beginner, you probably think that there isn’t anything of quality to add to your portfolio right?
Here are four things that you can add you can add to your portfolio if you are a freelancer with no experience.
Never underestimate the power of open-source. If you are a maintainer of a popular project, it puts you miles ahead of others.
Imagine you start contributing to React and someone wants to hire a React developer. I guarantee you’d be hired on the spot.
If you want to try this tactic, I’d advise you to find projects related to the niche you want to serve and immerse yourself into it.
Personal projects come a long way in your potential client’s eyes.
The best ones are the ones you’re passionate about and actively work on in your free time. Mine is Kodeblok.
But the ones you’ve built in a couple of hours that demonstrate what you can do with a certain library or a framework are also fine but not as effective.
Hackathons and Game Jams
Hackathons are events where you compete with other programmers by creating a product around a certain topic.
Game Jams are the same but only for games.
It’s pretty impressive to see on someone’s portfolio that they won a hackathon. It proves they’re both passionate about the topic and they’re excellent programmers.
Mentioning in your portfolio that you participated in a hackathon is also fine.
Now, by volunteering I don’t mean go work for someone for free. By volunteering I mean join programs like Ruby for Good or Girls Who Code.
You will help someone out and build a nice piece to add to your portfolio. It’s a win-win situation.
If you are interested in building a better portfolio, I’ve written an article with 10 tips for awesome portfolio site.
The thing I regret the most that I didn’t start earlier is creating content. You wouldn’t believe how effective it is.
I landed my current client because he found my blog interesting.
We consume more content than ever. And guess who also consumes a lot of content? Your future clients.
And with platforms like Dev.to and Hacker Noon, all you need is an idea for a topic you want to write about.
By using these platforms you get access to an already built audience but you fork over customization. I don’t like that so I’m writing here on Kodeblok.
If you are a more visual person you can start a YouTube channel.
Or you can create a course on a topic you’re passionate about and upload it to Udemy.
If you don’t want to do either of those, you can start a podcast.
If you create a piece of content whose purpose is to convert a consumer to a potential client, you can run paid ads for that piece of content.
The possibilities are endless.
Talk to Other Freelancers
A couple of days ago a friend of mine hit me up on Facebook. He is also a freelancer but it’s a dry season for him. He was curious whether I was overworked or I had some extra clients that I can’t work with right now.
Two days ago a client contacted me. He needed a mobile app. Since I don’t make mobile apps I reached out to the friend from the other day and introduced him to the client.
Freelancing is not unionized in the big chunk of the world. If we want to survive we need to stick together.
So if you’re new, go on and network with other freelancers. There’s a limited number of projects we can work at one time.
Learn To Talk to Clients
A majority of developers that want to become freelancers think that the difference between $15 and $115 an hour freelancer is in their technical skill.
This is incorrect.
Of course, previous experience and skills make a difference but there are other factors.
One other factor is ability to articulate what value you bring to the table.
If you’re rolling eyes right now and thinking this is some hippie crap, don’t worry. I was the same skeptic as you’re right now. Here’s an example.
There’s a souvenir shop in your tourist town. The sales are great during the season but they drop massively after. The owner had a brilliant idea to sell his stock on the internet. He needs a website for it so he comes to you and asks you how much you charge for a website.
You might quote him $300, $500 or even $1000 but based on what?
Instead of quoting him right here and then I’d ask what do you want to accomplish with this project?
In this imaginary scenario, he responds that he makes on average $4000 a month during the tourist season but nothing when it’s not the season. By creating a site where he can sell his inventory he predicts steady $2000 a month for the next eight months.
Now that $300 quote sounds ridiculously cheap doesn’t it? Even the $1000 one.
If the client is predicting $16000 during the next eight months, does the $4000 quote sounds ridiculous? Probably not.
What’s the point of this little story? Instead of assuming that the client needs a website, we dug deeper and found out that he needs a way to do business during times when there are no tourists in the town. Instead of a website, we quoted him on a solution on how to sell his stock out of the season.
Now, this is probably the perfect example and you might not stumble so easily in the real world.
Being able to sell a solution to the client rather than your services is what differs good and bad freelancers.
Find a Niche
If you try to satisfy everyone, in the end, you will satisfy no one.
As a beginner, you probably want to try out everything and gain as much experience as possible.
This is an alright tactic but I’d advise you to find some piece of technology that you’re passionate about and stick with it for a while.
If you need some suggestions on what you should niche in, I’ve written a whole article on the best niches for freelance software developers.
You might be wondering will there be work for me in this or that niche?
Let’s imagine you specialize in making Gatsby websites.
At the time of writing this article, 34,400 websites are using Gatsby.
If we are modest and imagine that you can help out just 2% of these websites, it leaves you with 688 potential clients.
And Gatsby is growing year over the year so there’s no doubt that other people will need your services.
To find out if a niche is profitable and should you sink your time and effort into it, all you need to do is do some research.
How many jobs are in this niche? How many people already specialized in it? Who are experts?
Only then you decide is it for you or not.
In my opinion, not niching down is one of the biggest mistakes a new freelancer can make.
Under-promise and Over-deliver
Under-promise and over-deliver is one of the most powerful ways you can get your clients to work with you again in the future. It’s also an effective tactic for getting referrals.
Under-promise and over-deliver is when you agree with your client on the scope of the project but you do a little bit extra.
For example, beating your deadline or optimizing a website for search engines.
In conclusion, we will recap the main points:
- Build some kind of portfolio. Something is usually better than nothing.
- Create content
- Network with other freelancers
- Learn to talk to the client and cater to their needs
- Niche down
- Under-promise and over-deliver
Hope this article helps you land your first client :)