One of the questions I am often asked when I meet fellow freelance developers is how do I find work? The answer is really simple: I don’t, work finds me!
This may just apply to Switzerland, the Geneva area, software development or me but I doubt it. I think it applies to any kind of freelance job, anywhere. And I also think this is hardly a secret :)
In order to have work find you, you need only one thing: a network of trust.
You need people you trust and who trust you. The trust factor here is important because you don’t need poisonous clients from hell, you need the best clients, those with the best projects and who actually pay the bills in time. And for a network to give you that there must be a safe and natural path leading the client to you.
Building a network
Building a network is not a matter of minutes and distributing name cards is only the beginning. It is about building relationships with people. Building trust among your network will be the subject of the next chapter, for now let’s see where you can find people to build your network.
First, you certainly already have a network. If you worked in the corporate world before being a freelancer it is composed of your former colleagues and bosses but also the people you were in school with. Some of them might become clients or referrals. Then you will need new friends, and the most important thing to make new friends is to meet new people. If you are the shy type then get over it or get back to corporate world.
To meet new people you need to find gatherings. Ask around you, use Google and social networks and find groups of professionals that gather regularly. Conferences are also good but you need to be able to follow up on the people you meet (you hardly build a trust relationship when you meet people once in a year). You can even build your own group if you are, say a Google AppEngine specialist but there is no local GAE users group. This is important: you need to meet people around topics that interest you! If you go to a RoR meetup thinking “I don’t care about RoR but if those guys have a Java project coming in they may refer me” then you are doing it wrong. Even if “those guys” get a Java project and cannot convince the client to switch to RoR, they won’t think about you because you were enable to connect with them during the meetup.
I will not discuss how to connect with people, there is no secret handshake and if you have relational issues may be you should consider working this first.
And then you will have to add your clients to your network. They are an important part of it because they have a unique point of view, they trusted you with their projects and they hopefully are more than happy with your work.
Another thing is that you will need your network to think about you. When the time comes, your name must be floating at the surface of their brain. With the advent of social networks this is something that has become relatively easy, so do not hesitate to use Facebook, Twitter et al. in addition to regular face to face meetings. Your network must hear about you, it must see your face and it must remember who you are. Obviously you need to stay relevant, you can share your passions and your wisdom but you also need to share useful professional information.
Building trust
This is the most difficult part, you must be recognised by your peers and be a point of reference for your clients. I only found one effective way to build trust (if there are others I will be happy to read about them in the comments) and this is to overdeliver.
For clients, overdelivering means exceeding their expectations. It can be in term of schedule, functionalities, quality or just being there when they need you. Or before they need you.
For fellow freelancers or colleagues it means sharing work and knowledge, helping them when they need help, without demanding or expecting anything in return. This can be done is several ways, participating in open source projects is one, giving presentations at meetups or speeches at conference are others.
If you think a project or client may be dubious do not refer it to someone else without the proper warnings. Likewise, do not send a trusting client to an unknown resource without the proper disclaimer. Never refer a client you would not take or a freelancer you would not hire.
Once enough people in your network trust you the network effect will kick in, some people will trust you just because others do and you will receive e-mails from people you don’t know who want to work with you.
And you? How do you find work?



Here is a small snippet of code that I use on applications deployed on Google AppEngine to inform users that the application is in maintenance mode. 


Facebook Pages Notifications
This is a problem for most page administrators and there is a 32 pages long (and growing) thread with people complaining about this missing feature. This is a problem because without such a feature you have to periodically crawl your own pages to check if anyone posted anything (status or comment) and get the opportunity to eventually respond to it, or spam it. I guess that since they won’t get notified about this thread the Facebook people will never notice the problem…
One proposed solution to this issue is to “like” each and every status update you post on your pages wall, however, beside the fact that liking everything you post may look a bit awkward, this does not gets you notified when someone posts a new status.
I have some pages I need to watch, so missing this feature was really a problem to me. And when it itches, I scratch… Besides, I wanted to experiment with the new Facebook Graph API.
So I created this application, it’s called “Watch My Pages!” and provides users with receiving daily e-mail notifications when someone posts a status or writes a comment to their pages wall. If you like it, have a problem with it or think about a feature, just drop a message on it’s wall, I’ll get notified ;)