This site uses advanced css techniques
Or: Why work 8 hours/day for someone else when you can work 16 hours/day for yourself?
I've been a consultant of one form or another since 1985 when I started my old company, V-Systems, with a friend from college, and actually did bits and pieces of consulting as early as 1982. I have been asked often about the business, and I decided to write this up.
Please note that I am providing observations from my own personal experience, but I am not providing tax or legal advice. You need to pay somebody for that, and I'm not qualified.
Furthermore, I am not even attempting to make this a comprehensive guide for everything required by one in or contemplating the consulting business. I am purposely omitting whole areas, such as licensure, insurance, and negotiating — there are other books for that, and this isn't trying to be one of them.
These sections (except the last) aren't in any particular order.
There are many ways of structuring a self-employed practice, and I'll touch on two that are at different ends of the spectrum. I only have my own experience to draw on, so these should be considered broad generalities rather than pigeonhole-type definitions. I have gotten substantial pushback on these definitions, so I urge you to take them only generally.
I mainly operate as a traditional consultant, and though from time to time have done one-time projects on a contract basis, this paper mainly addresses the consulting relationship.
The single biggest surprise to prospective consultants is when I suggest that their technical skills will not be their biggest asset. Those skills are required, of course, and often help get you in the door, but the long-term customer relationships on which a consultant depends are built on one thing only:
Your customer certainly has to believe you can do the job, but they cannot wonder if you're going to get back to them, or if you're going to do something stupid (again?), or offend one of their customers. Your practice is never more stable than when your customers trust you completely to take care of them.
I still have my first customer from 1985, plus several others since before 1990, and I've been asked to do work I was clearly not the best for, simply because my customer liked doing business with me.
Many moons ago I knew a gal who was a salesperson for the computer vendor I did business with, and she was not even close to being as technically competent as I was. When she left to do consulting, I figured she'd never make it because of the "lack" of those skills.
But she did make it, and did a damn good job, too. She was good enough with the subject matter to take care of what was in front of her, but she was ferociously dedicated to taking care of her customers, and this was where I learned that The Warm Fuzzy Feeling™ is central to a good customer relationship.
It didn't take long before her subject-matter skills were as good as her customer-service skills, which made her a gift from God to her customers: within a wide range of problem space, they would rather pay her to figure something out than hire somebody else who already knew how. It wasn't until later in my career that I found this out for myself.
Thank you, Cindy, for showing me what makes a good consultant.
But it takes more than good customer service skills: one must be a self starter, require very little supervision, and the ability to keep on task without a boss looking over your shoulder.
Working at home can be a wonderfully comfortable and productive work environment, but it's not meant for everybody. Distractions abound — spouse/children, the television, that really comfy couch — and it's really easy to burn tons of time without getting anything done. Working by yourself requires substantial time-management discipline.
Though some consultants (like me) prefer a solitary work-at-home existance, it doesn't have to be this way. Many consultants spend much of their time on the road, with plenty of human contact, and you can tailor your practice to have whatever mix you like.
Notwithstanding the prior maxim, the short answer is that you don't have any.
Consultants — even good consultants — are often considered a necessary evil by customers who use them, and it's exceptionally easy to stop using one. It doesn't require firing or confrontation, just "we don't need you any more" or even just not calling.
This has happened to me several times: a sure thing with many years of history stopped on a dime when a customer's customer canceled a project, or when another customer was bought by a bigger enterprise.
This is not personal to your customer — it's just business — but when your gravy train evaporates without notice, it's very personal. And terrifying.
The best way to approach this is to diversify — if you have only one ongoing project, you can find yourself out of work with no more notice than the time it takes the phone to ring. By being aggressive about finding more than one customer, and even making it a point to value a backlog of work, you have a fighting chance at dodging the vaporizing-customer bullet.
Beyond having regular ongoing work lies matter of cash flow. Even if you regularly invoice at the start of every month, customers have their own schedule for paying, and this can be nerve-wracking to deal with.
For many years I operated on net-30 terms — payment due within 30 days of the invoice — but when you add postal delays, waiting for manager approval, being put on the next regular check run, and sitting on the president's desk for a signature, it's not hard for invoices from even good customers to take 45 days to arrive in your hand.
I moved to net 10 terms, and this made an enormous difference in cash flow: a few customers simply cannot accommodate that fast of an invoice turnaround, but it's been a big win. This is a soft 10: I tell my customers that the first regular check run on or after net 10 is timely, and this usually means 10-15 days. What a huge difference this made in cash flow.
Where this still gets tricky is when a customer is a bit late for whatever reason: your creditors don't really care. But a consultant can never do anything other than perform routine collections with a customer. Asking for a stale invoice to be paid is fine, but it's exceptionally bad business to give the customer any hint that you're in a bad place.
No matter how tight your bind, your customers can't find out.
I've mentioned several times The Warm Fuzzy Feeling™, and I'll do so again: this is absolutely central to how you manage your practice.
There are all kinds of arrangements for getting paid, and none is really superior to any other. I have virtually always operated on a strictly hourly basis, invoicing once or twice a month, but it's also possible to do monthly retainer, fixed-bid contract, or some other combination. And no method of billing can avoid talking about churning, which I'll define also.
I wish to repeat that I am not expert in the finer details of structuring a business deal or how to best negotiate with your customer. There are so many ways that a deal can be structured, so many different kinds of projects, and so many different personal styles, that no simple summary could possibly capture even a fraction of them.
But what they all have in common is that you are completely up front with the customer, deal in good faith, and fully intend for this customer to provide you with a great reference when the project is over. Not surprisingly, these all contribute to The Warm Fuzzy Feeling™ that is so important.
Touching on some more specific points:
Once, I accidentally double-included an 8-hour charge on a customer project: hit the wrong key on my time-billing system and didn't catch it. One of them was completely legitimate — and the customer knew it — but the fact that two charges in a row had the same time and detailed description were a dead giveaway to a mistake.
My response was to write off both line items even though I was entitled to one of them. By making the penalty for error high, I made it clear to the customer that I don't play the "see what I can get away with" game, only writing off the mistakes. Eight hours was real money, but nothing compared to the ongoing business I got from these folks.
Review documents ....... 40 hours
|Consultant #1||Consultant #2|
|Email system administration ... 3.25 hours.||Investigated email system problems per Martin; found that MS Exchange required a patch to deal with the latest Outlook IMAP queries; re-optimized all the message stores and tested with several email clients. ... 3.25 hours.|
|Researched email systems per Frank; investigated MDaemon, Exim and Sendmail for the Windows platform; note to Frank summarizing the findings ... 2.6 hours (n/c)|
I performed the same software upgrade for two unrelated customers, and some weeks later both had the same problem with a little-used feature. This issue was getting increasingly important, as it was affecting their customers, and after several days of intensive research it turned out to be due to a small but significant oversight I had made during those earlier upgrades.
When we finished, it would have been really easy to (a) blame it on the software vendor, and (b) get paid for all my time. Neither one would have been right, so I wrote a letter to both customers explaining that the problem was fixed, that it was due to my error, that they didn't have to pay for any of it, and extending my apologies.
This was an expensive adventure for me, but both customers were grateful for getting a straight story about something that was impacting their business, and this kind of candid admission contributes much more to The Warm Fuzzy Feeling™ than you'd expect from "I made a mistake".
In the late 1980s I almost left consulting because the administration and paperwork was such a burden, but my savior was Quicken, Timeslips, and Turbo Tax. If you don't have a mechanism for dealing with invoices, your checkbook, and your taxes, you'll surely go out of your mind.
Description Category/class Home Depot -- light bulbs for kitchen Home Repair/personal Home Depot -- light bulbs for the office Home Repair/business
I've never done any explicit advertising or promotion: no Yellow Page ads, business card on bulletin boards, etc. For years I was fortunate enough that word of mouth was sufficient for me without having to put on my sales hat, but the internet has changed this substantially. Some may consider banner/Google ads, but I believe this is likely to be expensive and of limited effectiveness (though I have not tried either one).
It turns out there is a very effective method of promotion that does not involve spending any money or putting on a sales hat:
In my case, I write Tech Tips on my website - this paper is one of them — and publish them on my website. I usually do one or two per month, but it's not on any kind of schedule. Once I've solved a problem that I think others might have trouble with, I'll write it up. Or, if I believe that I can explain a topic better than other resources (say, An Illustrated Guide to Cryptographic Hashes), I'll produce one as well.
In some cases I'll proactively promote them, such as submitting Malware Analysis to a narrowly-targeted venue such as Bugtraq, and I certainly announce them in my weblog, but by and large I allow Google to do all of my promotion for me simply by indexing them for people to find.
These do take a long time to write (and it's non-billable time), and certainly those who are not strong writers will have a harder time of it, but I believe these to be very, very effective methods of promotion. Most people who benefit from your Tips won't be candidates for customer status, but it does help establish a reputation for competence in the area you're writing about. It's also nice to get a thank-you from random people on the internet who are grateful for your efforts.
But when prospective customers are investigating a potential consultant, a website that is more technical than marketing may very well be seen as a positive: with clear, strictly-technical content, the customer can find out for himself that you're qualified rather than rely on you to simply claim that you are.
Writing for a magazine is also a great way to raise your status in the community: most magazines are always looking for good writers, and getting published is typically a relatively informal process. Find an area you're competent in, make sure you understand the publication's target audience, and email the publisher with a proposal.
You will be expected to produce an article of so many words, and this number is chosen by the publisher based on how much space he has in the issue in question. If he asks for 3000 words, don't submit 2500 or 3500. And you must be on time: there is no surer way to burn a relationship with a publisher than to miss your deadlines.
This promotional approach does take time — a reputation is lost quickly but gained slowly — but I believe that these efforts gather a kind of momentum: as your track record of writing and publication grows, you'll have an easier time being accepted into the next one. All of this contributes to a larger and larger body of work that precedes you to potential customers.
If you conduct yourself properly, you will accumulate a list of customers who will speak well about you: in many cases these will be your best source of new business, and in any case they have a name: your references. No matter how renowned you are for your technical skills, it is hard to overemphasize just how important your references are to a successful consulting practice.
Think what you would ask if you were checking up on somebody you were about to hire: you'll ask about his skills, of course, but that's not all:
Though some of these questions touch on the technical, most are about the relationship. Many of us know engineers who are technically very strong but nevertheless hard to work with, and some are so difficult that the customer will work with a lesser consultant rather than deal with that primadonna.
Obviously, one can get a friend to pretend to be a reference, and I'm sure this happens (much like lying on a résumé), but I believe this to be a terrible way to start a new relationship.
Likewise, it's obvious that you get to pick from your customer base, and you'll not choose those that are less than happy with you. But your prospective customers know how this works, and they can read a lot into what your references say (and they can smell a lukewarm reference a mile away). If you're doing a good job taking care of your customers, they are usually more than happy to say good things about you to others.
This doesn't always materialize, of course: from time to time there will be that relationship that simply doesn't work. A personality conflict, internal politics that you get caught up in, or a non-work life crisis can all conspire to create an engagement that you don't care to talk about.
Almost all long-term consultants have customers who will report a bad experience — I have a few — and sometimes these will be your fault. Only if the problem is due to overt dishonesty or incompetence should you worry about word getting around.
Some consultants choose to include product sales in their practices, and though this is a legitimate aspect of business, the question of objectivity always arises with the customer. They will (rightfully) wonder whether you're recommending the product because it's the best or because they have higher margins, and there is not really any way to completely remove this if you have a vested interest in the transaction.
Make no mistake: it's possible to be objective, and many consultants do choose their product lines strictly on what's the best value. What remains is the perception in the customer's eyes, and all you can do is conduct yourself honorable and transparently so there is no question about your vested interest.
This means transparency.
I have long believed that computer-products sales do not have enough profit to be worth the trouble of dealing with sales tax (and sales tax authorities) or warranty returns. Maybe you'll make $100 on the sale of that printer to a customer, but if it's dead on arrival, you have to eat the time required to box it up and send it back.
But this is a business decision, not an integrity issue.
Personally, I made it a practice of selling nothing but my time, and to never accept referral/finder's fees, kickbacks, or commissions from vendors (though there is nothing wrong with a vendor taking you to dinner now and then). Not only does this avoid the warranty/sales tax issues, but the customer won't ever wonder if I have a vested interest in the transaction or if that interest is influencing my recommendations.
From time to time, a customer will require something — software, a cable, etc. — and I'll purchase it on their behalf, but this is strictly as a convenience to the customer. I include the item on my invoice at exactly what I paid for it, and I include the receipt.
Those who use this pass-through arrangement may be wise to include the phrase "Total includes sales tax collected by merchant" with the item to make it clear that you're not a reseller and are not responsible for collecting sales tax on your own account.
There are several reasons why a customer might find it difficult to fire a consultant:
Only the first is a valid reason to keep somebody around, and customers are unnerved by the subtle fear of "what happens if...?" for the others. Consultants ought to structure their arrangements to remove as many of these as possible, and instead rely on their own good work to be their best job security.
From time to time, I give customers "How to fire me" instructions: "Here are all your important passwords", "Your contact at the hosting center is who", "Source code is here", "Revoke my network access by (A), (B) and (C)", etc.
Customers should ask for this from all of their consultants, not only to make them easier to fire, but as a contingency in case the consultant is hit by a bus. Sometimes customers do ask, and it must be met with immediate, full disclosure. It's not your data, you're not allowed to hoard it.
If a customer wants to fire you, hoarding this data will buy you a little time, but this breeds resentment in the customer that positively does you no good.
And sometimes you will be fired — it could be that the project has been cut, they cannot afford you any longer, or they may simply not like you very much. These things happen, but what marks you as a consultant of integrity is how you behave on the way out.
Find everything — physical and otherwise — that conceivably belongs to your soon-to-be-former customer and return it with a cover letter stating that you have done so (this partly for your own protection). Even if they have covered their bases well, it's common for them to have missed something (e.g. "I'm still the registered contact for your DNS management, I recommend that you transfer this your own staff. Password is hello").
You may never hear from them again, but you'll know that you did the right thing.
Many years ago, I read a column in Electrical Engineering Times about small-company-makes-good, and the now-successful owner was asked "How did you know you'd made it?". The answer has always stuck with me:
"When I didn't have to do business with people I didn't like"
I am fortunate that the overwhelming majority of my engagements have been pleasant and productive, and I've made some very good friends out of them, but not every one is like this. For one reason or another, the relationship can sour or a customer may start taking advantage of you, at which point you can consider just walking away.
I once had a customer that I generally liked a lot, but for whatever reason, they positively could not pay me on time (and they even had net 30 terms at the time). I believe they were in an industry where taking your time was just part of how they were allowed to operate, and in spite of talking to my customer about it every single month, nothing changed.
I believed that I was performing a valuable service to this customer, but apparently not valuable enough to be paid on time, so I completed all outstanding work and invited him to find another consultant (i.e., I fired him). Not surprisingly, he's not among my references.
Not all consultants in the same position would have made the same choice, but everyone is allowed to choose whom to do business with.
But even when you fire a customer, make sure you do so with integrity: the customer may not speak well of you, but you should give him no grounds to claim that you acted dishonorably.
These days, many customers evaluating a consultant will do the same thing you do before going on a first date: Google them. This is where the other side of a net presence comes into play: though your website may be professional and full of outstanding technical content, this can all be undone by your own words found elsewhere.
If a search finds a potty-mouthed political flame, a public trashing of your ex-wife, or open advocacy of illegal activity, this can go a long way to telling a prospective customer what kind of person you really are. It might not impact their view of your technical skills, but it may give them a good reason to look elsewhere for a consultant.
A good rule of thumb: if a search engine can index the venue, don't say anything you would not want your customers or your family to read. This certainly leaves you open to private venues, such as a members-only forum, where you can tell that dirty joke or vent about the ex, but even here it's wise to be concerned about inadvertent leakage.
A colleague has noted a countermeasure for this: have a ridiculously common name.
This is the single most common question that prospective consultants ask, and one of the hardest to answer. The short answer is a mix of "whatever the market will bear" and "how busy you wish to be". Some consultants operate on a strictly hourly basis, others on a retainer, and yet others on fixed-bid contracts — none is inherently superior to any other (though some are more suited for some kind of arrangements than others).
I operate almost entirely on a by-the-hour basis, with only occasional forays into retainer or fixed-bid arrangements, and my rates were initially set when I started out in 1985. Those rates have risen steadily over the years to reflect my growing experience, though the end of the Internet boom did put a damper on them.
New consultants typically ought to charge a bit less than the going rate for other consultants in the same area, which allows for their lesser experience and wanting to get a foot in the door. I'll note that "lesser experience" refers as much to "conducting a consulting practice" as it is to "knowledge of technical issues". Many very good engineers leave big companies with outstanding subject-matter expertise but nevertheless have only corporate experience: much of this does not directly translate into consulting.
Raising rates is usually difficult for new consultants: you've built a good personal relationship with your customers, and now you're asking for more money. Raises should be modest, and with plenty of notice (at least one full billing cycle, perhaps even two).
Raising rates is usually done when demand for your services is high, and there's a good chance your customers know when this is: you're juggling more work and they see scheduling farther and farther out. Some customers will use less of your time at the new rate, but in some sense this is intended.
One must be careful that one doesn't take this too literally: the concept "booked up solid" is over a fairly long time period — many months at least, perhaps even years — and it doesn't mean that rates should be jacked up just because you're having a busy week. I can't remember ever raising rates more often than once a year, and even then not for all customers at once.
It's also common to have different rates for different customers. Long-term customers, upon whom your business is likely based, should probably pay a bit less (or at least reduce or defer the increases): they are your bread and butter, and consistent ongoing work is much more important than maximizing your hourly rate.
Furthermore, different kinds of work deserve different rates. For some of my customers, I am essentially the on-call MIS staff, so I am at the mercy of day-to-day whims. This makes it hard to schedule the work, so it is normally full fare. But for other customers I do project-based software development, where I might be writing code for several months.
This is work that I can do when I'm not solving problem-of-the-moment, and in that respect is better work because I get to pick my own schedule. Long-term, at-my-own-schedule work warrants a lower rate to encourage this kind of business. Background work makes your time more liquid, and consultants (like me) who prefer to mainly work at home love having a backlog of things I can work on in my slack time.
A similar principle applies to offering lower rates for work you simply enjoy more than other kinds of work.
I don't typically offer multiple rates to the same customer, though this is certainly possible. I could imagine a consultant offering web design for one rate and network diagnostics at another, but this gets difficult to manage, especially when there is some legitimate question over which category the particular work should be in.
When offering a discounted rate to a customer, consider doing so not by lowering the rate itself, but by offering/increasing the timely-payment discount. If your going rate is $100/hour and you wish to offer a customer a $90/hour rate, make it a 10% discount if their invoice is paid within account terms.
This way you have given more teeth to your due-by date, and a customer that decides to use his consultant for float will have a hard time defending taking the discount after paying late.
Happily, though: consultants are generally earning the most when they are thinking about money the least: By focussing on your customers and your skills, you make yourself the most valuable.
This is a very hard problem for a true consultant, but less so for a contractor. Your schedule is largely at the whim of your customers, and many consultants find that it's a feast-or-famine existence. You may have a nice comfortable level of work, but then two customers come with large projects: how can you do it all?
Unlike corporate employment, where your boss gets to make these priority decisions, one customer rarely cares that some other customer also needs your attention. In many cases you can simply schedule the work ("I can do that for you by next Tuesday"), but consultants involved in day-to-day work cannot really expect a customer whose whole business is down due to a crash to just wait a week for you to show up.
Though your customer may very well understand that you're busy, are dealing with some other customer disaster, or you have to stay home with a sick child, one cannot escape the reality that a consultant who is not available has less value than one who is. I've heard many customers speak well of previous consultants:
Said by customers:
"He was a great guy, but he was never available"
To some extent this can be partly addressed by higher rates — which reduces your demand — but this only works over the long term. In the short term, you do not want your good, long-term customers going elsewhere because you're not around, so the only solution may be to just work harder.
You have to decide how much of your life you're willing to be consumed by your consulting practice, and you may decide that the always-available treadmill is just too stressful — this is a completely legitimate decision. But you're going to be less valuable to customers, and therefore justify lower rates.
Many consultants have a common fear — will the work dry up? — and this can be quite pervasive. You have no real job security and are at the mercy of customer projects, budgets, and personalities, and in many cases you don't know that you will have work two months from now. This creates an incentive to take more work than you can handle on the assumption that it might not be there in the future.
I was booked up solid for 17 years (yet always with the "what if...?" fear) before the bottom fell out in late 2001, and an empty pipeline is a very sobering experience.
Your pipeline is the amount of committed work you have in front of you, and longer pipelines are much more comforting. You can't do much to avoid or predict the routine day-to-day interruptions, but you can schedule the larger projects. Taking on a new project that you can start in two weeks means that you now have a certain amount of work you can count on.
Unfortunately, consultants worried about their pipeline have a natural tendency to squeeze in new projects. Though the new project is done at the moment, the time taken adds to the total pipeline because the other projects remain. This is not terribly fair to the existing customers who are getting pushed back (probably without notice), but it's hard to overemphasize how powerful the empty-pipeline fear is.
Even good consultants do this now and then, though they typically manage it by cutting into non-work time rather than outright shortchanging existing projects.
A final note on time management: with ongoing customers, there will often be low-priority background projects that can be handled more or less at your convenience — e.g., anytime in the next few months — and these are great to have in your back pocket during a slack time.
But many of these long-term customers have a kind of unspoken limit on how much you can bill them in any given month, so there is only so much of that back pocket time you can expend all at once. Of course, if there is a disaster and you have to dive in, it takes what it takes, but most customers will call a time out when the invoice level reaches a certain amount.
You're likely to run into a circumstance where you have things you could do for this customer, have nothing on your plate for anybody else, but have already reached that unspoken limit: if you go over, you'll probably get paid, but it means you're not going to be trusted to keep it reasonable in the future and will be subject to heightened scrutiny.
Locating this unspoken point is difficult, but it's important not to see it as gaming the customer. This all presumes that the customer legitimately needs the work done: otherwise it's just churning, which is dishonest and besmirches the whole consulting profession (and this is a close cousin to "value billing" used by accountants).
Instead, you're providing the customer with a service by properly prioritizing the tasks in front of you, and in some cases you are more qualified to do this than the customer is: "Does that server need to be replaced right away, or can we get six more months out of it?" or "Is our firewall secure enough, or must we upgrade the software now?".
It should come as no surprise that not every consultant is qualified to take every project, what's not obvious is that a consultant should not take every project for which he is qualified. There are circumstances when telling the customer 'no' is giving them good service even if you don't get paid for it.
A customer wanted me to "just start programming" on a large software system, but over their objections I insisted on creating a formal specification first.
After creating a 100-page document (which in retrospect was nevertheless wholly inadequate), Microsoft Project told us that it was going to take far more time and money than the customer had available.
The project was shelved.
It would have been easier (and certainly much more fun) to "just start programming", and I took serious pushback from the customer during the process, but it's absolutely clear that this was the right thing to do.
To be fair, I did get paid for writing the specification, but it was far, far less than what the programming would have been.
I was brought in by a new customer to evaluate another consultant's work. I found him to be technically competent, but the customer felt he was too secretive and generally difficult to work with.
So they could get rid of him, they asked me for a proposal to provide around 20 hours/week of consulting, and even at a discounted rate it would have been good work: it was a very slow time for me.
But during my evaluation I met a low-level guy on the help desk, and it was apparent fairly quickly that he was the perfect guy for the job. He was young, but he had good training, good experience, and had simply been smothered by the other consultant and not allowed to grow in his position.
During the meeting with the customer, I told them they did not need me: they would get much better service for much less money by using their own staff. They were flabbergasted to hear this, but it turned out to be exactly the right advice for them.
I understand they have been thrilled with Joe.
I lost the project, but gained a reference and helped a very nice young man take a big step early in his career. And you never know when one of those managers may go elsewhere and need the services of a consultant who's demonstrated that he looks out for his customers.
Consultants should always act in the best interests of their customers even if it's not so good for you. It may be expensive, but this is how a reputation for honesty, integrity, and professionalism is built.
Unless you are providing nothing but services, your engagements are likely to involve some intellectual property (software, documentations, designs, patents), and the open question is "Who owns it?"
My policy has always been "The customer owns everything".
It's possible to structure an arrangement where you provide software in binary form, with source code being extra or put in escrow, but I believe these to be counterproductive to a good customer relationship. If you're seen as holding back or trying to create a device for extra billing, the customer often feels like you're trying to manufacture job security: this never engenders good feelings.
By telling the customer "Everything is yours", you are making it clear that you are relying on nothing but your performance for ongoing work, and there are no questions about what's in and what's out.
One question that arises often: "can I reuse software from one customer to another?", and the answer is "sometimes". Generally, you cannot reuse a whole project because it represents customer-specific functionality. This is their property and you can't repackage it without their express permission.
But once it gets down to the building-block level, it's perfectly reasonable to reuse library code that performs generic, non-proprietary functions (say, a networking library or a database abstraction layer). I have a substantial body of C/C++ code that I draw upon for every project, and as long as nothing is tied to the original customer (either by comments in the code or proprietary functionality), this allows you to do your project in less time.
Some consultants actually charge for their building-block libraries (so called "toolkits") and though I suppose this can be reasonable if it's a really substantial infrastructure, I have never done so. I decided that part of my value is everything I bring to the table, and it's what allows me to do a project faster and better, justifying my rates.
The other reason is that customers are usually suspicious of these toolkits, viewing them as an excuse to charge more money. This is less of a concern if the toolkit is available on the open market and not strictly as a pitch to consulting customers, but my libraries do not warrant that kind of packaging.
Many of your projects will be one-time custom jobs, but sometimes you'll be asked to build an actual product that your customer will sell (more likely on a contract basis). In these circumstances, other arrangements are possible, such as offering a discounted rate in return for a royalty on each unit sold.
This reduces the hit that the customer takes up front and gives you a vested interest in the long-term success of the product: it's better for everybody when your interests are largely aligned with that of your customer.
But it does require more recordkeeping, and it create incentives for the customer to underreport sales. These arrangements require much more negotiation skill on your part, especially since the customer usually knows his own market space better than you know his space. I have never undertaken a royalty engagement.
Another issue that comes up from time to time is patent rights, and this often generates very strong feelings. I have always believed that software patents are terrible for this industry and have opposed them vigorously. My previous position had been that I would not participate in software patents in any way, but I have reversed myself.
I have several customers who patent everything they can find, but strictly as defensive measure. Often, the only defense to a claim of patent infringement from another party is a patent portfolio of their own: they will trade and call a truce.
My customers positively hate this — it's expensive and an enormous distraction — but they have to play in the same game as their competitors. Refusing on principle to patent anything means the customer may be defenseless when the Cease and Desist letter arrives.
I have not yet been involved in any patent proceedings, but the general sentiment of the "Customer owns everything" consultant is that the consultant assigns the patent rights to the customer while perhaps retaining the role of Inventor.
I have been a consultant for essentially my entire adult life — I've never held a "real" job — and the question of making the transition from corporate life to consulting is something I simply have no real experience with. But I can touch on a few issues that I imagine are probably important.
It's important to handle the obvious financial considerations first: have a nest egg in the bank, arrange for health insurance, create an office to work in. This all takes more money than you think, and cashflow issues are always more difficult than you expect.
Many consultants get their start not by diving in, but by dipping a toe in the water. A bit of work on the side is a great way to get a feel for the business and see if it's really right for you.
Though the extra income will be nice (and is often the main draw), the primary benefits of these early contracts are usually not financial. Do you have the ability to manage your time without supervision? Are you able to treat customers like customers? Are you able to think well on your feet without a boss to fall back on? Can you earn a reference?
Most beginning consultants don't realize how important these non-technical factors are, and some have taken the full plunge only to find out that they were simply not cut out for consulting for whatever reason. Failure is usually a very painful experience, and starting slow may help avoid this.
Your early contracts will almost always be at a less-than-market rate: if you're not generally available during working hours, and if you take a day or two to respond to queries, this makes you less valuable to the customer. But it's extremely valuable for you to find out how you work in this arena. This is an investment.
But I'd like to wave you off on a common trouble area: customer theft. When your corporate job includes servicing of customers, it can be tempting to go solo and take those customers with you, but this is an enormous mistake if it's not done with the approval of the company. In addition to potentially running afoul of non-compete-agreements with your employer, it sends the message that you cannot be entrusted with a customer relationship.
But once you've gotten a few projects under your belt, you'll hopefully have a taste for how the business operates, have some great references, and have enough work lined up to create a comfortable pipeline. If so: make the leap!
I purposely put the technical part of this Tech Tip last, to reinforce the notion that "customer service", not "computer science" skills are the biggest factors in a successful consulting practice. But it's foolish to think that technical skills don't matter: you don't have a business unless you can offer a service that a customer is willing to buy.
I have a Bachelor's Degree in Computer Science, but this only rarely comes up and I have never been asked for my GPA (it wasn't anything spectacular): this is my only certification. Though for employment, certifications (degree, MCSE, CISSP, etc.) tend to matter a lot, they are much less important for consultants.
What counts here is truly learning the subject matter, and there is no harm in obtaining the certificate in the process. But if the goal is just to collect some paper, it leads to the prototypical computer jockey with lots of alphabets after his name but limited power in the driver's seat.
Where the skills question gets tricky is when getting outside your comfort zone: a customer will ask you about a project that you are almost, but not quite, qualified for. Surprisingly, this happens a lot: if you have conducted yourself well, your customer would rather find a way to use you — a known quantity — than find somebody else. This occurs over a fairly wide range of skills.
When considering one of these projects, the first rule is: never lie to your customer about your skills. Be completely candid with your customer about what you know and how you would address the project. This would likely include substantial off-the-clock time as you got up to speed on the technology in question.
But it's important to weigh not only how you think you could handle the job in question, but how much you could leverage this for some next project, perhaps with a different customer.
For instance, if you've been a Visual Basic programmer for a long time and are invited to consider an ASP.NET project on the web, this may be a stretch for you technically. If this is an area that you see yourself wanting to branch into, tell the customer you will get up to speed on your own time and may even offer a discount to make your services more attractive.
What you get at the end of the road is not only a new skill, but a new reference. The time you spent on this project makes you more valuable — more full service — to this and other customers in the future.
The term "education" is used broadly here: formal training, heat-of-battle experience, previous consulting projects, and even personal projects at home that interest you.
This Tech Tip has been many months in the making, and it's important to emphasize again that it's based strictly on my own experience and observations, and I have no special business-school training to back it up. Most of this was learned on the job, and I can only assume that my still being in business after 20 some years means that it's not entirely without merit.
But there are a lot of ways to conduct a consulting practice, some of which bear no resemblance to how I have conducted mine: you are strongly urged to seek real counsel before setting out on your own.
The very best of luck to you.
Note: The ™ in The Warm Fuzzy Feeling™ is a presentation device, not a real trademark.
For another look at the life of consulting, please consider Spare Room Tycoon Succeeding Independently (subtitled The 70 Lessons of Sane Self-Employment), by Dr. James Chan, which is less about how-to and more about what you're going to go through. It's an easy read, and it gives a great insight to the experiences of self employment in a wide variety of industries. This may give you clues as to whether you have the personality for going it alone or not.
Special thanks to Chris Mospaw for his graphic-design help.