More thoughts on consulting.
For novel ideas about building embedded systems (both hardware and firmware), join the 27,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. It takes just a few seconds (just enter your email, which is shared with absolutely no one) to subscribe.
By Jack Ganssle
For the past five Novembers I've dedicated this column to musings about achieving success - or at least staving off the poorhouse -- as an embedded computer consultant. I myself worked as one for a long time till getting wrapped up in building a tool company. Now free of that and delightfully under-employed I find myself again using the word "consultant" to describe my current job status to those needing a short description of a career that, to be honest, I'm not sure I understand myself.
Consulting is the best of times and the worst of times. For the technically-adept it's a wonderful way to experience lots of very diverse challenges. Each client uses different technologies and methods; one can learn an awful lot in a very short time. The best consultants are people-people; they also profit emotionally from interactions with lots of different folks at a wide range of clients. Employees stuck in one office on one or two projects a year have a much more limited scope of experience and acquaintances.
The flip side, though, is that the consultant is always an outsider. It's quite difficult, without a long-term commitment from the customer, to be an integral member of a project team. You can work hard, design and implement a wonderful product, but when the project is done you are history. Worse, the client knows that you are a transient commodity who will be soon gone, so will often treat you as such.
Wise managers realize that part of their charter is to create both products and a growing, improving, engineering team. Most of our employers are knowledge companies. The product may be some thing - hardware, software, or whatever - but the organization itself grows and thrives only as it builds expertise.
The knowledge is usually embodied in the organization's workers, despite all business advice to codify it in procedures and manuals. It is simply not possible to proceduralize complex high tech tasks in an industry in such a sea of change. The employees know how the product works, what the design pitfalls and challenges were, and where the buried bodies lie in the code and the hardware. These people have a permanence that enables them to apply this knowledge to the next version of the product, or to solve the panicked late night production problems that invariably occur.
Though employees job-hop sometimes almost as fast as consultants, managers should build a permanence in the team itself, so information and expertise is shared. Losing a key employee is tough, but not the end of the world as co-workers can take up the slack.
The consultant is an outsider. The client is one of many clients; any of which might be expendable given a better deal. Personally I'd rather hire employees, motivate them properly, spread the knowledge around so no one worker is indispensable, and thus, like an ant hive, thrive despite changes in personal.
I think consultants make sense for limited, specific projects with clear start and end conditions. Focus them on those issues that are not one of the company's core competencies. Let the full-time employees benefit from the experience of building those things that push the business into the future.
Yet this leaves a lot of room for consultants to thrive inside any high-tech business. Core competencies are tightly focused; there are a lot of other aspects to any product, from writing a user's manual to integrating an RTOS or developing a comm protocol. yes">
Unfortunately, some consultants thrive on disaster. When clients are in pain, when their worlds are crashing down in rubble around them, consultants, rather like lawyers, prosper. The refrain "I don't care what it costs, let's find a solution" is the siren call to armies of slick briefcase-wielding folks from McKinsey and other big-name consulting outfits. We see similar issues from time to time in the embedded world, when a product just has to get done, no matter what. Perhaps the employees are too busy; maybe they are not competent, or their competence is in question from a series of continued schedule slippages.
All too often consultants respond with metaphorical rape and pillage. The smell of disaster brings out the greedy Scrooges in too many. Cupidity benefits no one; few of the situations I've seen of this nature ever result in a working product, satisfied customer, or a consultant with an intact reputation. Of course, like the barbarians of a millennia ago, many are content to scorch the earth and move on, content in their belief that the field of suckers is large enough for them to prosper.
We parents work hard to instill basic virtues - including honesty - into our young ones. Isn't it reasonable to assume that most adults behave in a reasonably truthful and equitable manner? Sadly, from reading the paper and email from people around the world it's clear that honor is a vanishing commodity.
I'm astonished to hear the press slam businessmen people; it seems all are capricious, determined to screw anyone to make a buck. The reality is that in business honor is the most basic asset one has. Without honor and trustworthiness business will cease. It's amazing that we trust a PO, for example - it's nothing more than a promise to pay, perhaps signed by a clerk on behalf of a higher-level person. Yes, there are lots of crooks in the business world, yet the vast majority of managers I've met are decent, honest people. Out to make some money, for sure! Determined to succeed, absolutely. But by and large these folks work from within the confines of a respectable moral code.
It's important that we consultants behave similarly.
Embedded systems are tough. Problems will develop. Recognize that you cannot always meet customer expectations (the client wants perfection, now). Develop great communications skills to keep your client informed. Avoid the temptation to lie or to manage the truth a bit to keep that smile on his face; be willing to take the heat in the short term when you're late or in trouble, knowing that respect will come only through the mutual struggle of bringing the product to fruition.
A friend called last week; he spent over 6 figures with a small consulting company whose charter was to develop a new product. Things ran late, bugs crept in, yet the message he always heard was "don't worry, be happy, we're on top of it." As the scope of the disaster became ever clearer the consultants became more distant, hiding behind other projects in other cities, placing less skilled new hires on the work, while still chanting their "just a few more weeks" mantra. The product is now a year late and may never be delivered. Though my friend surely he could have managed these contractors differently, he was the victim of a small conspiracy of lies that spun an ever larger web.
I don't know if these consultants were incompetent, of evil intent, or just confused or mismanaged. I do think, though, of Napoleon's famous quote that applies to employees and consultants alike. When you feel the problem is due to the boss or to the client, remember that you are not entirely without responsibility:
"Any commander-in-chief who undertakes to carry out a plan which he considers defective is at fault; he must put forth his reasons, insist on the plan being changed, and finally tender his resignation rather than be the instrument of his army's downfall."
Quite a few embedded consultants send questions about succeeding in their business; something I'm surely not qualified to decide. My response is generally to ask questions about their goals and plans. Rarely has the correspondent given much thought to these basic issues.
One of the most profound truisms of business - or life - is that you can't get where you want to be unless you clearly understand where that is. What are you trying to accomplish? Why be a consultant? What are your goals?
Operating without a written business plan is like flying in the clouds without instruments. Sure, sheer luck my yield some sort of success. More often you'll find yourself at 10,000 feet without fuel and spiraling into rugged mountains.
Before starting a consulting practice take time to understand where you want to wind up. Do you want to sell the business someday? Make $100k/year? Supplement your salary to pay for the kids' college? Put numbers on the goal, and decide when you want to be there. Only once you understand the goal(s), in quantitative detail, can you design a plan to get from here to there.
A business plan doesn't need to be a hundred pages of well-crafted prose. For small businesses an outline may be enough. It is important that it be in writing, and that the completed plan is something that you truly believe will bring you to your personal goals.
A typical business plan lists your dream first. Then it identifies major goals needed to reach this dream. For each goal, list the objectives you must satisfy to reach that goal. This might be to generate 100 leads per month from magazine ads, and then using certain sales techniques (outlined in the plan) to convert 5% of these leads to sales.
The plan must never make random assumptions. How will you get those 100 leads from advertising? Call various magazines pertinent to your industry and pry for information. How many leads does that half-page black and white ad from competitor A do? A little spying will give you a pretty good yardstick for accessing lead flow versus ad size - and thus also give you a rough budget for that part of the plan.
The plan leaves nothing to chance and questions every assumption. Giddy sales projections are backed up with solid assessments of how to they'll be achieved. Dates are assigned to each action item so you know what must be done what normal">when.
Part of any reasonable plan is a realistic assessment of your strengths and weaknesses. A one-person company, for example, is probably weak at accounting and/or legal issues. Knowing your weaknesses you can hire the right group of advisors, employees, or outsiders. When I started consulting with a partner in 1981 our biggest single mistake was to assume we knew everything, when in fact we should have allied with a partner who knew how to sell our services.
The plan is a waste of effort, though, if you don't use it regularly. At the very least refer to it monthly to extract that month's goals. Pour these into your Daytimer and make sure each one is accomplished on-time. Does the plan indicate that a press release is due this month in order to increase lead flow? That's an action item!
No plan will stand the test of time totally intact. Business conditions change. New competitors arise. Often the plan itself is simply flawed in some way: perhaps you learned something new about the industry, or perhaps you have a new brilliant insight into achieving an important goal. A useful business plan is a living document. Amend it constantly based on what you learn. Like a knife, it must be continuously sharpened to be effective. I've learned to keep a copy with me in my portable Daytimer so I can study and amend it while out of the office - when the best ideas occur.
Above all, be realistic! Plan on failure, since some strategies will simply not work. If the plan is constructed like a house of cards that rely on each card being in place, then the entire plan will crumble when a tiny obstacle arises. Be flexible.
Planning, though, is the easy part. Most of us fall down on execution of those plans. Unless you can make unbreakable commitments to yourself to achieve what you've set out to do, simply forget the whole idea of starting a consulting practice (or any other type of business, for that matter).
Know where you want to go, develop a reasonable, robust plan to get there, and follow through relentlessly. Stay focused on your goals.
"How do I find customers," people ask. Unhappily, hanging a shingle on your door or on the Web is no sure route to earning even a single dollar. You need a more proactive approach.
It seems the very best consultants, those who are tremendously honest, whose customers are satisfied, have little trouble getting new business. There's no more powerful marketing medium than word of mouth advertising, something you can improve by asking your happy clients for referrals or referral letters.
Referrals are especially powerful in the embedded world as the service we provide is so nebulous. After writing tens of thousands of lines of firmware or designing a PLD for a customer you've mastered many technical and business issues, yet how can you convince a new prospect that you're good at this sort of thing? Every engineer claims expertise; far too many are unable to deliver working goodies on time and on budget. A referral, from someone the prospect trusts, is the most powerful sales tool you'll ever find.
A common mistake made in the panic of trying to find normal">any source of income is being unselective about customers. Reject clients who cannot further your strategic goals. Pursue those that will be of long term benefit. The best customers are those who have more than one opportunity for your services. Succeed with one group, and use the in-house referral to secure more business with others in the same company.
There's much to be said for focusing your efforts on one discipline. There's no such thing as a jack-of-all-trades at the embedded biz. If you are an expert at medical instrumentation, concentrate on that arena. Become known in that industry. Consulting is always a high-ticket item; all such purchases are made with people to people selling. Your success is assured if people know you and respect you! and you're selling to an area where there's a need for your services.
I'll end as I did when I started this thread of articles in 1993: in business we have the ability to make and lose money, to forge friendships and to learn new cool things. Never forget: above all, have fun.