Becoming a successful freelance web developer is not always an easy path: it requires a lot of hard work, focus, and above all, patience.

Still, the perks of being your own boss, setting your own schedule, and choosing your own clients can make it worth weathering the storm. Today, we’ll go over the basics of what it takes to be a great freelance web developer.

If you’re thinking about taking the plunge or have already made the switch, this is the post for you.

Choose a niche

Pick a speciality. You don’t have to be a jack of all trades, especially when you’re just starting out. Think over what fields interest you the most and what kind of freelance opportunities are out there.

Focusing your area of expertise within a niche will help set you apart from the crowd and put your in higher demand. Meaning, you’ll have more clients to choose from and be able to charge higher rates.

Diving in  

In the beginning, start working to build up your technical portfolio. Using services like Elance or Guru, you’ll be able to bid without a previous portfolio (meaning your chances will be even better if you’ve got one!). This is not the time to be picky – this is the time to get as much experience as you can without overdoing it. This means, honing your skills, but also learning to navigate the tricky waters of client relationships.

Clients are the bread and butter of freelancing. After all, no clients means no business. But while they are the life force of your work, they will also be the most difficult part of your job. Some clients will be great people to work with, while others will be terrible. Be patient: learning how to find and recognize great clients takes time.

Discipline, discipline, discipline 

Work hard and care about your projects. This is the best way to build a good rapport with your clients and a great reputation as a freelancer. A key element to remember is discipline. 

Learning to be disciplined is another major challenge of freelancing. While it may sound nice to set your own working hours and spend the day in your pajamas, you need to work out a productive and sustainable work cycle if you want to survive.

You might find it helpful to start applying a time-management methodology to help you organize yourself, e.g. Getting Things Done (GTD). 

If you’ve never used a time-management method to keep yourself on track before, the Pomodoro Technique is a great place to start. The main idea is that periods of work are broken into 25-minute intervals separated by short breaks.

The best part? All you’ll need is a timer, a piece of paper, and something to write with.

The 5 basic steps:

  1. Choose a task from your To-Do list
  2. Set your timer for 25 minutes
  3. Work until the timer rings and record the interval as an X
  4. Take a break for 3-5 minutes
  5. After four 25-minute intervals, take a longer break for 15-20 minutes

Sound familiar? The Pomodoro Technique has inspired several software applications, like Chromodoro and Node timer. It also closely resembles some development techniques that are often applied in software design.

Honesty and communication 

Be transparent. It’s easy to bite off more than you can chew or get overly ambitious about what you can handle. Make sure that you approach jobs with a realistic perspective on what you’re capable of and keep your clients in the loop. This can make all the difference in winning a bid, completing a project, and maintaining a good relationship with your clients.

It’s also critical to tell your clients the truth, even if it means saying no sometimes. Remember, you’re the authority and they are paying you for your expertise. If you think something is unrealistic or not worth the time (or money), tell them. Just make sure that you’re tactful when you do – it’s part of your job to break the news gently.

Own up to your mistakes

You will make mistakes. You’re only human. However, it’s how you handle these disappointments that will make all the difference.

If you happen to mess up, make sure you deal with it in a direct and honest manner. Clients, like you, are human and most of them will be understanding and forgiving if you own up right away.

Offer a sincere apology, accept full responsibility for your error, and make sure you fix it! Make amends by offering them a discount or work some hours for free – just tell them how you plan to make it up to them.

Billing and payment  

Bill your clients in a timely and professional manner. Being able to provide your clients with professional and detailed invoices helps to build trust and will allow you to follow up immediately if payment is overdue.

It’s best to use an online service or desktop software to help you handle invoicing, expense reporting, and time tracking. Using a tool to handle client management frees up more time for you to focus on your work and serving your clients.

Here a few great options to check out:


In addition to billing, payment options is another crucial part of any freelance business. Consider breaking up your payment with an up front fee (i.e. half of your estimate up front, the remainder on delivery). If you’re working on a large project, it’s a good idea to discuss payment for specific project markers or pre-determined intervals.

You may have also encountered problems with receiving payment on time, or getting paid at all. If you’ve had problems in the past, these tips could help you avoid getting burned in the future:

  • Set clear deliverables (i.e. what you are supposed to provide and when)
  • Include a “kill fee” to protect yourself against projects that are cancelled after you’ve already started working
  • Try to avoid turning over your final work until you’ve been paid
  • Always make sure that you have a contract

Keep up with your marketing

Most of your business will depend on your ability to sniff out leads and create your own “buzz”. If you want to keep your costs low, get on Twitter, start a blog, or create an online portfolio. Contributing to open source projects like GitHub is another great way to showcase your work, while teaching and sharing with others.

Sharing your knowledge and experience is often the best way to demonstrate your abilities. It is also a wonderful way to generate a following, which can yield new leads and work opportunities.

Channel that Zen attitude

Don’t lose your nerve and don’t be too hard on yourself. Freelancers must deal with an incredible amount of mental strain and stress, so give yourself a break sometimes.

Low self confidence will not help you on the playing field, so remember that negative reactions to your work are not a direct reflection of who you are as a person.

Just keep in mind that you have experience about something that is not common knowledge! You have something to offer!

Now, it’s your turn. 

Are you a freelance web developer? What else would you add to this list?Share your knowledge in the comments below or on Facebook. Or, you can always tweet us @testomatocom.