Microcontrollers (and other embedded systems) often feature a “watchdog timer”. It’s a small bit of hardware – usually not much more than a counter – that runs independently from the normal system. When something interesting is going on in the system, the watchdog timer gets reset, but when things stop being interesting (typically when something hangs), the counter keeps increasing, and eventually it hits a specific value (or rolls over) and triggers an interrupt.
At which point something drastic happens. Typically, in an embedded systems you restart the whole thing, on the theory that a restart is a whole lot better than hanging around not doing anything interesting.
And what does this have to do with anything?
Well, I came to the Movie Maker team in September of 2004 to work on a WPF-based version of Movie Maker. Between the time I accepted the offer and the time I started, the Longhorn Reset happened, managed apps were pulled from the release (a disappointing but reasonable decision), and after a few fits and starts, I ended up working on DVD Maker on top of Aero Wizard.
And while that wasn’t really what I’d been hoping for, I really liked the team and there was a clear customer need, so despite the size of the “Windows Tax” (the amount of process you have to deal with when you’re part of Windows, or more generally, inside any big org), it was a good experience. After Vista, we had some nice plans, both around product and process.
Then, in October of ’06, the group that built Movie Maker and DVD Maker was re-orged into the Windows Live org and merged with the group that owned the photo gallery (among other things). The team that I ended up on had an interesting charter, and if we were able to fulfill that charter (in the way I thought we could), it seemed like a it would be a great experience and would result in something that customers would love. It also looked like Live would be on an internet-ish ship schedule, or at least something closer to that than Vista was (it would pretty much have to be…)
Which reset my personal watchdog timer.
Unfortunately, since then resets have been very scarce and in fact there have been a couple of configuration updates that have increased the rate at which the watchdog timer increments. About a month ago the counter overflowed and the “find new job” interrupt was raised.
While I did spend some time looking at the job market outside of MS, I wanted to stay if it was possible. Mostly that’s because I’m comfortable in my commute, my health plan, gym membership, etc.
I did a few information interviews – interviews where you just get together with a hiring manager to find out more about the job – and a pretty intense full interview loop (anybody know why it’s a “loop”?) last Thursday, and then accepted an offer Monday morning.
I’m going to work in the fairly-recently-formed Health Solutions group. I don’t know exactly what I’m able to talk about yet, so you’re going to have to settle for that ambiguous story, none of which I can confirm or deny. I’m spending another week or so at my current job, a week off (and you *have* to take some time off next time you switch jobs), and then starting at my new job on the 21st of May.