How to Get Freelance Programming & Coding Jobs Online for Beginners

by Aug 20, 2020Freelancing

I know – it’s HARD to get freelance programming jobs, especially if you are a beginner in coding.

Most freelance programmers are not good at marketing or selling themselves. But with a few simple tips, you can definitely beat 90% of your competition out there, and get the coding jobs that you want – earning money from home without any investment. Coding is extremely high in demand (after all, software is one of the best industries to start a business in 2020!) and freelancing is a great way to make money online for beginners.

Here’s how to snag that freelance coding job – in 3 simple (but definitely not easy) steps:

  1. Decide on your coding specialty
  2. Beef up your programming résumé
  3. Apply for freelance programming jobs



1. Decide on Your Coding Specialty

With so many different programming languages, it’s impossible to be even remotely competent in all of them. Don’t make the mistake of trying to do everything. Instead, focus on ONE programming language or specialty that you will be really good at. It’s way better to be 100% on ONE thing than to be 10% each on 10 things.

The market places a premium on specialty knowledge, not generic knowledge. If I’m looking for a PHP programmer, I want to hire someone who only does PHP and nothing else. In fact, I’m willing to pay a premium for someone to be an expert in this niche, as this will ensure my project has a higher chance of success. (See also: Advantages of segmenting the market)

Here are some rules of thumb you can consider when deciding on your programming language of choice:

  • If you want to build a Mac or iPhone app, learn Swift.
  • If you want to build Android apps, learn Java.
  • If you want to work with WordPress, learn PHP.
  • If you want to build web apps, learn Ruby (on Rails) or Python (Django).
  • If you want to work on big, complex, data-driven sites and apps, learn SQL.
  • If you want to build games or audio/video apps, learn C++.
  • If you want to build windows apps, learn C#.
  • If you want to build modern websites and web apps, learn Javascript.
  • If you want to build scripts, learn Python.

As you get more advanced, you can specialize even further by focusing on specific niches within that programming language. For example, you could become an expert in machine learning using Python, or in WordPress plugin PHP development. You could even specialize in niche markets like Shopify’s Liquid template language to help entrepreneurs with starting an online store with no money. You can also check out our list of niche market examples, in order to target specific market segments.


2. Beef Up Your Programming Résumé

Showcasing your talents and skills is absolutely critical in getting a freelance job in programming. After all, nobody wants to leave their project at the hands of an inexperienced coder.

Here are some suggestions which you could beef up your CV/résumé:

  1. Take online courses on programming and software development. Try to go deep, rather than wide. For example, if you have decided to be a Python programmer, go all in and learn all about Python programming, instead of delving into all sorts of other languages like PHP or JAVA. The market places a premium on specialty knowledge, not generic knowledge. Some places where you can consider online courses are: Udemy, EDX, Coursera, Codecademy, and Lynda. Don’t spend too much time learning though. Get your hands dirty, and start simple projects as you learn. Learning never stops in programming – you should always keep learning even as you get more advanced. If you want to broaden your skillsets, you should learn complementary skills, rather than unrelated ones. For example, if you are already an expert in PHP, you could pick up some basic JavaScript and JQuery to broaden your related skillsets in WordPress programming.
  2. Start a personal, simple programming project which you have a keen interest in. This could be something that would solve a particular problem or automate tedious work for yourself and other people. Don’t make the mistake of starting a huge project which would take you months to complete. Just start something really small. Think “minimum viable product”. Having a small but completed project is obviously better than having a huge but incomplete one. You can then include this project as part of your personal portfolio.
  3. Look at the Facebook groups you have already joined. What common themes are there? Ask the people inside the groups, “If there’s a software tool that can help you solve a particular you are facing now, what would it be?” See if there’s something simple enough for you to build a project around.
  4. Start a GitHub profile and upload your small projects onto GitHub. This will make your projects searchable and increase your visibility and authority as a programmer. From your portfolio, CV, social media profiles, create links to your GitHub profile, to make yourself look more legit as a coder.
  5. Create your portfolio online and showcase the projects you did for people around you and the projects you uploaded in GitHub. You could do this with a simple webpage or creating a PDF portfolio that you could then send to potential clients.
  6. (Bonus) List down all the people whom you have worked with before. They could be your past or current colleagues, acquaintances, and associates. They could also be people whom you have helped online – whether in programming or non-programming related work. Then ask these people for a short testimonial. You could ask specific questions like “How was it like working with me?” and “What are my strengths and weaknesses?” Extract all the good points about you, and use these testimonials in your portfolio. This would help tremendously for future clients who want to know how it is like working with you.


3. Apply for Freelance Programming Jobs

Create a short writeup on your profile, and your skills and experiences. Make sure to be concise, achievement-oriented, descriptive (include keywords), truthful, and be free from grammatical errors. If English is not your native language, I recommend getting a native English writer from Fiverr. Often I have seen badly written profiles that go straight into the trash bin, no matter how good the candidate could be. Spending $5 for an expert to go through your writeup can be worth a ton.

Here are some of the best freelance websites for beginners – when it comes to programming jobs:

  1. Upwork
  2. Freelancer
  3. FlexJobs
  4. Toptal
  5. We Work Remotely
  6. Hired
  7. Fiverr
  8. PeoplePerHour
  9. Indeed

Use your profile writeup to upload your profiles onto these websites and also to apply for your programming jobs.

Some quick tips on applying for these freelance coding jobs on these website portals:

  1. Recruiters usually search for certain keywords (e.g. “PHP developers”) so make sure your profile title and description contain these important keywords.
  2. Position yourself as an expert in ONE niche, rather than a generalist who does 1,000 things.
  3. Make sure to read the job description before you apply – is this job what you really want to take up?
  4. If employer ratings or reviews are included, make sure to go through them before you apply. Try to apply to employers that have experience in recruiting online.
  5. When writing cover letters for these jobs, you may copy and paste your generic writeup, BUT make sure you tailor it quickly according to the job description. For example, if the job description contains “looking for a Python developer who is good at problem-solving”, you could definitely increase your chances of your cover letter being looked at by including the phrases “Python developer” and “good at problem-solving”.
  6. When first starting out, getting great client ratings and testimonials is really key to landing more jobs and commanding a premium hourly rate. You want to look for clients who have a track record of giving generous testimonials to freelancers. Then aggressively bid for these clients’ projects. Start off with easy projects that you can land testimonials with. Once you have these “social proof”, landing more gigs becomes easier and easier. Avoid clients who are stingy with testimonials or generally give poor ratings to freelancers. Once you are stuck with a poor rating, it’s hard to get back up.


Final Thoughts

Once you learn how to start freelancing work, you will soon get busy with gigs. It’s a good idea to pause once in a while to take stock of what you have achieved and plan your next steps. While it’s always good to have income from freelancing, you may soon reach a limit in terms of how much more time you may put in.

When you are reaching your limit, here are some suggestions for your next steps: