- Not forming an LLC: first gig was done as myself, in hindsight i could have been sued and had a judgement or bankruptcy hang over my personal head for 10 years (no assets back then, but you could lose your home if you own one. don't do it). Get an LLC, get a registered agent, get a PO box, get a bank account and a bank ledger. Money you want to spend from the business goes into the bank account as a deposit and comes out as a business check or business credit/debit purchase. If you spend on a personal CC, reimburse yourself from the business bank account. Don't pierce that veil.

- Closing the deal / Asking for the sale: Gave away waaaay too much work for free thinking it's advancing us to the point of the sale. Don't give away your work for free, not only does that lower your value in their eyes (people care when they pay for things) but you are ultimately,

- Undercharging: left money on the table like a fool not billing for "small things"

- Using my own ERP: no one uses whatever system you found on github, they use quickbooks. get that, export to whatever format your erp understands

- Paying taxes quarterly like a fool

- Forgetting I am a contractor: got a migraine? no meetings or deliverables? found a hot lead? DON'T GO TO THE CLIENT SITE

- Self-hosting the wrong tools trying to save a buck: Opensource gitlab is nice. Opensource gitlab is not nice when you need to troubleshoot why Postgres is spewing vacuum errors.

- Going SaaS with the wrong tools and hemorrhaging money between clients: Paying for heroku to host an app I can run in docker locally, paying for dropbox when google or onedrive is free, paying yearly on something only used twice a year.

- Not billing 2/10NET30 and not charging late fees: Get your money faster if you offer them a 2% discount if paid in 10 days instead of 30. If they pay after 30, they will be fees that will continue to be added until they are considered deliquent and then collections. I've also offered 5% on higher $ contracts

- Not having a contract or blindly accepting the clients contract: My business insurance discounts me if I execute using my contract. Without a contract spelling out requirements change procedures, it becomes a back and forth negotiation game in the middle of project crunch time. Don't do it, have an outlined process agreed to at the start of th engagement and use a bugtracker.

- Enforcing the contract consistently: If you require something in writing, make sure there is a paper trail. If you end up in court it makes your lawyers job that much easier and that much lighter on your pocket book. I just watched $200k fly out the window because writings were saved on the client controlled G Suite and there were a lot of verbal face-to-face handshake agreements. Always in writing, summarized from your regular business email address.

- Not growing: I'm in profit from this client. I should have another client lined up or two or three executing at the same time. I should hire someone to help me with that fourth client or to find the fifth client.

- Thinking you can land a USG contract: don't waste your time. Unless you want to suffer through the GSA, try to partner through an established firm instead. YMMV, but i'm done with the US public sector.