Becoming a freelance coder is both easy and difficult. It’s easy because everybody can do it within a day or so. And it’s hard because most people fail miserably because they don’t know the right way of approaching this.
Maybe you are interested in coding, or maybe you are already very good at coding. But see, you’ve already approached this endeavor from the wrong perspective. As a freelance coder, you are first a business person and second a coder. It’s not the other way round.
Coding is not your #1 skill as a freelancer. Many coders who start at platforms such as Upwork, Freelancer.com, or Fiverr believe that they need to sharpen their coding skills before they can become successful at these platforms. Nothing can be further from the truth!
A much better strategy is to think like a business person: how can I solve people’s problems?
With this in mind, you can even approach people and ask them whether they would be interested in solving their problems. This skill is called selling and it’s the life-blood of any business.
So what you are essentially doing is to start by solving small problems, grow your skills as you solve them, and start to attack larger and larger problems for your clients. As you solve their problems, they will be happy and give you a positive rating. You’ll find it much easier to get more and more clients. At some point not too far in the future, you’ll have much more on your plate than you can solve alone. Clients are contacting you asking you to solve their problems. And they’ll refer you to other clients with similar problems. Heck, even the freelancing platform will propose you as a freelancer to solve their clients’ problems (they want to satisfy them). This is a good sign and it means that you have been quite successful in solving clients’ problems.
If you’re a coder, this is what you should do (pseudocode):
goal_hourly_rate = input("What's your goal hourly rate?") current_hourly_rate = 0 while current_hourly_rate < goal_hourly_rate: problems = make_list_of_problems() clients = make_list_of_clients() clients.contact("Can I solve your problem: " + problems + "?") solve_problem(problems)
This is the simple algorithm. You become aware of the problems in your industry. Guess if you don’t know them exactly. Then you contact potential clients outside of the freelancing platform (you can use the freelancing platform to find the contact info of the clients though). You ask them whether they would be willing to hire you if you solve one problem. If they aren’t, ask them what problems they have. Over time, you’ll get a pretty good experience in determining the problems of clients.
Then you attack the problem. No worries if it takes you forever to solve it. It’s just not relevant. You are on a path of continuous improvement and every follow-up project will become easier because of your experience, while finding follow-up clients will become easier, too. It’s hard at the beginning and very easy later–if you stayed in the game long enough.
Print the code and follow it to the letter and you’ll have no problem at all on freelancer platforms. If you still struggle, you can watch my free video about the state-of-the-art in Python freelancing where I give some hints of how to approach becoming a Python freelancer and how much you can expect to earn.
While working as a researcher in distributed systems, Dr. Christian Mayer found his love for teaching computer science students.
To help students reach higher levels of Python success, he founded the programming education website Finxter.com. He’s author of the popular programming book Python One-Liners (NoStarch 2020), coauthor of the Coffee Break Python series of self-published books, computer science enthusiast, freelancer, and owner of one of the top 10 largest Python blogs worldwide.
His passions are writing, reading, and coding. But his greatest passion is to serve aspiring coders through Finxter and help them to boost their skills. You can join his free email academy here.