The 4 Main Steps for a Starting Freelance Software Developer
If you’re considering starting a career as a freelance software developer, you probably wonder where to start.
Don’t worry! You’re not alone, and we’re here to help. There are four steps that every new freelance dev will need to take to successfully place themselves on the market.
In short, as a starting freelance developer, you need to 1) Build a portfolio, 2) Determine your rates, 3) Market Yourself, and 4) Pick the Right Clients.
In this article, we’ll discuss each of these steps in turn.
1. Build a Portfolio
It may come as a surprise, but one of the first things we recommend new freelancers to do is to start working on your portfolio. Even when you’re working as a back-end engineer, it’s useful to have something to show to recruiters or potential clients.
Even if you don’t have anything to show, make sure you lock in the web address for your portfolio. A simple one-page website is fine, and if needed you can fill it in later.
If you do have some years of experience under your belt, go ahead and start gathering your work.
Creating an overview of your work
The end-goal of your website is to showcase your work, expertise and skills. So start gathering and writing down different projects you’ve worked on over the years. Also write down the clients you’ve worked for — the larger the clients, the better; because these can be recognized by potential recruiters or new clients.
If needed, you can even reach out to former employers or clients for more information (hard data about what your work resulted in is always good!) and testimonials.
If you combine your achievements and previous projects, names (and logos) of past clients/employers, and potentially some testimonials, then you’re set.
Sure, as a developer you don’t need a fancy graphic design portfolio; but the more you convey a sense of expertise, the better.
Including a bit of your personality
If you want to improve your site (i.e. your business card) even further, we recommend to put a bit of your personality in too.
Sure, new clients will mostly look for what you have achieved and whether you’re a skilled developer – but in the end, people like to work with people they like or relate with. So share a few things you do in your own time, pet projects you work on, etc.
In the end, your introduction can be short and sweet or long and littered with personality; either way, when you’re a starting freelance software developer, your audience needs to be able to humanize you, so be sure to include a friendly headshot.
And lastly, make it insanely easy for people to get in touch with you if they need to. You can create a contact form, leave an email address, link Calendly to book a call, or better yet, all three.
2. Determine Your (Hourly) Rate
The next thing you’ll want to do is determine your rate. There are many ways to do so, and we’ve written extensively before about how to set your rate as a freelance dev.
In short though, it’s worth it to:
- Ask fellow freelance developers for advice and how much they charge
- Check out databases with freelance rates (like Lancebase)
- Search Google, and other blogs and articles
However, freelance software rates range anywhere from $30 to $200 an hour, so even after doing some research, you may still be left without a clear, concrete number.
In the end, your rate should reflect your own individual needs as well as your own unique skills. So when determining your hourly rate, you can take into consideration factors such as: experience, technology, state of the market, urgency, complexity, and location (yours and your client’s).
When you’re starting as a freelancer, it will certainly help your marketability if you’ve had previous experience as a developer. Experience should be the number one most important factor when determining your rate.
If you don’t have much experience, you may need to start out asking for $30 or $40 an hour (depending of course on your location!), and move from there.
Certain technologies, such as WordPress, HTML/CSS, and PHP are easier to learn than others, like Python or Kubernetes.
State of the Market
Demand is a factor that you’ll need to consider regularly. The state of the market will fluctuate, and so should your rate.
When demand is high and there are fewer freelance software devs on the market, you can charge more. And when demand is low and there seems to be a surplus of developers, you may need to reign in your rates until the market shifts again.
Every client is different, and as a result, they all work on different timelines. Some may ask you for a one-week turnaround, and others may ask for their ordered work in a single day.
When the pressure is on, you can increase your rate — since you’ll be under a higher amount of stress (and the client will need to say yes if he/she wants to get stuff done!)
Although some freelancers charge the same hourly rate no matter the difficulty of the work, many will alter their fees based on the complexity of the project.
If the work is tougher than average, you may be able to charge more than average. So consider if you want to change your rates based on a project — or keep the rates the same, regardless.
Where are you located? Where you live and work is a major factor in determining your rate.
Generally, clients in some Western economies, like the United States or Europe, are used to paying higher rates to freelancers than those in developing countries.
A significant amount of research is required for you to understand exactly how much you should charge. Just remember — the client has to agree with the rate, but you decide how much you’re worth.
3. Market Yourself
As a freelancer, you are putting yourself out there with a sign above your head that says “I can solve this problem for you.” So one of the first things you should ask yourself is “What kind of problems can I solve?”
If you already have a developed portfolio, you may have an idea of who your audience might be (those whose problems you can solve). But if not, you should find out. Ask in your network or on websites like Reddit or LinkedIn while marketing yourself as a freelance dev.
We always advise starting freelancers to pick a niche. If you concentrate your focus on a specific niche that you specialize in, managing your time will be a lot easier, and chances are higher that you will find a client that’s right for you.
Now that you know who to market yourself to, it’s time to start marketing!
How to market yourself and find new clients
There are many ways to put yourself on the map as a fresh freelance software developer. Consider for instance:
- Sharing your thoughts/expertise on LinkedIn
- Engaging in in-depth discussions on Reddit (e.g. ExperiencedDevs) or Hackernews
- Using other social media (Twitter, Mastodon)
- Running ads (on Google, LinkedIn, Twitter, Reddit)
- Engaging in networking events and meetups
- Networking with past clients/employers/colleagues
- Using freelance platforms, from Upwork to TopTal (though there are many ways to freelance without using platforms too)
- Writing blog posts to attract potential clients
These are just a handful of ways to get new clients, and there are many more. However, how you market yourself ultimately depends on your audience and what works well for you personally.
Where can you reach your audience?
Virtually everyone is on social media. No matter who your audience is, you can bet they’re on some social media. However, shouting into the social media void is usually not helpful. So consider how you can best reach your audience.
Can you make sure that your social media posts get read by the right people? Or do you think the hiring managers of the companies you want to work with are searching for freelancers on a freelance platform? Consider questions like this, before you make your move.
What form of marketing works well for you?
Some people are natural extroverts, and love sharing their thoughts and engaging in online discussions. For these people, marketing themselves on Reddit or LinkedIn might be a really good solution.
Others however prefer to keep a low online profile — and that’s possible too. You could find clients through your network and referrals; without having to shout from the rooftops.
There are countless ways of marketing yourself; so consider what works well for you. Could you imagine yourself running ads for days, weeks, months? If not, there’s certainly many more options out there.
4. Pick the Right Clients
After you have a portfolio, a rate, and manage to find some clients — you’ll start to cultivate a clientele. Eventually, you will even be able to begin weeding out clients that aren’t as great as others.
And that is an important step. Because just like in life, in a freelance business there are sometimes people who you would rather not work with. Perhaps they’re not great communicators, they don’t pay on time, don’t pay well, etc.
So picking the right clients is key for a successful freelance dev. And what makes a client great? Well, effective communication, trustworthiness, and compensation are the biggest factors.
When you’re doing your best to manage your time wisely, few things are more frustrating than unclear communication from a client. Perhaps they’re not clear about what they want, or it’s not easy to get a hold of them.
Whatever it is, inefficient communication leads to wasted time, and often to poor projects (and sometimes even poor reviews for you!).
So when you first engage with a potential client, seriously evaluate their communication skills. And if it doesn’t feel right, don’t do it.
In addition to being competent, clients should also be trustworthy. Otherwise, how do you know you’ll be paid on time? How do you know you’ll be paid at all?
So choose clients who work through clear, correct contracts and adhere to them strictly. Check if they actually do what they say, and if so, they will truly help your freelance software development career flourish.
Last but not least, consider how clients compensate. You don’t necessarily need to go with the clients that pay the most, but higher compensation is often better.
In the end, high-paying clients will keep you afloat when business is slow. In addition, a strange concept exists where clients who pay better are generally less demanding than clients seeking the lowest rates.
Taking those first steps
So with this information, you have all you need as a starting freelance software developer. So to summarize, take a good look and some time for these 4 steps:
- Building a portfolio
- Determining your rate
- Marketing yourself and
- Picking the right clients
And remember, your freelancing business can’t exist with clients. Choose them wisely; they can determine your livelihood. So, create meaningful, lasting relationships with the good ones, and leave the others be. Good luck!