I haven't been posting about this here because so many of my coworkers read this journal, but at this point I think just about everyone I can reasonably tell in person has been told...
I'm leaving Permabit
on December 8 and starting a new job at ITA Software
on January 2. I will be working on the core scheduling application.
When I started at Permabit almost six years ago, I had been working on my Palm Pilot programs
but had to put those down mid-bugfix as Permabit was in those days in full-on startup mode. A year later things eased up enough that I could think about other things, and I expected the time lapse to make fixing my half-fixed bug much harder. But in the intervening year I had become enough better of a programmer that rather than being set back, I was more able to understand what the code I was looking at really did and figure out how to fix the bug. Soon I put the program down again, and another year later when I picked it up, I was able not only to quickly chop bugs off my fix list, but also to identify new potential trouble spots and predict where bugs might be rather than waiting until I stumbled across them in competition. Another year or two passed, after which time I decided that my skills and process had progressed so far that the existing code base was no longer appropriate, and so I began to rewrite the apps from scratch. Then Arisia 2006 came along and I put that down for a year. This March I picked my rally app up again and sat down to add a new kind of feature, one I'd thought about in the early days of the rally app but never been able to compose a good architecture for. At the end of the day when my new feature passed its unit tests, I checked it in with a satisfied thought of "I learned something new today". This was immediately followed by "It's been a while since I did that at work. Time for a new job".
The road to the new job has been exciting but circuitous, involving contributing to two open source coding projects (one to put on my resume, and one being the tool I use to maintain the resume itself), a secret flight to San Jose, and the genesis of the so-far second-most-credible attempt to solve a Hilbert problem
(link is to the third-best solution; the code for the best solution is not online). ITA itself has been very responsive once I reached the point of being ready to proceed with them. I'm looking forward to working with some of my readers for whom I have the most respect technically, and at the same time will miss many of my current coworkers terribly. And in the meantime I have three weeks that I plan to jam chock full of fun things to do.