I’m sitting here on the plane flying from Dallas to St. Louis, the second hop of my trip home from Redmond, and we’re a couple hundred miles out of St. Louis. I just made it to Executive Platinum on American Airlines in the past 100 miles or so. For those of you who don’t know what that is, that’s 100,000 miles flown in one year. Is that too much travel? Sometimes I feel like I’m just visiting when I’m home 🙁
There are pluses and minuses to traveling this much. I have 3 young children, and I miss a few of their special occasions, and I don’t get to see them anywhere as much as I’d like to. Linsey is 10, loves to play sports and talk on AIM to her friends. She plays piano and cello, sings in the choir, dances, plays softball, basketball, and tennis. And gets good grades. She is so sensitive and loving, I enjoy all my time with here. Laurel is 7, and is brilliant. She is what they call highly gifted, and she and I relate very well because of it. As a child, I went through a lot of the same stuff she is going through now in having a hard time relating to her peers on their level. It’s hard for children like that to have normal childhoods, because their mind is at a different level than their classmates. She and I talk about those kinds of issues a lot, and we like to be silly together. And Andrew is 4, and is going to push Laurel in terms of academics really soon. He’s really bright, too, and loves to play trains. Whenever he sees me, he always asks me to play Thomas with him. I miss all of them when I’m not there.
And I haven’t even mentioned my wife, Sharon. She’s just great. She takes care of all the house management stuff, as well as manages our business, leaving me free to work, develop business, teach, speak, write, and do all those professional things I need to do to make our business a success. And she plays tennis and softball, is very involved in our kids’ schools, has been PTO president for the past 3 years, yet still finds time to spoil our kids silly. I have tremendous respect for the job she does without me for a large part of the time.
On the other hand, I have the best time when I’m working up at Microsoft. The two guys I work with on a daily basis, Scott Densmore and Peter Provost are both incredible. They teach me something new every day. Between them, they know more about windows programming that I ever will. And do we have fun! We have nicknames for each other, we quote movie lines all day long, all like the same music, and just have a ball. Oh, yeah, we also write some really cool software. And getting to work with Jim Newkirk and Ward Cunningham daily is like gravy on top of all of this. Jim and I have some really good talks about where software and TDD are going, and how we can help, and Ward is just Ward. Ward was telling me about this idea he has for a next-generation wiki, possibly written in a language he just showed me called Io. Very cool prototype-based language that took me about 5 minutes to learn 🙂 As a contractor, I know my time at Microsoft is going to come to an end at some point, and I know I’ll miss it and them very much when it does.
I started this post with the intent of talking about what I was doing on the plane, but I got a little off track. My original point that I wanted to make is that I’m spending my time on the plane practicing programming. I remember either Kent Beck or Ron Jeffries talking about how they practice programming. Just like star athletes and musicians practice their craft, programmers should practice theirs. I’ve been thinking and introspect+ing a lot in the past month or so about refactoring and TDD, as well as reading the Refactoring and TDD yahoo groups. From those lists and my own thinking, I’ve developed a few things I’d really like to try out. Jay Bazuzi had a really cool post on the refactoring list a couple of weeks ago about really small methods, and I’m trying to write my code like that, just for practice. Ron posted to the TDD list that he almost never uses exceptions. He changes his design in such a way that their handled at the point at which they’re thrown, so the only exceptions that leak out of his lower level classes are the ones he truly can’t do anything about. I know that sounds a bit vague, but I’m trying to put together some examples of what I think he means that I’m going to write about soon.
If anyone made it this far in this rambling post, I thank you for reading it. It really was just a stream-of-conciousness post about what was on my mind right now. Welcome to my life 🙂