I actually get this question a lot. Everyone seems to want to work from home or from anywhere without having to deal with a boss. Well, it’s undoubtedly great to have the freedom of location, but you need to know the pros and cons of working as a freelance programmer first by reading this article “The pros and Cons of Working as a Freelance Programmer“. But this is not the topic of this post. In this post I’m going to assume that the pros outweigh the cons in your situation. So let me dive into the answer of this question “How to Start Working as a Freelance Programmer?”
First of all, there are few steps you need to follow in order to be able to work as a freelance programmer:
1. Choose a specialization
The first one is to specialize in an area and be very comfortable with it. E.g., if you want to work as an Android Developer then it’s mandatory to have at least intermediate knowledge of creating Android apps, meaning that, you’re able to create general purpose usable Android apps. You don’t have to be an expert in the area but you have to have the knowledge and skills that will let you work comfortably. And you will learn more as you create more advanced projects.
2. Build a portfolio
When individuals and startups look for freelancers, they want to know what projects did you work on, what have you achieved, and what your skills are. If you put yourself in a startup shoes you would want to hire someone who can get the job done, and the best way to find out the ability of that programmer is to check their portfolio. Moreover, your portfolio has to contain genuine information and projects that you really created yourself. NEVER cheat, because if you do then it would first ruin your reputation and you would be exposed sooner than you think. Therefore, be authentic so that you get a long term relationship with that startup and you will get the possibility to grow and charge a big chunk of change for each hour you work!
The best way to display your projects so that employers check them out it through having a personal website. So it’s important to get a website with your name like for example if your name is John Brown then get a website: www. johnbrown. com And if the name is not available then you can get a creative name such as www. ProgrammerJohn.com or www. MrProgrammer. com.
You can check domain name availability using this tool:
I would recommend using BlueHost to register a domain with your name and display your projects in it. You can get a FREE Domain if you pick a hosting plan using this link BlueHost. That way you will look professional and employers will trust you and they’ll know what you are doing.
What I mean by “volunteer” is to find individuals or startups and do a piece of software or solve a problem for them and in return get a review either in one of the freelance websites or in your portfolio or both. This way you will collect some reviews that will make your life easier as you apply for future projects. Remember to reach out to these individuals and startups, you can find then on freelancing websites or locally, once you reach them offer them your service in exchange for a review. That way you will get experience and improve your skills too.
4. Start with People you Know
Once you have a domain with your portfolio, and possibly some reviews from volunteering. I’d highly recommend starting with people you already know. Start with your friends and family. Reach out to them and tell them that you can create a web development work for them or write some code for a project they have, etc. The reason why you need to start with people you already know is that first of all, it’s easier for people that you already know to trust you. Secondly, they will introduce you to people they know which means more clients and more projects.
4. Actively Apply
There is no magic in the world, if you want to get hired as a freelance programmer, you have to look for jobs and projects and apply. Even if you work with friends and family, at some point you will need to grow bigger. Thanks to the internet, many websites now can help you find projects and clients that need help from programmers just like you. You can find them on freelance websites like freelance.com, upwork.com, peopleperhour.com, fiverr.com many more. Also you can look for local businesses in your city, reach out to them, find out what they need and offer your services. Remember that you will get rejected a lot, either online or offline. The key is to find out what you did wrong and avoid it, and try a different approach by discussing their needs NOT yours. This way you will get a higher chance of being accepted.
These were the main steps you have to follow in order to start your career as a freelance programmer in any tech are where I be web development, UI design, Android development, iOS development, etc. If you want thorough details you can get my book “How to become a successful freelance programmer” where I explain thoroughly how to become a freelance software developer.