twitter
    Find out what I'm doing, Follow Me :)

Programmer Life wasn’t meant to be easy, but take courage: it can be delightful

I spoke to a developer the other day. I was very surprised when he said that a growing bug lists is just normal, that daily firefighting againsts bugs is just a fact of life. No I don't accept that.


Probably, I am just so infected by all the agile values, that I cannot accept them anymore. My first encounter with Agile (Extreme Programming) was during a user group day in Melbourne around 2002. That time I was just recently graduated from Uni. I attended a presentation about Extreme Programming by Steve Hayes. Steve and his co-presenter (sorry, I can't remember his name), showed us how to do pair programming and how to unit test our code using JUnit.


Me and my flatmates were very excited, when we get back we started doing pair programming and we unit tested most of our code. We were developing a project scheduling application using genetic algorithms at that time. Our software development philosophy back then were pretty much: code and then test it by clicking the GUI of our application. What a waste of time.


And last week on 7 May 2009, I attended another Steve's presentation during JAOO conference in Sydney. It was a very inspiring presentation titled “How your choices influence your agility”. In the talk Steve quoted Former Australian Prime Minister Malcom Fraser most famous quote "Life wasn’t meant to be easy". And then Steve said " but that is b...s...". I couldn't agree more.

It turns out that Malcolm Fraser was quoting George Bernard Shaw's, “Life wasn’t meant to be easy, my child, but take courage: it can be delightful!” It is rather unfortunate that Fraser hijacked it.

Then, Steve moved on and said “A characteristic of high performing agile teams seems to be how much they value ease of work”.

If your bug lists keep growing and your job is dreadful, do something about it. Make it at least somewhat enjoyable and gradually improving it. Uncle Bob talk about this during his keynote talk titled Clean Code at last year JAOO conference. He mentions the boy scout principle: "Leave the campground cleaner than you found it".

So next time you check out the code, please check it in in a slightly better shape. How about writing unit tests for a start! Do it over some period of time, you'll find the code much easier to work with.