Every venture off every entrepreneur struggles in the initial stages and developers and freelancers are no different.
I share my struggles as a freelancer when I wanted to quit my high paying job in an MNC to be a freelancer and when I started doing freelancing.
My last job was in C# but before C# I was working in C++.
I was into my third job already before completing my 12 months of corporate India and had made a move from Visual Basic in the first job to Web and SEO in the second job to C++ in the third one.
Few months in my third Job and I was running out of reason to make a switch again and this is when I was determined of doing something of my own.
1. Quitting Job
The biggest struggle for any freelancer is to quit the job.
Took me very long time before I could quit my job. When I was all set and ready to quit, I was given a big fat raise not because I resigned but because my employer moved me from being a contractor to an employee.
Contractor means I worked in Lexmark but was on Payroll of RS Software. Lexmark decided to make me an employee of Lexmark and it meant I almost doubled my salary which made it really tough for me to quit.
I decided to continue because I didn’t want to sound like a foolish who quits his job when his salary is almost doubled.
As I was decided to continue, things become really tough to be a freelancer because it raised the bar of my income level that I need to achieve as a freelancer.
2. Choice of Technology
Most experienced technologies for me were C++, MFC and Win32.
The last technology was in C# and it was really fun working in C# but this love and fun were the first struggles of my freelancing steps.
- Should I freelance in C++ where I have maximum experience of 2 years and I loved C++ when in college as well?
- Should I continue freelancing in C# where I have more recent experience? Should I continue doing the job for some more time to get more exposure to C# if I want to be moving with C#?
- Should I opt for a new technology like ASP.NET or Java which are more in demand on the web? Java being a more obvious choice for a C++ programmer.
When I became a freelancer, I hired a company in Mumbai who can create me a clone of RentACoder.com and I called it GlobalDevelopers.net.
The company handed over to me a complete shit of code for $600 and they took ages to make any changes needed. Instead of telling them to make changes, I started doing it and found their shitty code. It was my first hand in PHP.
3. The First Client
Once you have so many technical expertise, finding your first client is almost impossible. No one can be an expert in C, C++, Win32, MFC, Java, and can get clients in in PHP.
So you have to make a choice and this is a struggle for a new freelancer who is just starting out. An expert who can handle client’s requirement for a website without any prior experience is tough. Even getting the hosting could be difficult, luckily there are lots of hosting providers that will fit into your budget.
I had to make a choice that I thought is good and will have enough clients but in the back of my mind, I knew any one of the programming languages that I chose will be a good choice.
I was moving towards PHP due to the website that I was working on but had some experience doing C++ homework help kind of projects in RentACoder.com.
But after a lot of struggle, I had my first client in PHP and it was because I could show my client a sample of my own websites.
I still remember my first client actually rejected my proposal because I did not have the expertise on what he exactly wanted but saw my sample as promising. He informed me that if the person he selected couldn’t get things done as he wants, he will hire me and voila, the other person wasn’t able to deliver what client needed and this is how I got my first client.
4. The Marketplaces
People think that things are a lot easier after you have your first client but it is so wrong.
If you don’t have your first client, you know freelancing is not working for you and you can make a move in the direction of getting clients but once you have your first client, the struggle is to be able to find a continuous source of clients on a regular basis.
For me it was, will Elance be a good source of clients or RentACoder a better choice?
Your first client’s feedback may not be enough for you to convince the second client that you are an awesome developer. So should you be trying other freelancing sites?
Things are still the same where you have even more choices to decide. Will it be Upwork, Freelancer.com or PPH or any other best freelancing site?
5. Understand Client Requirements
As a developer making a move towards freelancing, you may not be able to judge the complexity of the whole project straight away.
I had a lot of issues.
A simple example can be when a client says they want to clone a website, you may understand client needs the functional aspect of website but the client may want both the functional and design.
Once you show to a client with your ready prototype, the client may give feedback like nothing has been done because the site does not look like he wanted and this is when you understand the complete requirements.
6. Language and Dialect
Technically you have started understanding what client wants but things can get real tough when you have issues understanding the language and dialect of foreign clients.
Even today I have issues understanding the English language of some of my clients from Spain or Germany where they speak English lot differently.
7. Building The Website
2004 was an age of user generated content and niche communities. Clone of RentACoder did not work out but it helps me convince I should not be re-invent the wheel with the forum but the struggle was with the choice of the forum software.
Free or a paid one. When you have burnt your fingers with trying to build a website, the obvious choice is free one but I wasn’t convinced with free choice of forums scripts.
I wanted the site to be like the forums I was regular on. I was a regular member of SitePoint forums and high rankings forums. Sitepoint was on vBulletin back then but the high ranking forum wasn’t on vBulletin but it wasn’t on phpBB either.
So I was sure I had to go with a paid script.
So after doing a lot of research and reading lot of articles and solutions, I finally decided to go with vBulletin.
8. Information Overhaul
Once you have a choice to decide, normally we tend to do a search about pros and cons of each choice.
It is not that you will find like one is better than others but what you will find is someone prefers one over the other.
This is true to this date but the struggle was many folds because there weren’t many individual bloggers who you can look up to.
It was an era of SEO and affiliate marketing and often websites were referring products that they can get paid for. So you have to learn to weed out those products reviews that weren’t genuine and were only for the sake of affiliate commission.
The information and answers were within forum discussion or in Yahoo answers and that too not as detail as they should be on why someone prefers one over another.
9. Social Pressure
Once you are a freelancer, you work from home. When you tell someone you work from home, they tend to think you aren’t doing anything.
In 2017, it is quite easy to say you work from home but it was almost impossible to convince someone that you are doing good working from home back then.
I even thought of renting a place to call it my office but then decided against it as it was an unnecessary expense and being in Kolkata back then I was horrified about traffic jams and wasting so much just to get started working.
10. Manage Finance
When money starts to flowing in, you have to decide how to make full use of it and things got really bad for me.
Money was being deposited into my bank account on a more consistent and regular basis and I was horrible managing it.
I remember I had a big fat tax that I needed to pay once just because of my negligence to invest in tax saving scheme.
I am still learning the process, but I can say that I was horrible back then. Even telling myself horrible at managing the finance may be a good way to put it.
Some blunders of expenses, some blunders of investments and lot of negligence.
Even experienced people struggle to manage money and finance and glad I started it.
11. The Learning Curve
Being a developer you have to always keep up with the things and cannot be complacent about things that are working currently. Your focus shouldn’t be only on things that are working now but should also focus on your learning curve.
We move to new things when old things have gone out of business and it has happened to me often. I was forced out of vBulletin and into xenForo and not out of choice but out of compulsion.
As a freelancer, you have to decide to make a move and not wait till you are forced to make a move.
There is no room for complacency in this era of technology and it is even true for jobs.
Some of my past colleagues were or are in the firing line and were considered well settle in their jobs back then. A situation where if you are doing the same work for an elongated period of time and if your salary keeps on increasing, you can have a tough time when it becomes inviable for a business to pay you more or pay even what you are being paid. This is when you are fired.
Keep learning and evolving.
12. Managing Personal Life
As you start to get more and more clients, you start to make more and more money and naturally, your working hours stretches beyond a point a to the limits.
This can mean you have less time for your health and family.
Balancing work hours and calling it a day is tough for a freelancer and I am sure every developer freelancer has struggled with it.
I was in a situation where I used to start 8 AM in the morning and was working till 10 PM at night. Slowly I managed to limit my time to my clients.
To make the situation worse, clients are in different time zone and they may start things when you are leaving. The client may not remember your time zone all the time and so you have to let them know that you are available only from so and so time.
13. Jack of many trades
If you are a developer, you will still have to know the basics of slicing a PSD and design and how to use photoshop.
As a developer, if your clients want you to replace the logo on the site and if he has it in PSD, you need to be able to use Photoshop to extract the right size logo for the client.
I am not a designer and cannot make those pixel perfect designs but being a web developer need to know basics of web design.
Knowledge of web design does not mean I can take up web design jobs. If you don’t define your expertise, you may be working in many different technologies because you may be the preferred freelancer for your regular clients.
I don’t do web design or SEO work for my clients anymore. I have so many clients who want me to be doing SEO but I limit marketing and SEO to only consulting for clients.
14. Payment Methods
If your clients want you to use a particular payment method, there is very little that you can do about it. You have to sign up to the new payment method and deal with all the paperwork so the money gets deposited into your bank account.
Some methods have high charges and there is very little that you can do about it.
When I started, I only had PayPal but many of my clients wanted me to use Moneybookers (now skrill) and so I had to get the account with them, get it verified, do all the paperwork done to make sure got the money into my bank account.
Same was the case with Payoneer or Transferwise or any other payment methods. After using Transferwise I would love all my clients to be paying with Transferwise but haven’t had any clients willing to use them.
15. Global Currency Fluctuations
When I started freelancing $1 was around ₹50+. It then went all the way down to ₹45 and I made a lot less than I was making though I was working the same amount of time and client paying me the same amount.
I was lucky enough that it started moving higher and today is close to ₹68. It has been a uni-direction since ₹45 to ₹68 for USD but it will not always move in a direction that may suit an Indian freelancer.
In 2014, I had big clients where we agreed on an hourly rate in pounds. USD to INR was moving higher (went from 60ish to 65ish) but GBP to INR was moving down (moved from 102 to 90) and I was making a lot less per hour for that client than those who were paying me in USD.
The global currency fluctuation helped me immensely to keep my hourly rates in USD terms under check for my clients but someone trying to be a freelancer today may not see a similar trend in his local currency to USD.
Over to you
Have I missed any of the struggles of new developer freelancer?