|   
   
   
   
   
   
   
   
   | 
 | A virtual
            interview about consultancyI started consulting in 1995, with a focus
            on FPGA design, but also embedded software, IC product planning, and
            system architecture. This article was originally written around 2001, but
            has been updated several times through to 2003, then idle till a refresh
            on 10/26/2017 and a reformat on 10/29/2017 and 11/05/2017 
 I have occasionally (about
            seven times total) been asked for advice on getting into consulting doing
            digital design, or software, or FPGA design. Here is an edited version of
            one such email, and my response. If you would like additional questions
            added to this "interview", or would like to add to the usefulness of this
            page, please contact me. 
 
            
              
                
                  | Q1 | Hi, Philip, I'm an engineer and FPGA
                    designer and wanted to get in touch with a few other designers and
                    consultants out there. I'm weighing the pros and cons of striking
                    out on my own as a consultant and would like some practical
                    insights from someone already doing it. May I put a few questions
                    to you? |  
                  | A | You
                      certainly may. |  
 
            
              
                
                  | Q2 | How much do you make as a consultant?
                    More than when on a salary? Do you work hourly or fixed price per
                    project? |  
                  | A 
 | I
                      make more than when I was employed, but not a lot more. Plus I
                      now have to pay my own health insurance, medical and dental,
                      etc.. (much of this was part of the benefits package at my prior
                      employer. I didn't really appreciate how much it was worth until
                      I had to pay it my self.) Health insurance in the USA is a mess.
                      Unless medical bankruptcy is part of your business plan, you
                      must get this figured out! Probably disability insurance and if
                      you have dependents, then life, insurance (three separate
                      policies). Your mileage will vary. I would recommend researching
                      this (and maybe even getting coverage) before leaving the
                      umbrella of your current employer. 
 Many
                      people think I must be making the BIG bucks as a consultant. My
                      experience is that while I seem to be working longer hours, many
                      of them are not chargeable. I probably work 60 to 70 hours a
                      week of which about 30 to 35 are chargeable. Some times it is
                      higher, but this is rare. Examples of hours I don't charge for:
 
 
                      You
                      don't get paid for sick days, and vacation days, and holidays.
                      In the US there are some extra taxes for the self employed.
                      Check with your tax advisor. So assume you are real busy, and
                      get 48 weeks of activity, at 30 chargeable hours per week, is
                      1440 hours. Take your current salary and multiply by (wild
                      guess) 1.3, and set your hourly rate accordingly.General
                          self improvement
                        Books
                            related to my consulting
On-line
                            coursesTraining
                            seminarsWebinarsLearning/updating
                            knowledge of design languages
 Maintaining
                          my business
                        AccountingWeb
                            site maintenanceMaintaining
                            my PC, including installing new software, backups,
                            installing and testing new hardwareLab
                            maintenanceParts
                            procurementLooking
                            for new clientsBusiness
                            lunches and dinners, maintaining contacts
 Learning
                          how to use new software and hardware packages (IDEs)Writing
                          tools that support my consultancy, such as vector file
                          creation, Hex/Bin file manipulation, FPGA download programs,
                          diagnostics.Developing
                          FPGA IP that I will use with multiple clientsDeveloping
                          presentation/tutorials that I might present to multiple
                          clients or maybe for a conference session such as the
                          Embedded Systems Conference (ESC, or the various renames of
                          this conference)Reading
                          and posting to USENET news groups(Several clients found me because of my postings to
                          comp.arch.fpga)
 
Participating
                          in on-line forumsSocial
                          media
 
 As
                        an example (the numbers are NOT expected to be real) , if you
                        are currently making $40,000, you get $52,000/1440 = $36 per
                        hour. How does that sound ??? maybe round up to $40 ?
 
 (the above numbers are to show the calculation/ratios. Not
                        realistic for this type of consulting)
 
 Since
                      I live in Silicon Valley, (which has almost the highest cost of
                      living in the US), and the area is littered with companies that
                      need good people (and in FPGAs I am very good :-), my numbers
                      are somewhat higher than the above stuff.
 
 On
                      the other hand, (now writing in August 2002), business currently
                      sucks, and the first thing companies do in "down" times is end
                      all the consulting jobs. I have been very lightly employed for
                      the last 6 months. Last month I billed a total of 3/4 of an
                      hour. Not the best of times.
 
 My
                      recommendation is to always do "Time and Materials" rather than
                      fixed price. With fixed price, the client may believe that it is
                      fine to make "little" changes to the project, and not have to
                      pay anymore. With fixed price, what happens if bring-up/debug
                      takes longer than expected? What if the spec missed something
                      critical, or maybe just minor. The client isn't going to want to
                      tweak the fixed price for each and every unforeseen change. And
                      if they aren't paying for it, then this can become a habit.
                      Fixed price is just too one sided in favor of the client. With
                      time and materials, the risk is shared. If there aren't any
                      problems along the way, the project comes in ahead of schedule,
                      and at a lower cost due to less hours. If the spec changes, or
                      other problems happens, the cost is directly measurable by the
                      extra hours needed, and if trade-offs are needed, they can have
                      costs associated to them.
 |  
 
              
                
                  
                    | Q3 | When first starting out, did you
                      have to weather a lean period until your business got
                      established? |  
                    | A | My
                      prior employer was STUNNINGLY supportive of my starting my
                      consulting business, and allowed me to switch to part-time (20
                      hours per week) with them while I built up my consulting
                      business. Although at 20 hours per week they could no longer
                      cover my medical, dental, life insurance, at that time my wife
                      was employed, and her insurance was extended to cover me too.
                      Eventually I got individual medical insurance, which is quite
                      expensive. Check this stuff before taking the big jump. After 6
                      months of the mixed half time work / building up my consulting
                      business, the half time stuff was really interfering with my
                      consultancy, so I went to full time consulting. I promised my ex
                      employer that they could have me do consulting work any time
                      they wanted, and they would get the lowest rate I was charging
                      to any of my other clients. ( I have bumped my rate up once a
                      year for a few years, by about 5% each time. I am not planning
                      to change my rate this year.). Existing clients get the old rate
                      until the end of the current project. I never change rates on a
                      client during a project. Behavioral ethics is real important. 
 Here is my experience to date: Long term consulting is rare, and
                      short term panic projects are more common, often of the form of
                      they want you to do two months work, and they want it finished
                      in 4 weeks. For all of 1995 I was very busy at any single time,
                      with work scheduled for the following 4 to 6 weeks. Beyond 6
                      weeks there was nothing till the end of the year. I was
                      terrified. The whole year was like that! By the time stuff was
                      coming to an end, new stuff arrived. All the contracts I did in
                      1995 and 1996 were on a fee per hour basis, and I have managed
                      to not do anything on fixed price bid. For 1997 to 2001 things
                      were also fairly good, and almost all projects were handled on a
                      fee per hour basis (also sometimes called "time and materials").
                      1999 also included a trip down disaster lane when I put my
                      consulting business on hold, and I joined a startup. I am back
                      in consulting again, thankfully. For 2002 , business is not too
                      good, but I have great hopes that things will turn around by Q7
                      2003. This pattern continued through to 2015 when I started to
                      cut down on consulting due to burn-out. So 20 fun years of
                      consulting.
 |  
 
 
              
                
                  
                    | Q4 | Is it a feast and famine kind of
                      business, or is cash flow pretty steady? 
 |  
                    | A | Feast
                      and famine. But that is more a function of how well you sell
                      your self and schedule work. A friend of mine recommends that 1
                      day a week be spent finding new work, even while you are busy,
                      because when you run out of work, it is not a good time to start
                      hunting. This is an example of non-chargeable hours per week.
                      Going to lunch, buying a potential client lunch, reading
                      magazines, traveling to a client's site are also non-chargeable.
                      (travel may be chargeable, if the client agrees to it up front). 
 To add to the famine side of things, clients pay you when their
                      accounting department feels like it. You need to watch this VERY
                      carefully. The accounting department rarely has your house
                      mortgage payments in mind, and I have one client that through
                      incompetence delayed a payment almost 3 months ($11,000).
                      Another client got into financial difficulty and made sure rent
                      and employees and other things were all ahead of me. They owed
                      me about $90,000 and finally finished paying me 10 months later.
                      This was clearly my own fault for not managing the client
                      better, and I should have stopped working on their project as
                      soon as payments went over 60 days. They still wanted me to do
                      work for them, so I insisted for cash up front, and I bumped my
                      rate 20% just for them. In particular, you need to make their
                      order entry and payment process something you understand. The
                      engineer/manager that you work for at the client company usually
                      has not handled consultants before, and so he/she probably
                      thinks all that is needed is a purchase order. The Human
                      Resources, accounting, and admin departments may all have other
                      ideas. Get this stuff resolved up front if possible.
 
 |  
 
              
                
                  
                    | Q5 | What are the pros and cons of being
                      a consultant vs. being salaried? 
 |  
                    | A | Pros: 
 
                        Cons:I get to work longer hours.I get paid for my time.My clients seem to respect my opinion.I get to choose the projects I want to work on.I get to work in my home office.I make more money (not a lot)When times are tough, you get an extended vacation 
 
                        I get to work longer hoursPay can be irregularWork can be irregularCan't always work on the projects you want to because you
                          are already committed to another client projectWorking at home in my home office can be lonely.I pay more taxes.Self coverage of health benefits etc...Not there at the beginning of a project to stop bad
                          decisions being made. (One of my clients involves me in the
                          project planning, and it is great. so this pro-con list is
                          not absolute)Not there at the end of the project for the accolades of a
                          job well done. (Same client also includes me in
                          end-of-project success parties)When times are tough, consultants are the first to be
                          "turned off" |  
 
 
            
              
                
                  | Q6 | How do you get clients? Are they
                    mainly people and companies you already knew before starting out?
                    Advertising? Cold calling? Word of mouth referrals? What works and
                    what doesn't? Is your client base geographically local, or are
                    they all over the country? A lot of repeat business? Do first-time
                    clients normally expect a lot of credentials and references? 
 |  
                  | A | Most
                    of my new projects are for existing clients, or referrals from
                    them (so far all my clients like me), plus a few small jobs from
                    referrals by local Xilinx FAEs. You should let your local FAE know
                    that you are available, but you will have to be VERY loyal. i.e.
                    if a Xilinx FAE points you at a customer, you had better not
                    recommend Altera chips to them. 
 Other options are companies that handle contractors for a fee, and
                    they find the work for you. I have used one once, and while the
                    experience was ok, they added little value for the fee they
                    charged (to my client).
 
 Another source is other consultants. This needs to be
                    bi-directional.
 
 I don't do any advertising, but I do "network", i.e. let friends
                    know that I am looking for work etc. Also engineers at my clients
                    might recommend I contact an engineer at another company. I do not
                    ever work for the competitors of my clients (at least not for a
                    year), and treat ALL client information as strictly confidential,
                    whether marked that way or not.
 
 Visibility on social media such as USENET newsgroups and vendor
                    forums may also make you more visible to potential clients. Being
                    very helpful on forums helps build a good reputation for both
                    knowledge and willingness to share acquired skills.
 
 Word of mouth referrals are by far the best, and the FAE referrals
                    can also be very good, but be careful, as their goals and yours
                    are not the same. In particular, they will sometimes throw you a
                    drowning victim (see below) and you should run not walk the other
                    way.
 
 Although 75% of my work was with 1 client in 1995, I would
                    strongly recommend against such dependence (plus there may be some
                    severe tax consequences). I am targeting that no client is more
                    than 20% this year, and we will see how well I go on this. It is
                    hard to keep it down if you don't have any other work, and the
                    dominant client wants more of your time. Early in 1996, my main
                    client (same as 1995) decided that a certain project that I would
                    have had to design about 100 FPGAs for will be going a different
                    direction (5 FPGAs, a few ASICs), and I might not have anything to
                    do for them. This is the downside of strong reliance on 1 client.
                    I was not worried, as I was sure I could find other work, and
                    besides, they could always change their minds (again). (They did,
                    three times :-)
 
 All but one of my clients is within a 1/2 hour drive. The one that
                    isn't, was all handled by email.
 
 A few clients ask for a copy of my resume. When references are
                    requested, I ask an existing or past client if it's ok for me to
                    give their name out.
 
 |  
 
            
              
                
                  | Q7 | 
                      What do you find it is that clients really want from a
                        consultant?Do they have projects that get into trouble and need an
                        expert to rescue them?Are they simply overloaded with work and need someone on
                        demand that can work at 110% duty cycle?Do they want leading edge speed and density?Do they want the work done as cheaply as possible?What are they most sensitive to: schedule, NRE cost, or
                        performance and quality of the finished design? |  
                  | A | Expert
                    help, overloaded, quick ramp-up the learning curve for new
                    technology, speed and density and architecture. If they care about
                    my rates, they are a drowning victim (see below), and I don't work
                    for them, I don't need the pressure on top of whatever their other
                    problems are. I think their number 1 concern is quality of the
                    work being done. Since I almost always get the design done in a
                    cheaper device than what they could have done, that adds to the
                    reason they use me. I always include complete
                    schematics/Verilog/VHDL, simulation and verification data as part
                    of my deliverables, and if special software was written (for
                    instances C programs to create the test vectors) then the source
                    is also delivered. Same thing for any proprietary libraries I have
                    developed (they get a royalty free, non-distribute license). 
 Be sure the client (and you) know the difference between a
                    contractor and a consultant. A contractor is "just another body"
                    that doesn't have to be counted as a body if there are layoffs.
                    The contract just ends. Contract work seems to be any task within
                    a project that might just as well be done by an employee, but
                    there aren't enough employees. That doesn't mean that contract
                    work isn't good, fun, and rewarding, just that it is different
                    from consulting. A consultant is bringing specific above average
                    (expert?) skill in some domain that is needed by the project. In
                    my case it is high performance FPGA designs with a very heavy dose
                    of massively parallel DSP.
 
 |  
 
            
              
                
                  | Q8 | What are some things to watch out for?
                    Do you sometimes get stung by clients who don't pay? What are the
                    big time wasters (in dealing with clients, not in the nitty
                    gritties of design technique)? What are the essential terms and
                    conditions in any contract, without which you are asking for
                    trouble? 
 |  
                  | A | I
                    have yet to have a client not pay me (except for one that I didn't
                    send the bill to). This is handled by being somewhat careful who
                    you work for. Big companies while slow (sometimes) to pay their
                    bills, do eventually pay. Small companies seem to be much more
                    prompt with paying me. The big time wasters are clients that
                    haven't figured out what they want. I tell clients that their
                    specs for an FPGA should be as detailed as a data sheet from a
                    semiconductor supplier. Only one of my client follows this guide
                    line. The FPGAs I design for them ALWAYS work first time, and
                    integration is usually a breeze. Their total costs are also less,
                    because there is less re-design when poorly thought out specs need
                    revising. I usually tell the client that it is their
                    responsibility to supply test vectors and result vectors. Some do,
                    some don't. 
 Here comes the drowning victim stuff :-)
 
 You need to recognize the client's behavior. If you wouldn't want
                    to work with them full time, then maybe you don't want to work
                    with them part time either. Some clients are what a friend and I
                    refer to as "drowning victims", and we have learnt to turn them
                    down. You can recognize them by any of the following (usually more
                    than 1):
 
 
 
                      Lots of others things too. If you would like to add to this list,
                    email me your suggestions.Poor schedulingNo detailed specificationNo time allocated for simulation, test, debug, system bring
                        upSchedule is set by some external, near term event (i.e.
                        ComDex or CES) with no checking of what is required to do it.They tell you "this will be easy, it will only take ..."They need you right NOW, on site, 40+ hours a week, then
                        whine about your hourly fee.They schedule HW and SW to happen at the same time with poor
                        or no specification documentation.Someone else has already worked on the project, and they
                        "just need you to come in and complete it"They want you to work on an existing design and "just make a
                        few changes, ..." and there is no documentation.They have already allocated the pin-outs for an FPGAs before
                        the FPGA is designed.They have already chosen a design methodology, it isn't
                        working for them, and when you recommend an alternative that
                        you believe will more likely reach their goals (based on
                        experience), they don't listen, and instead want you to
                        continue with their demonstrably flawed methodology.Late pay checks for their employeesUnder-funding key projectsCritical projects or resources being put on hold (often to
                        fight fires)FPGA project is "done", they just want me to "fix" the
                        timingFPGA project is "done", they just want me to "fix" the
                        floor-planningASIC project is done, they "just" want me to put into an
                        FPGA that will run at the same speed 
 |  
 
            
              
                
                  | Q9 | How and where do clients expect you to
                    perform the work? Do you become their employee for a time, working
                    at their site on their equipment? Or at the other extreme, do they
                    send you a set of requirements and a few months later you return
                    with finished design in hand? Do they normally require designs to
                    be done with specific tools, (E.G. must be entirely in VHDL, must
                    be designed using Viewlogic tools) or is that not usually a
                    concern? 
 |  
                  | A | I
                    tell them that I prefer to work in my own office, as I am more
                    productive there, and will be available on call to them and come
                    to their site for meetings, design reviews, and system bring up.
                    This is usually acceptable to my clients. If they are demanding
                    that you are on-site for the whole project, then maybe they are
                    talking about a contractor rather than a consultant. There are
                    also tax issues. Check your local requirements. I have done stuff
                    where I almost don't see the client, but this is not the norm. I
                    usually try and do at least a meeting every 2 weeks with my
                    clients, sometimes more often. Depends upon the quality of their
                    specs, and their need for hand holding. Also, regular meeting
                    avoid things falling into the cracks. If the client does not have
                    any preference, I strongly recommend the Viewlogic schematic
                    system and simulation (Viewsim) (update 2017: this is back when I
                    did FPGA designs with schematics. Now it is all Verilog). I have
                    both of these on my computers in my office. 
 |  
 
 
 
 |