Three things I learned while not in college
Scott brought up the subject so I thought I would take a stab at it since I skipped college as well...
-
You’re not ever actually going to go back and fix that code you quickly threw together, even if you put a TODO comment saying this was a hack and needs to be fixed, you will not have the time because in most cases there will be more immediate concerns…so do it right the first time
-
Quality is a measure of functionality and reliability over time…building new functionality is usually fun, making existing functionality more reliable is usually not…but in the long run, the latter can be more valuable
-
You will suck at estimating time for tasks, there is no great lesson here – just fundamental truth…accept it and adapt for it
And now folks for the bonus round...four things I learned while working on my own (nearly 6 years now)...these may seem like simple truths but some things bear repeating again and again
-
No contract or gig is ever real until you actually go through the process of signing it; even if it seems like a sure thing…don’t hold your breath
-
Take the Net payment terms part of your contract (and the due by portion of your invoices) and use it when you run out of toilet paper…I don’t think I have ever had a client who actually paid on time
-
Save money, lots of money….figure out what you need to get by and double it…most people look at the cash flow issues and think about the time between gigs when they may be ‘on the bench’ and plan around that. The truth is that you can be on the bench for 2 months then start working but never get your first invoice paid for 4 months into the project…it sucks, but it happens.
-
Know as much as you can about what is going on with your client – Bankruptcy is an evil thing and it can and likely will happen to you….in six years 2 clients have done it to me and it is not pleasant when you realize you are an unsecured creditor and will get nothing at all.