Consulting requires the right mindset and skills.
For novel ideas about building embedded systems (both hardware and firmware), join the 30,000+ engineers who subscribe to The Embedded Muse, a free biweekly newsletter. The Muse has no hype and no vendor PR. Click here to subscribe.
By Jack Ganssle
Whenever it was a cold November day in Melville's soul he turned to the sea, on those bleak days when the winds of winter subtly start preparing us for the gray days of winter. Smart man. Me, well, the most I can do is to continue a tradition of November columns dealing with starting and running embedded businesses.
We techies love our ones and zeroes. Yet, these business columns have always generated the most responses from you. Each month my electronic in box accumulates your rantings, comments and ideas. I detect a yearning from the huddled masses of embedded engineers to break free from the shackles of big company oppression; to charge out into the wild unknown and bravely (foolishly?) start new ventures; to emulate Bill Gates in wealth if not style; to boldly go where no one has gone before!
These November columns invariably fill my mailbox with variations of the question "will I be successful?" A surprisingly large number of replies tell "here's how I failed (or, am failing)".
Start a business and your friends will be quick to point out how elusive success can be. Some claim 90% of all new companies disappear in the first two years; other statistics quote even higher failure rates. Clearly, far more startups die than succeed.
A friend tells me of a time his business was in trouble -- deep trouble, pursued by an army of angry creditors for a mountain of back bills. Being desperate he considered filing bankruptcy but first solicited advice from the CEOs of 10 businesses that had gone Chapter 11. All told him they regretted taking the action; all claimed that only exhaustion had driven them over the brink, but that just hanging tough a while longer would have likely saved them from the courts. The moral: tenacity, a fierce determination to succeed, a willingness to fight for years, is probably the most important asset to any new company. You've just got to be committed to make a go of it.
Don't become a consultant unless you've searched your soul and are convinced you are the toughest old dog on the block. A tendency to give up after a few months is the chink in your armor that's guaranteed to make your company fail. Early boredom isn't a character flaw: John Lennon had no patience, yet created a legacy of music the world will never forget. It is, however, incompatible with building a successful business.
Planning for Success
In business, as in life, it's less important to do things right than to do the right things. How often have you seen someone devote weeks or months to satisfying someone paying only a few thousand when the rest of the business goes down the tubes from neglect? This isn't advice to screw your customers; rather, it's a mandate to spend your limited energy on what's really important.
And yet, it is OK to fire a customer. When 50% of your time goes to a project producing 10% of the income, think! Is this the wisest way to move your business ahead? You are entitled to make mistakes; what separates the men from the boys is the action you take to correct those errors.
It's impossible to do the right things unless you know what those things are. Create a plan. A detailed, written plan. Even if your goals are modest, perhaps to simply consult to one particular customer, without a written plan you're like a ship without a compass, steaming along full speed ahead, but with no clear course.
Technical people hate to draw up business plans. It's the same defect that prompts us to jump in and start coding before completely designing a system; indeed the two symptoms are the same problem in different guises. Planning, or designing, is less stimulating, with fewer immediate rewards, than jumping in and doing.
In one sense a company is harder to design than firmware. The code will (hopefully!) at some point be complete. The goal, as represented by a specification, is reasonably clear and objective. A business is never complete; it's a process that goes on and on. Like Miss America contestants many CEOs now proclaim noble goals for their operations ("I want world peace, a nice environment for employees, and a fitness center for the executives"); the reality is that the process implemented by any business operates to satisfy some sort of well defined goals.
Publicly held companies generally must maximize shareholder values, as measured by the dividend or stock price. Small outfits, like one operated by you as a consultant, will have other goals. Making a living is a minimal objective. Making a fortune is something more exciting, tangible and easier to plan for, though harder to accomplish.
Personally, I feel that making money and having fun are the two necessary and sufficient conditions for a business. One without the other isn't adequate. You can't eat fun, and no amount of money justifies years of misery. Both together make life worthwhile.
Business planning starts with identifying your personal goal. Pick something ambitious, something that you're willing to dedicate a big chunk of your life to. Make it something concrete, like "selling the business for $10 million in five years."
Know where you want to go. Then, and only then, develop a plan to get you there.
Shelves in libraries groan under the weight of books about developing business plans. A dozen computer companies happily sell software that claim to do the work for you. The books have some value as idea generators, but there's no book or program that will significantly ease the trouble of generating a decent plan.
The books tell you to start with an Executive Summary, to move on to a description of the products or services you'll produce, to lay out a careful analysis of the competition, etc.
My advice is to ignore the books. Who needs wonderful prose? Why waste weeks agonizing over writing styles? A plan should be something that's quick to use, that lists what gets done when and by whom, and that's dynamic -- it will be shaped and reshaped by forces in the marketplace and your own evolving understanding of the requirements for success.
A plan is a simple thing. List your goals -- specifically, clearly, and with a time frame ("retire at age 40 by selling the business for $yyy"). Figure out the major objectives needed to achieve these ("sell $xxx of products or services in years 1, 2, 3," or "increase the company's net worth to $zzz"). Invent a method to get there (this is the hard part!). Identify all of the major action items needed, with due dates, to reach each objective.
The plan is worthless if it isn't a daily guide to what you need to do next. Make it short, well organized, and keep it in outline form. It's hard to dig through lots of prose to find what to do next!
I keep my plan on hand at all times. It's 15 pages or so of action items. Once a week I scan it for things I need to do immediately -- those go into my electronic Daytimer software as the week's goals.
No one is smart enough to figure everything out at once. Any useful plan is dynamic, evolving as circumstances dictate. New opportunities may surprise you; use the great flexibility that only a small company has to quickly take advantage of these. However, before jumping at a new idea, go back to your plan and make sure that the opportunity is one that fits within your overall strategy. Maintain your focus! Doing too many disconnected things is a sure route to failure.
In my business we revisit the business plan at the beginning of each month, adjusting it as needed to deal with new ideas and industry changes. The process of spending a couple of hours working on it also helps focus our energies on what to do next, and helps pull drifting projects back to their origins.
We actually maintain two different plans: the real one, and a beautiful prose-ridden tome written just for the bank. One a year in a mad scramble we update the fancy one, recognizing that unless we deal with the bank on their terms they won't deal with us. Part of the cost of doing business is doing silly things other important allies expect. We do it, but then shelve the result and continue on running the business via the outline-form plan.
Even the best business blueprints suffer from our own narrow perceptions. Get out of the office from time to time, well away from phones, email, and fax machines, and spend a day rethinking every aspect of your strategy. Start with the most important: is your grand goal still where you want to end up? It's OK to be wrong; just realize your mistakes, if any, adjust the scheme as needed, and move on.
Technology companies have some unique opportunities to build something of value in new and different ways. A consulting business, for example, is engaged in the process of developing new products for hire. Anything that helps you do this more efficiently is worth serious money, and ultimately increases the value of your business.
The mistake most consultants make is to work steadily for their customers. It's insane, really -- consultants bill themselves as experts, as the magic that will solve all sorts of problems for their clients. Yet these same experts rarely devote even a microsecond to helping their own businesses.
You can get a jump ahead by devoting time and resources to tuning your engineering system. Constantly invent new ways to work faster; each minute saved translates into more profit and lower costs for your customer.
For example, never develop throw-away code. Consider the reuse possibilities of every routine you write. Resell this code shamelessly and profitably. When designing hardware use components you understand intimately. Otherwise, when each job needs a totally new UART you'll have to waste time learning yet another 100 page data sheet.
Don't take every job that comes along. Be selective. Work only where will increase your core competence, or give you something more than money -- important new class libraries, critical new contacts, or a knowledge of important new technologies. If someone will pay you to learn C++, go for it! Avoid dead end jobs like an embedded 8080 based on FORTRAN.
Look for those that live on the cutting edge, or that will build your organization. Even a single-person company needs growth -- mental and spiritual at least. Proactively pursue it.
Go after the approvals that are useful in your area of competence. If the international scene is your game, get ISO9000 certified. Learn how to get FCC EMI approvals if you design digital hardware. Become FDA compliant if your firmware goes into medical instrumentation.
ISO9000 is interesting in itself. By the time you're certified you've developed a set of procedures and processes designed to insure correctness. I came across the Army's "clerk's" manual recently. Apparently the armed forces issued a blizzard of these books, each aimed at reducing every job to a simple formula. Those of us in engineering typically hate procedures.... but we sure want our accountants following one. Presumably you'll grow; design a business that will tolerate growth, where the procedures, where needed (e.g., the clerical staff) are in place before things fall apart.
If you're a one-person shop you'll need to draw on others sometimes. The best sort of problem is when there's too much business and not enough of you to go around. Hiring is a nice option, until you look at the costs. An engineer will cost easily $5k/month. How do you cover that in lean times?
Bring new people aboard when you must, but consider alternatives for short-term needs. Develop a network of reliable associates you can call on for help. The key word is reliable. Every unemployed engineer seems to hang out a consulting shingle till a "real" job turns up. You need people who are there when you need them despite their own problems.
A business consultant advised me to constantly be in a hiring mode, even when I didn't need people. Interview people a couple of times a month, he suggested, so when a need crops up I'll have someplace to turn... quickly. Use the same idea for finding other consultants who can help with overflow work, or who can provide special expertise when needed.
John Donne told us that "no man is an island, entire to himself". Only a fool thinks he knows everything. Do what you are good at, and subcontract the rest. Are you a firmware whiz with only a shaky understanding of manipulating the bits inside complex peripherals? Find someone whose skills complement yours. Do you need an RTOS expert? Sensor gurus? These people exist; spend time each week searching them out and making them allies. In these Internet days location is less critical than expertise; use electronic communication to extend your reach.
Avoid hiring friends. Most projects bring their share of anger and unhappiness. Don't risk destroying a friendship over business. It's just not worth it.
In July I spent a week offshore delivering a sailboat owned by an Atlanta-based management consultant. We had many long chats about success and failure in the "body for hire" business. This individual had long made a practice of applying everything he taught his customers about organizational theory to his own practice. The result: a 61 foot custom aluminum sailboat. A $75,000 sports car. Imminent retirement at age 52. Doing the right things, all according to a plan, brought him the success he desired.
How many Americans have failed at diet programs because they didn't follow through? "Doing the right things" implies reliable. normal">doing. Most plans fail from lack of execution. Be a doer, not a talker.
Above all, have fun.