Latest entries

Posted on 8 February 2007 under General

Dwight Shih has tagged me with the surely dead (except for me) five things meme.

So in order to not be too curmudgeonly here I go:

  1. I’ve got two kids, a 5yo and a 13mo and a lovely & intelligent wife.
  2. I live in Canberra, Australia.
  3. I love cooking even more than I love nerdery and software development. That’s a lot.
  4. I’ve worked part-time for about five years now and I recommend it to anyone who can afford the cut in income. Especially if you are a parent - there is nothing like having a spare/bonus/free day every week to spend with your kids. That is until they start full-time school like one of my kids just has.
  5. My first job after I finished university was working for a startup working on an expert system shell in Prolog (and C). Much fun and hilarity ensued.

I take it I’m supposed to pass the meme onto some others so here goes - Justine and Iang your numbers are up.

Posted on 5 December 2006 under Management

I’ve just started leading an internal workshop on Incremental Development. In the workshop I describe and delve into the difference between orienting development vertically (by use case) versus horizontally (by software layer or service). By use case is the clear winner since it allows progress to be tracked in a user meaningful manner and encourages a smooth flow of client value.

Johanna Rothman describes the different orientations as implementation by feature and implementation by architecture. These are clearer phrases.

I think I’ll be making a few minor edits tomorrow.

Posted on 3 December 2006 under General, Management

Software development training courses are a waste of time, money and effort and don’t equip people to do meaningful work. Supposedly they pass on new skills and knowledge to developers. In reality training courses are about:

In my experience as both a nerd and manager of nerds I’ve never attended a training course that has taught me anything that I hadn’t already known or that I couldn’t have learned in a fraction of the time with a little bit of effort. When I’ve sent developers on courses they often admit the same thing.

Lets look at some of the things wrong with training courses:

  1. Training courses are aimed at the lowest common denominator - this is why they are so mind-numbingly slow, otherwise the guy in your course who can’t turn on his computer will complain and the training company will lose money.
  2. Training courses are often inconveniently timed - how often is the right course run? Probably not when you need it.
  3. Training courses are often a poor match for the actual need at hand - ever seen a course about the replacement of a Java servlet application with a PHP-based blogging tool to provide a corporate intranet? Me neither. But I have seen plenty of kitchen sink courses with lots of irrelevant junk.
  4. Training courses are generally expensive. ’nuff said.
  5. Training courses have a short retention half-life - unless you teach yourself or put into genuine practice things you learn you will forget stuff. Quickly.

Instead developers should be given time and resources (the Internet, books, self-paced learning CD’s, mentoring and guidance, access to others, etc) and a goal relevant to their upcoming work and asked to teach themselves. Does this take more effort? Sure. Is it more effective? That’s the wrong question - it will actually be effective where training courses aren’t.

We all need to stop pretending and bite the bullet. Managers should create customised training plans for developers that provide a combination of on-the-job activities, self-paced learning and guidance from existing experts. Developers should expect that they need to apply effort. Its okay to ask for help to create your training plan but its up to you to do it. You are a professional and its your career. Sitting in a room with a bunch of other bored developers really isn’t going to do the trick is it?

« Previous entries | Next entries »
?>?>?>?>