Just finished reading entry #3 on the javablogs.com Hot Entries page titled “Smart Developers”. What made me want to write about this particular article was the statement:
In my experience, there are no dumb developers.
Unfortunately my experience has been a lot different than this.
Maybe “dumb” is strong word. I think it’s really more along the lines of “doesn’t have the aptitude to develop”. Many of the people I have met who call themselves developers are not. In my mind the term “developer” indicates someone who is good at problem solving, design, etc. What I will term here as “coders” is what Brian McCallister is probably referring to when he talks about not-very-good-developers.
Coders are not developers. These are the people who don’t look outside of their own work to explore what else is out there in the world. No interest in languages aside from what they use at work. No interest in things like new development methodologies. The list is quite long. In controlled situations they may be able to crank out working (but not necessarily good) code but move them out of their zone of comfort and everything breaks down. This is not saying they are dumb people (maybe they’re in the wrong profession…brought to software development because it’s a good-paying job) but they simply are only able to handle clean-room situations. If something doesn’t work as advertised or they run into strange debugging situations they need hand-holding.
Lets face it: a good developer has an innate ability to see problems in a way that coders just don’t have and that is why coders get in to trouble outside of controlled conditions. That innate ability to problem solve is just as elusive as the ability to capture great photographs are write great music. It really is more akin to art than science. Good developers are born with that ability. It will take training to bring it out but the ability is already there.
Contrary to what Corporate America thinks these things can’t be learned. If you don’t have the ability to start with no amount of training will help. Tools won’t help either. That’s why good developers are expensive and hard to find.
So in GTD one of the things that we’re supposed to do is make use of the calendar for three things (the so-called Hard Landscape):
- Date-specific information
- Things that need to happen on a certain date
- Things that need to happen at a certain time (and date)
One problem that has really plagued me in the past is “how do I know that an item on the calendar is complete?” I don’t mean that day the event occurs but down the road when I’m reviewing items to make sure they’re done (mainly making sure bills were scheduled). Long-time GTDers may say that I shouldn’t need reminders. Between the fact that the calendar should be considered sacred (according to The David himself) and the weekly review I shouldn’t need any indication they might say.
They may be right however in my current state I need these indicators. The next-actions list it is quite obvious what is done and what isn’t. Not so with the calendar so in Outlook 2007 (my current choice for GTD following the Outlook 2003 guide from davidco.com). There is a quick and dirty way to flag completed items though using categories.
In the category list I created a category called “completed” and its color is set to bright red. When I have finished something thats in the calendar (“Schedule credit card payment” for example) I clear its current category (@something) and either flag it with the “completed” category so it shows up as bright red or I reflag with “completed” then also add the original category back in. The effect with the second method is that the last category you chose in the list is the main color while the other categories are presented as small color squares inside the item (forgive me..I don’t have any screenshots handy at the moment). This little red “flag” also shows me that something is done.
So far its working well. Hopefully at some point I won’t need those reminders but for right now I’m sticking to them ;)
A couple of weeks ago I started the process of using David Allen‘s Getting Things Done personal management methodology. GTD appeals to me because of the way it starts off in dealing with the day-to-day stuff before moving on to the “higher level” stuff like life goals, etc. Why? Because if you’re not dealing effectively with the small day-to-day issues then you really won’t have the ability to give energy and productive thought to the bigger issues. It definitely is a bottom-up method.
So far so good and I’m not expecting miracles at this point. David Allen says that it usually takes a person 2 years before the method (this in a podcast talking to Merlin Mann of 43folders.com). Coming from being so disorganized its definitely going to take me a while to get the steps set as habits. I’m already finding it challenging to follow the workflow all of the time. I have to constantly remind myself to do it but I suspect thats normal trying to use this system coming from none ;)