Thursday, February 12, 2009

Some of the First Lessons I learned about being more productive...

1. Get a mac
Seriously... there just isn't a really good excuse not to... I work with ruby... I assume that if you're reading this you work with ruby... if you do not work with ruby this doesn't really apply to you. (why are you reading this?)

I realize that mac isn't cheap... but it's well worth it... can't afford a mac? company won't pay for mac? ... then go linux... cheap hardware and free software... there's just no excuse...

first and foremost... you want your tools to work... the first time... all the time... every minute spent maintaining your tools is minutes you aren't being productive... I'm not saying that you should not maintain your tools... every good craftsman understands the importance of keeping their tools in good working order... but in my experience... it requires far less time to keep my mac purring like a kitten than it ever did my windows machines...

so... do yourself a huge favor... invest in your tools... but remember you don't have to spend a fortune... get the tools that 'just work'... even if they cost more... you'll be happy you did...
2. Use Version Control
You write code without version control?
WHAT?
Do you jump from planes without a parachute?
Coding without with version control is equally retarded...

just say no... and install a version control system... it's free... and it will save your life someday...

Which version control system? Well naturally I'm going to suggest Git... it is the new hotness after all... and after using SVN for a few years... the learning curve for Git is well worth it... just do it... tutorials are free...
3. Commit, and Commit Often and for the love of beer leave a message...
Now you have your development platform, and you have version control. Commit!!!
Commit your work... commit it often... don't be afraid to make micro commits...

Early in my career i was lucky if i committed my work once a day... these days i make alot more... I committed my work more than twenty times today alone...

Why? Why so many commits in a day? Simple...
  1. accountability...
  2. traceability...
  3. portability...
I can look back at my log and see exactly what I did... each commit corresponds to a single task... each log entry tells what that task was... should i decide i want to port functionality from one application to another i can cherry-pick the commits i want to merge between projects.. I simply could not do that with the once daily commits of a couple years ago...

Commit! No change is too small to commit...
4. Don't get bogged down in debates over what is 'best'
Don't try to be the best... that's impossible... instead...
only try to realize the truth...
there is no best...

Best is what works for you... what you are most comfortable with... what allows you to get the job done and done right... and no matter how good it gets... you will eventually always find something better... so don't waste precious time debating with anybody over what is 'best'... always be on the search for what's better...

No comments:

Post a Comment