One of the common mindsets of people who want to become freelance web developers is they just have to be so good at coding and the rest will follow.
If you’re serious about being successful, this is not the right mindset to start with.
Freelancing is a business, and it takes more than coding to make it grow.
In this article, I’m going to share the different hats a freelance web developer has to wear to grow and sustain his or her business.
In its simplest sense, freelance developers write code for clients on a project basis. This means that they are self-employed, they get to set their own rates and decide who to work with, and they control their time.
Freelance developers are first and foremost problem-solvers. Companies are now realizing that going digital is a necessity and not an option, and they are looking for people to give them the right solutions to digitalize their businesses in the most effective way possible.
Websites and apps are tools designed to bring clients sales – so, in this sense, developers directly contribute to clients’ bottom line by building technologies that will give them the edge over their competitors.
These are a few skills required for freelance developers (other than coding):
Understanding the nature of your client’s business will help you better prepare for the project and anticipate your client’s needs. This is true for both employed and freelance developers.
Ecommerce businesses have different needs from SaaS companies. A startup will also have a smaller budget, shorter timeframe, and different priorities than an enterprise company that has been around for years.
Understanding the nature and goals of your client’s business will enable you to give more valuable contributions and solutions. It will also inform your decision about which features should be included and given more technical depth.
You can understand your client’s business goals by:
- Browsing their website and social media accounts. Find out their history, how long they’ve been around, products and services, their plans, etc.
- Ask them yourself. This is a good way to show that you are committed to giving them the best solution possible.
Effectively communicating with a client is key to working efficiently and giving timely, effective results. A lack of clear and timely communication can give rise to a series of problems like bad coding, bad design, lost time, and wasted money.
As a web developer, it’s your job to ask questions to help you understand what your client specifically needs.
Client communication involves:
- Explaining complicated technological concepts in a way that your client will easily understand.
- Explaining your ideas and suggestions to the client.
- Asking questions and encouraging clarifications to make sure you’re on the same page about the website’s design, features, and functionality.
- Working with their in-house marketing team or hired marketing agency.
- Negotiating prices and deadlines.
It also includes deciding which concerns can be emailed and which ones need to be explained face-to-face or through video calls.
From choosing the framework to deciding whether a certain feature is really needed, you’re going to make pretty important decisions that will impact the project’s success.
If you are the lead developer of the project, you’ll often get asked these questions:
- How long will you take to complete the project?
- How much time and money should we invest in building feature X?
- What is the most cost-effective way to achieve Goal A?
Your experience, technological expertise, and understanding of your client’s business, goals, and specific needs will all come into play when you’re making important decisions.
The best example I can think of to illustrate this point is the never-ending debate about CMS platforms. Which I think is quite pathetic but let’s get to the point :)
Let’s say a business coach wants a simple website that brings in a consistent flow of leads every month.
This website will need nothing more than a single high-converting landing page to do the job.
Decide on if a CMS is best or if you need to code it.
Don't waste your time unnecessarily by coding something if you can just use a plugin or existing theme to do the job for you.
I’ll say it again: As a developer, coding is not your job – finding solutions is. The best solution is the one that achieves business goals sooner.
Before you get to start coding, you need clients, and to get clients, you need to start marketing.
The word “marketing” can be intimidating to those who have no prior experience to it because there are so many technical buzz words that sound so complicated.
In the simplest sense, marketing is putting your products and services in front of people who might need it.
Marketing is so important for freelancing that you should aim to most of your time to it and less time to actually writing the code.
To market effectively, you need to answer a few questions:
- Who are your target clients? What kinds of businesses do they have?
- What are their problems that your services can help solve?
- Where can you find them? Are they on Facebook, Twitter, LinkedIn, Instagram, Reddit?
- How do you tell your message in a way that will resonate with them?
Marketing is such a big industry in itself, but if you know the fundamentals, you’re set and can learn along the way.
If you want to know more actionable tips to market your services to clients, this guide on how to get clients may help: How to Get Clients as a Freelance Developer
Managing your time is huge if you want to stay productive and sane.
As you get more clients and projects steadily come in, it’s easy to lose track and fall into a state of confusion and having a sink filled with unwashed dishes.
Here are some tips to help you manage your time and stay productive:
Multitasking is a myth. Only 2.5% of people in the world can actually process tasks simultaneously.
Here are some more statistics to officially end the myth of multitasking:
- According to a study of Microsoft employees, employees took an average of 15 minutes to get back to intense mental tasks (e.g. writing code or reports) after responding to instant messages or emails.
- People who are interrupted take 50% longer to finish a task.
- Multitaskers make up to 50% more errors.
Instead of multitasking, have short bursts of hyper-focused working mode. Work distraction-free for 2 hours (or how long you prefer), take a short break to clear your mind, and repeat. You can also try the Pomodoro technique.
Collect design assets and resources. Find a set of go-to websites for your photo, vectors, icons, and other design needs. I personally like to use Deposit Photos because it’s easy to use and they have a huge library of assets. There are also free options like Pixeden, Free Design Resources, and 365PSD.
Use productivity tools. You need tools to help you organize your projects like Trello. Make collaboration easier, integrate apps, and maintain your schedule. Learn more productivity tools and other tips in this blog post: Practical Productivity Tips for Web Developers.
No matter how many clients you get and how well you do your job, you won’t stay afloat if you mismanage your cash flow.
Some things you can do to manage your cash flow:
- Closely track your income and expenses
- Cut costs. Spend only on things you really need. If you’re struggling, that cup of Starbucks coffee can wait.
- Stay on top of invoices.
- Have a cash reserve with 3x your monthly expenses. If you spend $5,000 a month, you should have a savings account with $15,000. This cash reserve should NEVER be touched unless absolutely necessary.
As your business grows, you need to outsource taxes and bookkeeping to a trusted accountant.
I recommend reading this blog post for more money management tips: How To Spend Your Money As A Freelancer.
How do I become a freelance programmer?
Now that we’ve painted a clearer picture of what freelance web development really looks like, you can set a realistic expectation and even reassess if it’s really for you.
If you’re still set on becoming a successful freelance developer, check out the Complete Freelancing Bundle for everything you need to get started.
I hope this article helped give you an idea of what it’s like to run a freelance web development business.
There are obviously a lot more points, so feel free to mention a few in the comments.
Cheers for now :)
- You can follow me on Twitter for freelancing tips.