As an experiment I thought I'd keep a note of my normal working day, to see where time is being spent, and what my current 'process' is. This isn't an exhaustive list, as during the day, too many other things take precedence, but there should be enough for you to get the idea. Also blogging it is a great way to preserve this for future comparison and maybe seeing what you lot get up to...
0520 - alarm goes off
0530 - leave house and drive to the station, listening to the news
headlines on Radio 4, but as soon as the shipping forecast comes on switch over to Radio 1 for some wake up tunes, this morning it appears to be Lifestyles of the Rich and Famous
0544 - arrive at station, parking car in an impossibly tight gap.
0549 - board the train to London, getting usual seat, with a table, so that my laptop can be used. My laptop is currently the oldest java development environment on the planet, with specs of (pII,300Mhz,4Gb,64Mb,SuSe8.2)
0552 - laptop booted, pink floyd - the wall on my walkman, ready to start the day.
- run 'ant test' to see where I got to the night before, five compilation errors come up.
- fix errors quickly (using microemacs'02)
- assertion failure during junit tests, turns out to be a null pointer exposed by a simple mock.
- build successful, yay.
- with that small victory, I change over and start blogging about the next java meetup.
- back to code, add another test checking what happens if not enough properties are set on my webwork2 action.
- add ability to my mock delegate, to simulate failure of data retrieval and add a test case that uses it.
0659 - arrive in London, walk to work listening to 99 code red
0727 - arrive at desk
- check my work email
- check for the latest EAP of IntelliJ, my preferred java development environment
- go to bloglines, to see what friends have been up to.
- simon has added some more stuff to pebble (his blogging software)
- joe is putting the finishing touches to xstream.
- hani is discussing jboss and senior architects :)
- get the laptop connected, publish the earlier blog entry that I made on the train.
- cvs update/commit my laptop to the company cvs repository.
- cvs update on my desktop machine
- ant test on desktop, everything looks good.
- cvs repository maintanence, another branch needed.
- create more tests.
- with tests in place start to refactor, using such thing as extract method, this seems easy with IntelliJ.
- suddenly things become harder as the refactorings get more complicated, for instance, blocks of code to be extracted altering more than one variable, IntelliJ breaks down, and some hand refactoring comes into play.
- lots of meetings, code and other stuff which is too hard to log in an interesting way...
- preparing to go home again, cvs update/commit my desktop to the company cvs repository, and nag my work collegues to do the same.
- cvs update my laptop, with a quick ant test to ensure that all the new classes have been added to cvs during the day.
1600- squeeze onto the tube, not a good way to travel, I try to walk both ways to work, but sometimes catching the tube seems like a good idea...
1624- squeeze onto train, ever since they altered the timetable, this train has been a nightmare, so I usually spend the first twenty minutes home in the guards van, with my laptop keeping me company.
1630- start to write a website for megg, as people have begun to nag me that this tool should have a proper home, not just the project pages at sourceforge.
1731- arrive back at station car park.
1751- arrive back home.
family time- as a dad, husband and dog walker, I try never to code/work of an evening, life is too important to fritter away...
2230- set alarm, go to sleep.
Thanks for listening, I'll try and upgrade my life to something more interesting soon :)