For the last 18 months, I am working from home as a professional freelancer. I have put together a mini-guide on how to become a professional freelancer in 7 steps.

Step 1: Choose a technology

Not all technologies are suitable for freelance positions. Java, C, and C# have a huge following. But most enterprises which use these programming languages prefer to do it onsite. In my limited experience, I have found the following technologies suitable for remote freelance jobs.

  1. React
  2. Angular
  3. React native
  4. Node
  5. Python
  6. Go
  7. Rails
  8. PHP

It is easy to pick Udemy or Pluralsight courses and improve your skill.

Step 2: Answer questions in StackOverflow

As you learn, practice coding. One way to improve your programming skill is to answer questions in StackOverflow. Build your StackOverflow reputation. I recommend a minimum of 1000 points in StackOverflow in your area of expertise. StackOverflow also has remote jobs. So, having a good reputation in StackOverflow boosts your chance of getting a remote job.

Step 3: Build a GitHub portfolio

Have a few portfolio projects on your GitHub profile. A portfolio project should take a couple of weeks to complete. It illustrates your knowledge and how well you can apply it. Your GitHub project may not be forked or starred by a lot of people. But having it makes your intentions clear. You want to build a career around your chosen technology.

Step 4: Create a WordPress blog

Setting up a blog should probably be Step 2. I deferred it to Step 4 because it will cost you some money. Buy a domain name in GoDaddy. Use the domain name to set up your WordPress blog in BlueHost. This will cost you $100 /year. But having a blog helps you to attract potential clients. In your blog, set up a page where you highlight your skills. Mention that you are available as a remote freelancer.

Step 5: Create an Upwork profile

Upwork is my preferred destination to get freelance projects. There are other places. But Upwork helps to streamline your business development and payment realization process. It helps you to understand what is involved if you want to manage projects on your own. Bid for 30 projects in Upwork. There will be roughly 3 interviews. And hopefully one of the interviews will land you in your first project.

Step 6: Use Adwords to get clients

In Step 4, we created our blog. If Upwork is not helping you get good clients, build your business using your blog. Spend money on Adwords. Set up ads which will direct potential clients to the portfolio page on your blog. Hopefully, you have a few leads within a month or two.

Step 7: Set up time tracking and fortnightly payments

Upwork has a time tracker and weekly payments. But if you get projects through your channels, LinkedIn or Blog, then set up time tracking with HubStaff. HubStaff has a time tracker and reports to track your payments. Ask your client to subscribe to a HubStaff plan for $5 /month. It is cost-effective. And I highly recommend it.

If you need more information, please comment and I will respond as soon as I can.

7 Steps to become a professional Freelancer
Tagged on:
  • Hi Vijay. Thanks for the article. All great points. Would be awesome if you could do a follow up article on your 6th point – the AdWords bit. Would like to know if it has been effective for you, what kind of articles you write and keywords you bid on.

    Thanks again.

    • Thanks for the feedback, Saurabh. I am not an expert in Adwords. Also, when I run a campaign, I have not checked if an email enquiry came to me because of the campaign. I get email enquiries, maybe, twice a month. I have not seen it go up because of a campaign. In any case, I do not spend much money on Adwords. I will try to develop a better understanding of Adwords over time. Thanks again for your feedback.