When I was working at JPL for the summer a few years ago, we were doing some very cool stuff that I still think will be crucial to the eventual rise of the machines, but our efforts were greatly impeded by the nature of government operations. For example, most of the lab’s computers were on three-year rental contracts from a subsidiary of some defense contractor. We weren’t allowed to replace or even upgrade them. I was lucky enough to have my own workstation, and unlucky in that it was a real dark ages UltraSPARC running Solaris, frequently got tapped to run processor-intensive SPICE jobs for other researchers, and on top of that, was the lab’s web server. The other summer researchers weren’t as lucky. There were two or three modern computers which had to be shared among them, and the only reason the lab were able to get them at all is that some bright fellow worked out that he could get around the computer supply contract if he billed computer purchases as “miscellaneous electronic equipment”.
So, screw academia. I’m now living in Seattle and working for Microsoft on Office SharePoint Designer 2010. I’ve been working on improvements to SharePoint workflows, which are long-running, event-driven background processes. The canonical example is approval of an expense report: an approval workflow can automatically trigger when someone uploads an Excel spreadsheet to a SharePoint document library for expense reports, fish around inside for the total, and process it and mark it as approved in the document library if the total is less than $500, or hand it off to the uploader’s manager for manual approval if the total is $500 or more, and send them a reminder email. The workflow authoring component of SharePoint Designer (aka SPD) is aimed at nontechnical users and is actually strongly reminiscent of the trigger editor from StarEdit, so if you’ve ever made a scripted Starcraft map, you’ll be able to fire up a copy of SPD and snap together your first workflow in about ten minutes. (Actions for recharging your shields or setting your department’s mineral count are not yet included.)
I did an internship with the SharePoint Designer team last summer, when I was trying to decide whether to stay in academia and start planning for grad school, or get out and give industry a try, and I liked it so much that when the team offered me a job at the end of the summer, I jumped on it. My development machines are powered by electricity instead of whale oil, there’s free soda down the hall, and people actually use our product. Exciting times, these.