Formatting Your Code
Why style matters
Universal Programmers Toolkit
Care and feeding of your code collection
Effective Proactive Debugging Techniques
It's all about the tools
Good Programming Practices
What to do (or not)
Banning Bad Bots
A short but effective script
The Joy of Specs
How to (almost) guarantee a successful project
Habits of Successful Freelancers
Advice for success
How to Become a Great Programmer
One easy lesson!
Bidding on a Stranger's Project
Freelancing 101 - Don't Send That Email!
Pick up the phone instead
Ensuring Your Web Site Project Succeeds
Advice for clients
How to Take Great Photos (And Fix Lousy Ones), Part 1
Composing and shooting your photos
How to Take Great Photos (And Fix Lousy Ones), Part 2
Editing and postproduction
I've been working almost exclusively as a freelance computer consultant since high school, which was back in the early 1980s. During the few years spanning the end of high school through the beginning of college I worked during the summer, and for my last couple of college years I worked full time during the day and attended school at night.
While most of my friends and colleagues went on to get staff jobs, I remained an independent contractor. I liked the flexibility and independence, and it continues to work out well for me.
To a large degree freelancing goes against the corporate grain, which means it is not for everybody. The main differences between freelancers and staffers are:
Given these disadvantages, why would anybody freelance? Some of the advantages of freelancing are:
Generally speaking, if you prefer the stability of a regular paycheck and an office environment, you'll want a staff job. But if you can weather unsteady work and prefer to have a variety of clients then consulting may be for you.
For those of you not ready to jump feet-first into freelancing, one option is to get a staff job and freelance on the side (although you should make sure your staff job allows you to freelance on the side). Another option is to work a staff job for a while and slowly transition into freelancing.
There are two basic types of freelance gigs: full-time and part-time. Full-time gigs are pretty much what they sound like: you're on-site at a client's office, usually 9-5, just like a staffer. These types of gigs can be very cushy because the income is usually steady and plentiful. Part-time gigs take less of your time, which means at the end of the day you'll walk home with less money than at a full-time gig.
Because a part-time gig can take anywhere from practically no time at all (e.g. an hour a week) to nearly full-time, you may need to get more than one. Not only is this more difficult but the hardest part may be juggling multiple projects to keep them from conflicting.
Assuming you're taking the plunge, whether full- or part-time, here are the next steps towards getting your next consulting gig:
It can be difficult to survive as an independent consultant because you have to spend a significant amount of time bringing in new projects. It's hard enough to keep working steadily even with people occasionally calling you with new projects; it can be almost impossible if you have to hunt them down. And once you have a project you have to spend time managing it (and the client).
Your overall goal is to build and maintain your reputation. Repeat customers and word-of-mouth recommendations are your best advertising, although you may want to resort to traditional marketing as well, especially if opportunities are not presenting themselves:
Other methods to market yourself include:
Most of these habits apply equally to staffers but they apply particularly to freelancers:
There are many options to consider when deciding on a fee schedule. Some clients prefer paying a fixed cost (and indeed some projects will lend themselves to a fixed cost) while others prefer an hourly or per diem rate. I usually give my clients the choice, with the caveat that a fixed cost is available only if they can sufficiently spec out the project (either on their own or with my help) that I can give them an estimate.
If you're charging an hourly rate you'll want to consider different rates depending on the nature of the work, and even which client you're doing it for. For example, your rate for general consulting (not programming) may be $50/hr while your rate for programming may be $75/hr. Your corporate rate may be $100/hr while your rate for non-profits may be $60/hr. (I'm pulling these numbers out of a hat; you'll have to decide what works for you.)
If you can't pin down the details of a project sufficiently to come up with a reasonable time estimate, perhaps the client will agree to pay you for, say, eight hours (at, say, $40/hr) to come up with a spec that will let you give a more accurate estimate.
I don't do much traveling that I can bill directly to my clients, nor do I have many other expenses that I can bill directly to them, but your situation may be different. Make sure to specify exactly what the client can expect to pay you for travel time and other expenses.
Some clients want free estimates. An estimate can contain many details of how the project could or should get done, so it is in the client's best interest to get a free estimate. It may even provide them with enough of a blueprint that they can either hire somebody more cheaply or do it themselves (because you already created their blueprint for free).
Not every client is expecting a free estimate, nor are those expecting a free estimate looking to rip you off by taking your estimate and walking away.
If you aren't willing to invest the time into writing an estimate without compensation, consider requesting payment for some portion of the estimate. For example, you might give them an hour of your time for free, followed by four hours (at, say, $50/hr) to write the estimate. Then, even if they decide not to hire you, at least you'll have gotten paid to write the estimate.
Regardless of what you and your client agree on, you should write a contract that describes what services you will provide and how you will be compensated, as well as any other conditions you agreed on with the client. If your client is an individual or small business they will likely have no issues with your contract; if your client is a medium-sized or large business it's likely their lawyers will turn your contract upside-down or even write their own. In any case, your contract should mention at minimum:
A contract can also serve as a vehicle for negotiating the project. As you and your client pass it back and forth you can each add details; once it's sufficiently fleshed out you can begin work.
While I get along with the vast majority of my clients, on occasion I've had to drop some of them. Sometimes I drop them for non-payment. Other times I drop them because they're just too much of a pain to deal with. For example, somebody who can never decide what they want is simply not worth dealing with, nor is somebody who is never satisfied with what they have or somebody who isn't willing to take my advice.
Hopefully you'll never get to the point that you'll have to drop a client but if you do you should make it clear to them why you are dropping them. It may be obvious to you (e.g. they owe me money!) but you'd be surprised how often clients can be clueless about this sort of thing, especially when they are part of a larger bureaucracy. Often one department (finance) doesn't know what the other (the person you deal with) is doing and what seems like their conspiracy to mistreat you can be attributable more to incompetence than malice.
If you do your job right, problematic clients can be weeded out before you get anywhere significant with them, and hopefully before you put in any billable hours.
As in romance, the types of clients you'll attract will be largely a reflection of yourself. I know some freelancers who always seem to be getting deadbeat clients, and others who always seem to attract clients who ask for the impossible. While it's easy to blame some of that on bad luck, certainly a significant portion of the blame lies with the freelancer for allowing themselves to get into such a situation in the first place. A good freelancer will put measures in place to protect themself (e.g. provide a written contract), sense when a situation has the potential to go bad (e.g. client deviating from the terms of the contract), and learn from their experiences when things do go downhill.
Copyright © 2017 by Kim Moser (email)
Last modified: Wed 09 January 2008 17:28:28