Tips for successful freelancing

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just freelance work. I’ve learned a few things about successful freelance progrramming.

Do what you know how to do
Clients pay you to solve their problems. They aren’t interested in how cool Haskell is, and they don’t want to pay you to learn new tools and languages. I can’t count how many projects that I’ve taken on after the original programmer quit or was let go because he got in over his head. Expand your skills to stay competitive and don’t fall in love with languages du jour for their own sake.

Stay with the herd
If you have an exotic in-demand skill by all means use it. But if you decide to learn Lisp because you see Lisp freelancers making top dollar, think hard about how you will compete with them. Sure, there are lots of PHP programmers out there, but most of them are amateurs you can easily compete with, and there’s more than enough PHP work to go around. It’s much harder to compete with skilled and experienced experts for a small number of jobs. You want to do what everyone else is making money at, but better, so you’re playing basketball against a team of sixth graders, not trying to join the NBA. 

Don’t try to do everything
Be careful you don’t get buried doing technical support, hardware installation, design, art production, etc. Stick with your competencies. Find other freelancers who specialize in the things you don’t do and send them business, and they will do the same for you.

Don’t take jobs that are too big
If the project is too hard to describe on a sheet of paper, or it has a schedule spanning months or years, be careful. Big projects are usually too much for one person. If you are tempted to take a big project try to break it into smaller projects with shorter-term deliverables so you and the client see progress and accomplishment.

Avoid bad clients
If the client seems angry, bossy, stingy, greedy, abusive, too demanding, too controlling, etc. step away. You will find other clients. If you can’t imagine a professional and rewarding relationship with your client, or if you feel dirty about whatever it is they are doing, say no. 

You will get most business from referrals
Do a good job, leave your clients happy, work with other freelancers and develop a network of people who will recommend you and send work your way.

Don’t bother trying to look like a “real” business
Plenty of entrepreneurs get caught up accumulating the trappings of a big company. You don’t need a fancy web site, letterhead, office, etc. You probably don’t even need to form a corporation or LLC. Unless you have employees or manage to bill for 72 hours every day you won’t make enough money to justify anything elaborate or supposedly “professional.” Your clients won’t care that you work from home and don’t have all the trappings.

Use source control and issue tracking
Learn how to use source control and web-based issue (bug) tracking. Keep a wiki for each project documenting the requirements, questions, and decisions. Use the tools yourself and get your clients to report bugs through the system. I use ProjectLocker, there are other cheap hosted solutions out there. Don’t waste your time setting this up on your own servers.

Keep track of your time and bill regularly
The best way to get paid is to keep track of your time accurately and bill your clients regularly. I prefer to work hourly and send invoices every two weeks. You don’t need a full-blown accounting system, there are hosted time tracking and invoicing solutions like BlinkSale that do most of the work for you.

Don’t subcontract
I recommend working with other freelancers, but I don’t like subcontracting work out. Chances are you will spend almost as much time explaining the project and reviewing the work as you would spend doing it yourself. Any programmer as good as you will cost as much anyway; if you think you are getting a bargain with a $12/hour programmer you found on Craigslist, good luck with that. If you take on more work than you can handle try referring it to another freelancer who will return the favor.

Use agile development techniques
Clients like to see progress. Misunderstanding requirements is the most costly mistake you will make. Agile development, with short-term deliverables and frequent reviews will keep your client happy and keep you from going off in the weeds. You don’t need to sell your clients on agile, they don’t care anyway. Just tell them how you do things and what you need from them.

Keep your clients informed
Post all work online so your client can see what you’re doing. Programming is mysterious enough to most people, so keep your work visible so clients feel comfortable with you. I’ve found that an agile, transparent process heads off billing disputes, and once clients get used to your high customer service standards they are less likely to give work to other freelancers.

 

35 comments ↓

#1 Alex on 04.02.09 at 9:30 am

All nice tips, but there is one missing: How to get the first clients! :)

#2 ricky on 05.20.09 at 6:55 pm

Nice. I couldn’t agree more with the subcontracting bit. I’ve been preaching that for years (my old boss was like, “I want you to get out of the mode of coding/designing and more into subcontracting, but I set him straight by taking his clientele)

#3 Vivek Soni, Strong theoretical - yet practical - and technical background with a Master of Computer Science (with Business Option). on 08.22.09 at 12:41 am

[...] http://typicalprogrammer.com/?p=111 (0) Comments [...]

#4 Twitter Trackbacks for Typical Programmer - Tips for successful freelancing [typicalprogrammer.com] on Topsy.com on 08.31.09 at 2:07 am

[...] First Tweet Jan 16, 2009 jjrumi jjrumi and the 2nd) http://typicalprogrammer.com/?p=111 view retweet [...]

#5 DynV on 01.23.10 at 2:17 am

Very good tips. I found some of those the hard way, getting bad clients or over your head really suck !

#6 Typical Programmer – Tips for successful freelancing | Jake Hackl on 02.03.10 at 11:11 am

[...] tips for freelancers: Typical Programmer – Tips for successful freelancing. Categories: Tech Tags: Comments (0) Trackbacks (0) Leave a comment [...]

#7 Php Programmer on 04.08.10 at 11:59 pm

Good useful tips…

Thankz for sharing it.

#8 eagle84yandexru on 05.17.10 at 11:50 am

полезные тексты…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just[...]…

#9 D1ze1 on 05.17.10 at 6:09 pm

интересное…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just[...]…

#10 f4ud on 05.17.10 at 9:33 pm

ссылки…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just freelance work. I’ve[...]…

#11 Deza on 05.17.10 at 11:49 pm

записать…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just[...]…

#12 botliks on 05.18.10 at 1:48 am

полезные ссылки…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just freelance work. I’ve learned a[...]…

#13 Dzar on 05.19.10 at 10:29 am

по теме…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job,[...]…

#14 arco on 05.19.10 at 11:53 am

тематические ссылки…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just freelance[...]…

#15 Ejen on 05.19.10 at 3:01 pm

сегодня я прочитал…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing[...]…

#16 drawing4 on 05.19.10 at 5:24 pm

интересный блог…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just freelance work. I’ve[...]…

#17 Dimonika on 05.19.10 at 10:28 pm

и всем рекомендую…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just[...]…

#18 anton on 05.20.10 at 12:39 am

к ознакомлению…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just[...]…

#19 claus01 on 05.20.10 at 5:15 am

стоит обратить внимание…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just freelance work. I’ve learned[...]…

#20 Kartochnik on 05.20.10 at 7:53 am

текст для запоминания…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just[...]…

#21 kurskdostavka on 05.20.10 at 11:23 am

цитаты за сегодня…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just[...]…

#22 dapache on 05.20.10 at 2:45 pm

за сегодня…

I’ve been freelancing for over ten years, sometimes moonlighting when I have a full-time job, sometimes doing just freelance work. I’ve[...]…

#23 2006 Ford Fusion Headlight Warranty, Fusion Coolant Up - 60.codebluehacks.org on 05.23.10 at 3:00 am

[...] 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263642006 Ford Fusion Headlight Warranty, Fusion Coolant Up - 60.codebluehacks.org2006 Ford Fusion Headlight Warranty, Fusion Coolant Upfusion cooling system usb power infusion pdf fusion antenna low energy nuclear fusion sample fusion torrent ford fusion exterior parts automotive gillette fusion sales part time coldfusion programmer vmware fusion smith micro infusion d iris 2011 fusion hybrid parts 2009 ford fusion taurus ford fusion custom auto parts 2006 ford fusion 1.4 fusion car showroom used sale 2009 ford fusion hybrid fusion cherokee faucets antique copper freedom fusion review red leds fusion pp 112pk effusion free fusion coolant read part floor mats fit ford fusion fusion license fusion activesync vm fusion virtual machines infusion zone life infusion last minute ford fusion 2004 review 20 rims ford fusion cars 2010 ford fusion fusion edit 2007 toyota camry ford fusion 2009 ford fusion performance chrome fusion hair gorleston fusion top speed 08 fusion paintball f8 cheap ford fusion low temperature fusion fusion substitute king fusion cheap air jordan 13 white black fusion authentic nfusion authorized dealers polaris fusion 900 mods fusion chart rapidshare spinal fusion patients 2005 polaris fusion 600 ford fusion 3 ford fusion manual uk fusion music point ford fusion warranty fusion support services 12 fusion subwoofer ford fusion radiator ac condenser freedom fusion soccer league 2009 ford fusion accessories floor mats husky liner fusion supercharger performance parts air intake sale 2009 ford fusion car fusion cheap jordan nike air force 1 ford fusion cars in india e 450 super duty 2008 ford explorer sport trac fusion hybrid discount fusion hardware fusion oven hoover fusion frenzy game ford fusion rear park assist fusion part accessories 2009 ford 2009 ford fusion brochure brien fusion pool party ford fusion sales chart infusion pt provided fusion file flash ram wicked lasers fusion wholesale 6 nike air jordan fusion ford fusion ac compressor ford fusion hybrid reliability aftermarket mercury milan ford fusion fusion rapidshare cold fusion price fusion firearms 1911 dan wesson ford fusion 2006 pre

#24 Так on 06.14.10 at 4:11 pm

Рос…

[ основываясь на ]……

#25 БУК on 06.25.10 at 7:42 pm

СУК…

флэш ……

#26 Маркет on 06.29.10 at 6:28 pm

PR…

принимая во вн……

#27 БУК on 07.08.10 at 8:18 pm

Ставка…

оклад ……

#28 СТАФ on 07.12.10 at 2:57 pm

Проэкт…

хоз ……

#29 ПРОМ on 07.13.10 at 2:12 pm

Ланч…

экон ……

#30 Seo Борода » Blog Archive » Проверка сервера на работоспособность on 08.12.10 at 11:32 am

[...] Впрочем, не… Сайт и его раскрутка Впрочем, не… Сайт и его раскрутка Впрочем, не… Сайт и его раскрутка Впрочем, не… [...]

#31 Современная электроника » Blog Archive » Рынок электроники11 on 08.16.10 at 11:24 am

[...] электроники Не надо простых слов, просто пишите в темуРынок электроники Не надо простых слов, просто пишите в темуРынок [...]

#32 Бетон on 08.17.10 at 11:27 am

Купон…

пора ……

#33 Баки on 08.17.10 at 8:02 pm

Талон…

прав ……

#34 Ворд on 08.18.10 at 5:29 am

Круп…

моду ……

#35 Крок on 08.19.10 at 3:11 am

Тайм…

ломи ……

Leave a Comment