I can tell from experience that freelance programming is not an easy game to play especially for those who are just starting out. Your experience, skills, and credibility will really be put to the test when you come face to face with the client. Typical question such as the following will be asked.
Can you really do the job? For most programmers, the answer to that question is a resounding YES. I bet that it’s true 99% of the time.
Do you have an experience with ASP? Then you begin telling the guy that is he already obsolete. And then in an instant you become a .NET evangelist trying to convince them to upgrade to ASP.Net.
Have you done a similar project in the past and can customize it to fit their requirements? This type of client knows what he is about to do — which is a good sign — you must be prepared to give a no nonsense response.
It’s a jungle out there. In this article, I’d like to discuss two of the most important qualities that every freelance programmer must possess in order to survive in the jungle.
The Right Aptitude
I don’t mean having an IQ Level approaching that of a genius. But you have to be at least an expert in rendering your services. And no, you don’t have to know it all. There are just too many different tools out there and technologies change rapidly that it is impossible for one person to master them all. Have you met a guru who talks so much you think he knows it all? Sheldon Kopp warns us, “If you meet the Buddha on the road, kill him.” Well, I say “If you meet a technological guru on the road, run away from him.”
Grab a hold of the fundamentals and build a solid technical foundation because everything starts from there.
By having the right aptitude, I mean having the proper knowledge and skills in using the tools and technologies available at your disposal and applying them, when appropriate, to the problem faced by your client. That requires that you have to be thoroughly familiar with your tools, its API’s, its object model, and its strengths and weaknesses. Do you know how to extend the your tool? Should you do it yourself or look for a company that can assist you in doing it? You should be able to provide the solution or know where to find it.
The Right Attitude
I don’t mean being so kind and generous you always act like a saint or render your services for FREE.
As a freelance programmer, brace yourself for you will definitely get a chance to meet
clients with varying temperaments and behaviors. Some are so wonderful meeting them
in the conference room gives you an aura of confidence that lasts until you go home. Some can be so mean they scream at you when you greet them creating the hell of your day. If you stay long enough at your freelance profession, you will encounter the good, the bad, and the ugly clients.
Building the right attitude starts by keeping in mind they are, first and foremost, complex human beings. And recognize that you too exhibit these behaviors — hopefully in a controlled manner — at some point in time. Learn to separate people from their behaviors. Learn also to separate people from the situations.
Whoever said that the customer is always right even when he is wrong, must be a business genius. You have to at least believe it to be true to stay in business.
Technology and Your Client
Having the right aptitude allows you to master the technology and tools you need to get the job done and eventually help your client solve a specific problem. Right attitude allows you to build a mutual business relationship with your client.