Things have been dark here for a bit, but it's been due to vacation and travel.
I spent nearly two weeks with my family out in California at family cabin right at the border of the Desolation Wilderness in the Sierra Nevada mountains. I came back from the trip completely recharged -- something I was in desperate need of.
(This photo's not from the cabin, but from a trail just up from the cabin. The cabin's on Echo Lake, the small lake in the background.)
We got back in town late Tuesday night. I had one moderately catchup day at work, then spent a morning talking with Andy Hunt about Agile at Quick Solutions, then jumped in a car with colleague Steve Horn and drove down to DevLink where I had an amazing time.
DevLink was a great experience for me. First off, it's the first conference I've been to in a long, long time where I didn't have to speak or help run the conference! It was great to just show up and hit all the open spaces that Alan Stevens ran so well. Secondly, it's been quite some time since I've had so many great "Ah ha!" moments in one conference. I've got a long list of things to ponder over, starting with this short bit:
- Rethink how I handle comments. I'm generally an anti-comment Nazi, holding off comments for only small blocks which need a "Why" description. I'll continue that, but will look to extract those small blocks into better-named methods or classes which are more descriptive of the domain problem I'm trying to solve.
- Completely rework how I write tests and the system evolving from those tests. Leon, as he is often wont to do, seriously screwed with my head by mentioning that he starts out writing his tests and the evolving system all in the same file. He doesn't move anything out of that test file until the design of the system evolves and drives where the location of the system code should land. This is an incredibly simple, incredibly powerful concept -- and it's why I dig chatting with folks like Leon and Corey so much.
- Work harder at the grammar I use when writing tests. Test grammar's important because it clarifies what you're trying to test and helps guide you to a clear picture of the system you're building. I've been doing a bad job of that, instead just throwing test code at the screen without a good, clear picture.
Additionally, the open spaces discussion dealing with developer motivation caused me to do some re-evaluation of how I've handled one particular problem project. My own motivation on the project's been poor for some time, and I need to step back, re-assess my own actions, and get my head on straight.
Finally, DevLink got me all juiced up about CodeMash '09. We're already getting some stellar content lined up, and the list of keynoters is starting to gel out quite nicely. There's also some terrific news regarding a certain podcasting show that will be in attendance, but I can't quite release anything official on it just yet.