Follow @jack_ganssle

The logo for The Embedded Muse For novel ideas about building embedded systems (both hardware and firmware), join the 25,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype, 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

Consulting As a Career

A week after I turned 16 in 1969 Neil Armstrong walked on the moon. A year later funding for Apollo dried up and engineering tanked as a career. Some who had been designing spacecraft pumped gas.

By 1980 I was tired of working for "the man" so partnered with a friend and started a consulting business. Our timing could not have been worse as the inflation of the late 70s caught up with economic reality and a recession tossed engineers once again onto the streets.

In 1990 another recession battered this field. The dot-com bust of the early part of this century is still felt in some corners. There seems to be a ten year cycle that drives economic setbacks. During these downturns unemployed engineers often turn to consulting. Most fail as financial difficulties make companies reluctant to spend. The few that thrive usually have been around for a while, were started in the bull years, and have an established clientele.

Times are pretty good now, or at least were when I wrote this in August. But mortgage fears have Wall Street jittery and I've been getting a steady stream of email from developers nervously pondering their options, which usually include consulting. If the to-me mysterious ten year recession cycle holds, this is a good time to make the leap into a career in consulting. I use the word "career" intentionally; those who hang a consultant's shingle out in desperation as a transition between jobs have a rough time of it.

Consulting can be a very rewarding job, both financially and in terms of fun. Those who succeed can, in the US at least, earn surprisingly high salaries. I know of a few making better than a quarter million a year, though that is very unusual. And a consultant can work on many different sorts of projects, gaining broad experience.

So here are a few thoughts on what's needed to succeed.

Just as every developer knows it's folly to start a project without a pretty decent set of requirements, don't even dream of starting any sort of business, even a one-person consulting shop, without a clear idea of your goals. Are you just trying to make a living or do you plan to build a practice staffed with an army of consultants? The latter case will require serious organizational development and quite a bit of capital.

In my opinion no serious business - even a one-person outfit - can operate successfully without advisors. To assume one knows everything is arrogant. Hire a business advisor, someone you meet with regularly, who will take the time to learn about your industry and goals. Select an individual who is widely versed in business, legal and financial matters; don't worry about experience in technology. I've worked with the same advisor for 15 years. Paul challenges me, beats me up for missing dates and goals, and is the best brainstormer I've ever met. Though some of his ideas are whacky, others stun me with their brilliance. He's a CPA, so does my business and personal taxes, which works amazingly well since he truly understands the money flow. We met through the local Chamber of Commerce, which is a great resource for finding business resources. The cost: $410/month.That check is the most fruitful one I write.

Sales

My partner and I had plenty of technical skills but absolutely no concept of sales and marketing, and the business suffered for that lack. Naively, we thought that hanging out a shingle, and producing a nice brochure were all the marketing we'd need. Wrong. Sales is hard. A web site will not keep you in BMWs.

Our experience mirrored that which I see all the time. Once the champagne is gone after landing that plum contract, most consultants foolishly focus on getting the work done. Months later they have a happy customer but no work. Panicked, they start selling again but suffer from a long spell of no income, and then repeat the process.

Sell constantly. If you "don't have time" to sell or market your services, something is seriously wrong. In all aspects of our lives we must practice balance, and that applies to the balance between doing the customer's work and working on your business.

If time is precious (as it always is) a solution might be to bill fewer hours each day, leaving time free for sales. Rest assured that those "lost" hours will be recouped in lack of downtime.

Though America is largely a service economy, services are the hardest of all things to sell. Engineering services are especially difficult. The price will always be far more than the customer wants or expects. The customer is wary of getting a low quality product, and the consultant can only offer vague promises about his reliability. Sounds a little like marriage, and that analogy is surprisingly apt. Like a married couple, the most successful consultants build long-term relationships with their clients, relationships solid enough to withstand the inevitable surprises and problems found in building products.

Once you snag a job your most important mission is to delight the customer. "Yeah, he's expensive, but we've found we can really count on him," is the sort of statement that gets another potential client interested.

Manage the relationship by delivering early. Accept no quality tradeoffs. Communicate constantly. Poor comm destroys marriages and consulting contracts. Fulfill your promises. Be scrupulously honest. Avoid disputes, but when these arise, advocate for the customer. I was in a meeting recently where the owners of a small consulting firm argued with the potential client for two hours. They didn't get the contract. The consultants were right, but were so adversarial they turned the client off.

A solid relationship is also the only way to get a critical marketing tool: testimonials. Lots and lots of them. After every job get a high-level person to write a publishable accolade. Never use testimonials signed anonymously; they're simply not credible.

Build relationships with both the client company and its employees. When one leaves for another job, stay in touch. People buy from people they know and trust.

Get around. Meet local business people. Join an organization that might have potential customers involved. A natural is the local High Tech group. Here on the East Coast it seems every county has some sort of High Tech Council. Some are better than others -research them and spend your time with the one most likely to produce valuable contacts. Meet with the local IEEE chapters or software process improvement networks. Network at the Embedded Systems Conferences. Remember that your goal in networking is to meet people. Get involved. Chair a committee.

Some consultants hope to find work by becoming experts at a particular technology. That can be an effective strategy but carries perils. Today being an embedded Linux guru is a great sales tool. In a few years it won't be. Just being the expert isn't enough, of course. You've got to get the message out through industry contacts.

Some consultants create literature or web sites that tout their expertise at OSS or with a particular line of microprocessors. This is also a dangerous strategy. Who cares? Why would a VP write big checks just because you think Eclipse is the bee's knees?

Yet others do prosper by focusing on particular market segments. If you only do medical instrumentation, you'll be an expert about FDA regulations and other quirky aspects of that industry. Avionics designers will know what a DER is and just how DO-178B effects the development process. Outsiders will be perceived as amateurs and will have a hard time delivering value to the customers.

Pricing

Will you undertake fixed-price contracts? Customers hate the quoted figure but love dumping all the risk on you. But fixed-price contracts are notoriously problematic. Even the best estimator will be stymied by scope changes, so it's critical that you have a change request system in place, and that the contract clearly specifies how it will be used. Send the message: "Mr. Customer, we love you. We'll do anything for you. But changes will cost ya."

How can you successfully even quote a project when, as usual, the requirements are vague? The best approach is to initiate a discovery contract with the customer, where they pay you hourly to elicit the project's needs and scope. Then they let the contract out for bid, to you and perhaps to your competitors. But if you did a great job on the discovery project, you'll have a leg up.

My partner and I liked fixed-price work since we could work harder and smarter than planned and reap the benefits. The best customer for that kind of bid is the government, but dealing with that bureaucracy is mind-numbing. A formula we hit on accidentally worked like a charm: write proposals, on spec, as a subcontractor to a large operation. Let the big partner handle the agonizing pettiness of government work. After the award of the contract we'd get our share of engineering work

Most consultants work for an hourly fee. I haven't done a formal survey, but it appears to me that typical rates run $80 to $125/hour, with some charging more simply because they can. Those numbers scare prospective customers, so create an agreement that's very specific on how you bill. I think fifteen minute increments are both reasonable and accepted since it's the usual method used by lawyers.

Do you get paid for time spent on an airplane? That's a particularly thorny problem since no client likes the thought of coughing up big bucks while you read People Magazine. But your inventory is your time. Offer it uncompensated and the inventory warehouse empties. Most of the agreements I've seen range from no charge at all (a very bad idea) to half-price while flying.

It's Networking

I get a lot of email from people looking for consultants with specific skills. If you're in the consulting business send me your profile. It's all about networking, and perhaps I can connect you to a customer with a specific need.