Coding, is? Fun!

Sunday, May 03, 2009

Establishing an Internet Presence

I wrote about the administrative details of starting freelancing here. In the below article, let me talk about a few guidelines for getting clients.
When you plan to take the freelancing route, as I mentioned in the above article, be clear about your role: A freelancer in IT is usually a programmer (or graphic designer). You need to be ready to program and be hands-on.
You are NOT starting a business - for now. You are a one-man show initially. Do not be over-aggressive in going after clients. Do not commit to more than you can do. All the rules that apply as a programmer in a project applies to a free-lancer too.
There are certain possibilities for getting clients as a freelancer - let us consider these:

The GetAFreeLancer route
Here is a link to a set of freelancing websites for coding: 85+ Tools & Resources for Freelancing
When you start, it is tempting to look at getafreelancer or other sites and assume that you can bid lower than everyone and get projects. This route is completely packed with a million other programmers all over the world. The clients are mostly cheap and try to lowball every bid. They have no idea about the true value of programming and may not pay at the end either. I have seen people who ask for an Email campaign system for $200. It is ridiculous, and I would advise you to stay away from this route.

The NRI route
As I mentioned in the previous article, if you have been abroad for some time, maintain contacts with your immediate friends. This does NOT mean that you go after any contact like an Amway rep. Stay within your comfort zone but let people know that you will be available for freelancing. Open a LinkedIn.com account and keep it current.
In my experience, if you let people know that you are going back to India, they will approach you with offers. In this technological age, remote working is pretty easy and so feel confident about going into freelancing.

The Long Hard route
If you are in India, have not had time to cultivate contacts abroad, you can still get clients. But it is a long haul. You need to prepare from now. Most Indian programmers with a talent and passion for programming would be in the situation I describe below:
1. You will have had some years of experience (3 or more) in a services company.
2. You will have worked with foreign clients. You would have communicated with them via email,IM; you would also have interacted with them personally when they come over or you go abroad on short visits.
3. You know that there are a set of "soft skills" - writing grammatical English with some structure; how to organize your thoughts and write emails; and you understand a few foriegn accents. If you are not skilled at these, you atleast know that you have gaps and try to get better.

The method I suggest below takes a long-term view. It may not yield results immediately; but there is no question that it is a clean route to take.

Note: Most services companies have non-solicitation agreements. Based on those agreements, you cannot usually work with direct clients of your company for a time-period. So, PERISH the thought of freelancing directly for your companies' clients.

Establishing an Internet Presence
1. Register a web domain name with a good hosting provider. For now, go cheap. Think a bit about your domain name. Remember that you MAY grow to be a business at some point, so create a professional sounding name.
2. Make sure that you get a hosting provider which offers platforms with the technology you are most comfortable with - such as .NET framework and SQL Server if you are Microsoft; or PHP and MySQL if you are in PHP.
3. Google (and other providers) offers email services under your own domain. For example, if your site is www.mygreatcompany.com, then you can get email services for @mygreatcompany.com. Most hosting providers give you a way to map from the domain name to a third party email service such as Gmail. Use that and create professional email ids such as sales@mygreatcompany.com and an email address with your name.
4. Some hosting providers give blogging packages for a small fee. That way, you can host your blog in your site itself. Or you can try the route I chose - I have a blogspot technical blogging address (http://ramsnotes.blogspot.com). I link my articles from my website (http://www.alphazonsystems.com).
Having a blog is important. Having some backend such as .NET or PHP with database support is also important, even if your site consists of html pages only at this stage.
5. Have a graphic designer design a decent website. Develop it and make it available for public.

At this stage what is the content strategy for your website? How do you get traffic?
You have to create content based on your goals. Your goal is to be known as a good technologist. This website will be seen by your potential clients. They will NOT take a decision solely based on how good your content is, but it is definitely ONE of the factors. You are trying to gain popularity in the internet.
The best way to create content is to write blog articles. These articles can be of certain types:
a) Explaining a concept such as XML parsing or concurrency checks in a O-R framework.
b) Explaining a tip such as how to trace HTTP calls with Fiddler while browsing from Firefox.
c) Exploring a new technology such as Microsoft Silverlight or Adobe Flash Collaboration Service.

I have written a detailed article on the idea of blogging here. You need to learn to write well. Apart from writing articles, provide free code. People will always visit sites with free code. For example, if you wrote a business app based on Silverlight as a proof of concept, provide the code as a zip file, linked and downloadable from your website.
If you create good content, then there are two advantages from it:
1. Obvious one - people will visit your site; they will link to you. It serves as online credntials.
2. Subtle one - for every article you publish, send the link to your clients, friends and contacts. Put the link in LinkedIn.com, facebook and so on. What that does is it REMINDS your contacts that there is a talented guy/gal out there who is available. They will keep being reminded by your work. Let us say, instead, that you send an email every month telling everyone that you need contracts. people will not react favorably to that. But sending the blog link is a very subtle reminder.
I think this is the best way to use the internet as a marketing tool for personal work.

One big question is how far you can market yourself while STILL working for another company. If you look at my website, alphazonsystems.com, I am explicitly marketing myself. But I ONLY did it after I left my last job. Before that, the site was available and so were the articles. But I did not cross the line and ask for work for myself. I think that is safe. Maintain a website and post articles, but don't let your company feel threatened.

This internet presence you create will take time to accumulate. Over time people will link to you, download code. But you may not get actual clients who ask for services. That is fine. There are other indirect reasons it will help you.

The Website as Credential
As I said earlier, you cannot directly approach your clients. But your clients have friends and their own network. THAT is the network you can tap into. It is one level separated from your own network. If you impress the people known to you, they will refer you and remember you when someone is looking for a freelancer.
That network does not know you personally. But your website and the work that has accumulated in that website over a period of a couple of years will serve to convince them to trust you.
If you are passionate about technology and want to freelance anytime in the future, it is IMPERATIVE for you to establish an online professional presence. Start the process NOW.

So, again, the steps to create an internet presence are:
1. Create a website
2. Create a blog in your website or separately
3. Start writing a couple of articles
4. Popularize your articles by linking them in your website; linking them from your IM; Facebook; LinkedIn; and send emails with the links to everyone who likes technology in your circle.
5. Write frequently
6. Create demos in your website with free code downloads.
7. You can also write articles in online tech journals and link to them. It requires professional writing skills but you should try.

Back to my original point, you require this kind of long haul approach to seeking clients for freelancing. Particularly if you do not have many contacts abroad.

Labels: