Going Solo, Successfully

Three years ago I quit my job and started consulting full
. It’s worked out really well. I get to spend more
time doing things I like to do and I’ve been able to deliver great products for
clients. I wanted to go over some tips for starting a successful consulting

  • Charge more – Everyone says it and it’s true. I started out charging a
    monthly rate that was close to my full time salary / 12. This is not a good
    idea because you have overhead that your employer is no longer covering – health
    care probably the biggest one, you don’t have paid vacations, there may be
    unpaid downtime between contracts and also companies might not pay you. You need
    to be charging a lot more to just break even.

    I dread “what’s your rate” conversations every time and they haven’t gotten
    easier. Before I quote my rate I reread the details of the High Tech
    Employee Antitrust case
    to pump myself up – it reminds me
    that I’m negotiating with a company that couldn’t care less really and I
    am the only one who’s going to stand up for myself. If you think you don’t
    need the extra money – get it anyway, and then donate more to charities
    at the end of the year/buy CD’s/put it in the stock market/give it to the
    government. Amazon just made $11 billion and paid $0 in taxes; you are going
    to spend an additional dollar better than Amazon’s executives will.

    If you are not sure how much to charge, quote each new client more than the
    last. Your quote is often a signal of your quality so it’s not even really
    the case that demand slopes downwards as you charge more.

    If you are working with a client and they are very happy with your work
    and want to extend your contract consider asking for a higher rate. “Now
    that you know how good I am,” etc.

  • Get the money – Signed contracts, work performed, don’t matter until the
    money hits your bank account. I learned this the hard way. If a company is going
    under your invoices are worthless. You can hold onto the company IP but that’s
    probably also worthless. You can sue but at the end you will win a judgment that
    you can collect money from a company that doesn’t have any to pay you.

    Try to get as much of the contract as you can paid up front – I generally
    ask for half or more up front. If a company offers Net 30 ask if you can
    shorten it to Net 5 or 10 or submit your invoices in advance. Submit
    invoices on time
    – it’s a very costly mistake and you won’t learn its
    importance until it’s too late.

    Try as hard as you can to figure out the financial health of the company –
    if you can do your homework in the press or ask questions to your primary
    point of contact, like how much cash they are burning, how many months of
    runway do you have. If a company is not forthcoming with this information
    it’s a red flag that they may not be able to pay you.

    If you see any red flags – the company wants to cut the contract short,
    people start leaving, company suddenly cuts back on perks – tell your
    contact that you need to be paid upfront or you are not going to work
    anymore. If they push back on this they may not have the cash to pay you at
    all. It’s a crappy situation but better to cut your losses than to work for
    someone that can’t actually pay.

  • Don’t charge by the hour – I have never actually done this so I can’t
    speak to how bad it is but don’t do this. You don’t want a client to cut you
    loose at 3pm and suddenly you lose three hours you were counting on. Charge per

  • Get a lawyer – Get a lawyer to review every contract you sign. Read through
    them, flag concerning things to the lawyer. They will suggest language. Send
    the language to the company. You are not being difficult when you do this, the
    company does this all the time. Lawyers are expensive, expect to pay north of
    $400 per hour and contract review can take 30-60 minutes. This money is worth

    A good clause to try to push for is limitation of liability. You don’t want
    to be in a situation where $2 million of damages occurred or a high value
    client left the company because of an error you pushed and the company is
    suddenly coming after everything you own. Similarly the company may want to
    protect against you trying to sue them for a high amount of damages to your
    reputation, future business etc. Limiting the total liability to the size of
    the contract, or a multiple of the size of the contract – on both sides –
    can be a good move.

  • Register as a Company – Consult with the lawyer you hired on what kind of
    company you want to be. Generally the more “company-like” you are the harder it
    is for companies to try to take your personal assets. I don’t have employees or
    shareholders so I have a single member LLC that is disregarded for tax purposes
    — read this description from the IRS. Sometimes businesses are
    confused what this means when I tell them or try to sign up for things. Still,
    it is a good fit for me. It may not be for you – I am not a lawyer, you should
    talk with one, learn the tradeoffs and see what makes sense for your business.

  • Make Sure Contracts Are Signed With the Company – The contracts you sign
    should be between the client you are working with and your company NOT between
    the client and you personally. Discuss this with your lawyer.

  • Get an accountant – As a small business a lot of stuff is tax deductible –
    a home office, client travel, for example, even if it’s just across town – and
    you want to make sure you are getting ~35% off on everything that you can. An
    accountant will help you with this.

  • Market yourself – Not necessarily ads or sponsorships, but: everyone
    you’ve worked with full time should know they can hire you now. If they
    don’t then reach out to people and let them know. Put up a website that
    engineers can send to their boss. My website isn’t fancy but it is
    . Order business cards – VistaPrint is
    garbage, [order from moo.com][https://moo.com]. If you have a website or open
    source projects put a note at the bottom advertising that you’re available for
    hire, like the one at the bottom of this post.

  • Set up separate accounts for everything – Open separate accounts for your
    business. Get a business credit card or just a separate cash back card on
    your personal account. I don’t have a checking account registered for the
    business but I opened a second checking account at Ally that I call my “business
    account”. Clients pay into that account and I pay the business credit card out
    of that account. I even have a separate Clipper card that I use for business

    There are two reasons for this. It makes tax accounting a lot easier. I know
    that every transaction on the business Clipper card is work travel and can
    be expensed; I don’t have to try to remember what I was doing when I paid $2
    to SamTrans at 5:34pm on July 27.

    Second, if you don’t keep good records for the business – if you “commingle”
    funds between your personal life and the business – it makes it much easier
    for clients to go after your personal assets, what’s called “piercing the
    veil.” Separate accounts (and discipline about transfers!) make it much
    easier to argue that your business income and spending and personal income
    and spending are separate even if you don’t necessarily have the legal
    structures to back them up.

    I also set up a new Github account for every company I work with.
    This avoids any issues with emails going to the wrong place, or the need
    to grant/revoke permissions to any 3rd party tools a company uses. I use
    github.com/kevinburke/swish to swap SSH settings between my
    Github accounts:

    $ cat $(which notion-github)
    #!/usr/bin/env bash
    ${GOPATH}/bin/swish --identity-file ${HOME}/.ssh/github_notion_ed25519 --user kevinburkenotion
  • Balancing multiple clients: If you can do this or do things like charge
    retainers, great. I find it really hard to switch contexts so I work with one
    client at a time and treat it as a full time job. Do what works for you.

  • Give back to the tools that make you successful – I give a percentage of
    my earnings every year
    to support software tools that help me do
    my job – iTerm2, Vim, Go, Postgres, Node.js, Python, nginx, various other open
    source projects. You should consider doing this too. (If you are an open source
    maintainer reading this – tell me how I can pay you!!)

Liked what you read? I am available for hire.

Read More

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.