14 minute read

How to Become a Freelance Web Developer: 7 Steps for Success

Nick Mertens

Nick Mertens

Are you wondering how to become a freelance web developer?

It's a dream of many to work from home and enjoy the flexibility and freedom that brings with it. You can schedule your own work hours, work from wherever you want, and take breaks when you want! If you plan accordingly, you could make the same amount of money you would at a permanent role in a fraction of the time.

But with all that flexibility and freedom comes risk too. What if you can't find enough work? What if I have a dry spell? What if you can't pay your bills? And where do you even begin with owning your own business?

We've got some tips for you that will hopefully put your mind at ease and give you a starting point. While you could definitely jump straight in and start freelancing next month, it's probably a good idea to take things a little more slowly. Do your research, learn the things you need to learn and maybe start freelancing on the side first if your current employer allows it.


1. What do you know and what do you need to learn?

Start by assessing what you already know. If you're already experienced with a certain development field and you enjoy it, it makes sense to start there to minimise the time it takes until you can take your first client.

If you think there are some gaps in your knowledge or you want to branch out into a new field, take some time to upskill yourself in those areas. There are plenty of resources online, including the GoSkills collection of development courses.

You might want to brush up on your HTML or CSS skills for example.

Once you've selected your field, it's a good idea to pick a few areas within that to be your main focus. If you've selected front end development, you might focus on React apps or single-page apps in general, or platforms like WordPress or Umbraco. You won't always be able to be picky about which jobs you take on, but it helps keep you focused in the long term.

That being said, keep in mind that you will be doing more than just that. As someone who works for themselves, you also have to be project manager, talk to clients, network and seek new contracts and clients, look after your financing and do your own marketing. If you don't know too much about these things, also take some time to skill up in those areas. Some will come more naturally over time and are things you can experiment with, like marketing, whereas looking after your finances and making sure you're doing everything legally is important to get right from the beginning!

One final note about upskilling: don't be afraid to jump in and learn as you go. All of the above sounds like a lot to learn, and if you did it all upfront, you'd never be able to start! Instead, get the crucial things out of the way, then learn as you go. Just be sure to be transparent with clients about areas you're inexperienced with if they are crucial to the project.

2. Set up your business

Once you've decided to start, the first thing to do is to set up your business. There are a few different options, included but not limited to: being a sole trader or setting up a company. The former is a little easier to set up, but the latter provides a bit more protection. Your best bet is to check your government's resources for small businesses and talk to an accountant, financial advisor, or friend who can help.

Regardless of which you choose, the most important thing is to make sure you keep everything legal and you're doing the right thing for taxes. It may be tempting to do the occasional small job without bothering, but it will come back to haunt you.

As a freelancer, you will have to pay your own taxes. If you're used to permanent employment, this would usually come out of your paycheck before it ever drops into your bank account, so it's a bit of a mindset shift. The easiest thing to do is to set aside a portion of each incoming payment for tax purposes. That way, when it's time to pay your taxes, you know you've got enough set aside.

If you are going to work as a freelancer, it is important to sign the right contract with your clients. For example, if you plan to work as a freelance consultant, use an agreement designed for consulting services in particular.

Interested in web development?

Learn all about it in our comprehensive (and free) ebook!

Once you've sorted out all the legal matters, think about how much you might charge for your work. Have a look at industry-standard hourly rates for your kind of work and location and ask any freelancers you know for their hourly rates. Once you've set one, stick to it. If you believe it accurately represents your skills and quality of work, then that's what you should charge.

As you're starting to gain income, it's good to not only put money away for tax purposes but also a portion for emergencies. If you get sick and can't work for any amount of time, the bills won't stop so make sure you cover your butt!


3. Market yourself

As a web developer, the most important bit of online presence is arguably your own website. Take some time to think about what a prospective client would want to see in order to make a decision about whether to approach you for a project. You'll definitely need an easy way for them to contact you - whether that's a contact form or simply an email address - and you may choose to show some examples of your past work if applicable. Make sure you explain what it is that you can do for them and try not to be too technical without sounding like you're talking down to them. Research how other freelancers or small agencies do it if you're not sure!

Social media is a tricky one. Some swear by it, whereas others say it's grossly overrated. I say give it a go and see if it brings in traffic to your website or enquiries about projects. There are countless articles that say you can drastically increase the engagement of your social media endeavors by including images or video in each post, so this might work better for those web developers who work with the visual side of things.

If you're only going to choose one social media platform to find clients, I would personally recommend LinkedIn. It's focused on business and networking and will let you grow your professional network quite easily. Make sure you update your profile regularly, share work you've done, and reach out to people whom you might be able to work with.

Facebook, Instagram, and twitter are other social platforms you can use to promote your business. Depending on what type of work you do, and who your audience is, you may have varying degrees of luck with any of these platforms. They are also a good way of proving you are a legitimate business, as these platforms are a record of how long you have been around, and people can leave you reviews and comments about your services.

Blogging is another good way of increasing your exposure. While you probably won't generate direct leads from these, it's a great way to become known as an expert in your field. Moreover, if you're providing useful information to people, they are more likely to reach out to you in turn. In that same vein, consider talking at meetups or conferences to really boost your reach.

4. Getting clients

First of all, let's talk about the different types of jobs you might take on. There are two main types that you'll likely come across: freelance projects and contracts.

Freelance projects are the ones where you as a freelance developer, work directly with a client to deliver some kind of work, e.g., a website. Usually, you would do this from your own office, using your own equipment.

With contacts, you'd work for a client or agency, usually for a fixed amount of time determined at the start. This might still mean you work from home, though it's common to work at the agency's office alongside their other developers. The scope of these can vary wildly, as well as their length. One of the nice things about contracts is that you meet a lot of people and build up the experience quite quickly, which will help you further down the track. It can also be a little more steady than regular freelance work.

When you start your freelance journey, it can often be hard to find that first client to get you going. This is where your networking skills come in. Think about previous jobs and see if you can contact any of your past colleagues or managers to see if they know of any opportunities. Talk to other people in your professional network, friends, and family. Hopefully, if you've already done some freelance projects while you were permanently employed, you'll have some existing clients that you could contact. Even if they don't have work for you right now, you'll remind them you're available, and they might think of you for their next project. You'll probably find that most of your work comes through word-of-mouth!

There are also plenty of agencies around which employ mostly freelancers. They find clients and connect them with freelancers who have the skills they need. Have a look around and consider signing up to a few of these, as you might get some work out of them.

How-to-become-freelance-web-developerIf you choose to go with freelance projects over contracts, it might mean you'll have to collaborate with others to fill in any gaps in your knowledge or skills. For example, if you know you're not great with design, you'll probably need to create a network of designers that you can collaborate with. Be sure to include their work in your quote before you start the work unless you specifically mention that work is not included.

So what if you want to make some contracts instead? There are a lot of recruitment agencies that offer contract roles as well as permanent ones. As with most things, it's crucial you network here to be known in the recruitment circles, as they'll often contact you to fill a contract. Once a contract is finished, you'll likely have some time to find the next one as they tend to pay more than permanent work.

If you are speaking to clients or recruitment agencies check out these helpful resources:

20 Most Helpful CSS Interview Questions & Answers

13 Most Helpful HTML Interview Questions & Answers

5. Keeping clients

So, you've got some steady work going, but how do you keep those clients? The best way, unsurprisingly, is to provide great service and always deliver the best work that you can.

Put yourself in the client's shoes and be the developer that you'd love to work with and to continue to work with. Try to always respond in a timely manner and to deliver work on time. If you don't think you'll make the deadline, notify the client as soon as you can. If you keep missing deadlines, you might need to take a look at the way you estimate and quote clients and extend as necessary.

And of course - make sure you invoice for your work and don't wait too long to do it! It can be helpful to include a due date on the invoice as well so that there can be no disagreements about overdue payments. There will always be clients who won't pay on time but do whatever you can to minimise that. Lastly, don't be afraid to chase them up.

6. Be sustainable

Working from home is great and provides a lot of freedom, but it also comes at a cost: it can be very hard to stay focused. No matter how much willpower you have and how much you enjoy your work, there will be days where it is hard to motivate yourself to do some work instead of sleeping in and playing games. Sometimes this is great of course, but if it happens too often, your mental health might start to suffer, not too mention your income.

You'll have to experiment a bit to find out what works for you, but it could be beneficial to set up a work schedule for yourself as if you were permanently employed. Be your own manager, and keep yourself accountable. It also means that once you hit 5 pm, you can stop working and enjoy the rest of your evening!

The same goes for breaks and holidays. Schedule in days throughout the year when you won't do any work. Give yourself a summer holiday! Just make sure you let your clients know in advance, of course.

Your environment and clothing make a difference too. You might enjoy coding on the couch in your pyjamas, but you probably won't be all that productive. Instead, consider setting up a workspace, where you won't do anything except work-related activities. Someone I know swears by putting on shoes while they're "at work." I guess it feels less like you're at home. It also means you still get that satisfying feeling of taking your shoes off at the end of a hard day at work!


7. Professional development

If you're constantly working on client projects, you might find you're not learning as much as you'd like. It's important to keep up with industry trends and new developments, but not all clients are willing to take on the extra cost and risk of you trying out something you're not that familiar with.

While billable time is obviously important, you might consider scheduling in some time during your week, which you spend learning something new or catching up with industry news. It might be worth subscribing to some online refresher courses in JavaScript and PHP for example, or brush up on certain skills you need to run a business, with Excel or Finance courses.

If you don't stay relevant, you might find your income stream will start to slow down eventually. Conferences can also be a great venue for keeping up with industry trends while providing an excellent opportunity to network and generate leads. And if you are able to speak at one, as mentioned above, you might even save some money!

I sincerely hope this article on how to become a freelance web developer proved useful to you. If you decide to go freelance, I wish you good luck and hope these tips help you as you embark on a new career path.

If you would like to boost your development credentials check out our web development courses. Want to find out what the best software and tools are for freelancers? Check out the 30 best tools for freelancers in 2019. And, as always, if you have any questions, post them in the comments below.

Learn in-demand skills

Take your career to the next level with GoSkills coding courses

Start free trial
Nick Mertens

Nick Mertens

Nick is a web developer, focusing on front end development and UX, as well as dabbling in any new technologies or frameworks that catch his eye. In his free time, he enjoys playing video games, listening to metal, and being an all-round geek.