Written June 30th, 2009
This is meant to be an insert within a forthcoming "What Exactly Does One Do With 'Oslo'?" article; originally it was part of that piece but tended to make the whole thing somewhat lengthy!
Some of you may remember the work I did in my "version 1.0" career at Microsoft, which spanned the years between 1990 and 1996. During most of that time I worked as a software engineer in the Developer Relations Group (which eventually turned into Developer & Platform Evangelism) with the purpose of helping developers outside of Microsoft understand and apply our technologies. In this capacity I ended up as the industry expert on the OLE and COM technologies. This put me on stage at many developer conferences and saw the publication of Inside OLE 2 (1993) and Inside OLE 2nd Edition (1995).
At that time, the focus was pretty much on desktop applications; client-server applications were really just starting to hit the mainstream, including web applications. And that was the very point at which I retired from the high-tech scene altogether. (For the complete story of my first career, which many people tell me isn't actually boring at all, see my book, Mystic Microsoft.)
Thus I completely missed out on the evolution of Microsoft's component technologies beyond the desktop. While people like my friend Don Box were circling the globe talking about DCOM, .NET, and all kinds of new middle-tier and enterprise-level stuff like Microsoft Transaction Server, App Server, BizTalk Server, and what have you, I was off doing completely different things (see www.kraigbrockschmidt.com). To what extent I fiddled with technology, it was pretty much still limited to client apps, managing a few Access databases, and putting together some simple websites. What I learned of .NET was pretty slim, just enough to be mildly confused.
Ironically, the chap who was my direct manager when I wrote this, the very visible Chris Sells, got started in all this shortly before my exit. Having started his path with COM at one of my presentations, he eventually worked with Don Box at DevelopMentor where he earned his living, as he puts it, "telling people how to minimize round-trips in DCOM." Since then he's been pretty deeply immersed in the heart of efforts like Microsoft code name "Oslo."
Now fast-forward to the beginning of 2008. Had you visited my home at the time, you would've seen my wife and I enjoying our 15-month-old son who was just then learning to walk. But of course, you can't watch an infant without pondering your inevitable future. The presence of such a new and rapidly-growing addition to our lives clearly spelled out BIG CHANGES, all of which benefits, shall we say, from some additional cash flow.
For that reason we decided it would be prudent for me to get paid for working again. I put it this way because I'd been working on all kinds of stuff during my so-called "retirement," working harder, in fact, than I'd usually done with Microsoft (see my bio on my main website). Most of it, however, was in a volunteer capacity, or when I did get paid I often directed those funds to charitable purposes. Now, however, we had our son's future education to plan for, which we suspect will also include quite a bit of extracurricular travel.
So in March 2008 I got hooked up with a group at Microsoft and contracted to update an SDK for an as-yet unreleased "declarative" development framework. My connection was through the group's former lead Program Manager, Bob Taniguchi, an old friend who pops up in the pages of Mystic Microsoft from time to time. He'd actually shown me the technology some six years earlier as a teaser to see if I wanted to come back to Microsoft at that time. Nothing came of it then, but hey, connections do come through eventually!
At that time, I think the project existed under the auspices of Microsoft Office, as its proof-of-concept application was the Calendar Printing Assistant for Outlook. By 2008, however, it now lived under the banner of a bunch of stuff called "Oslo" and specifically within something called "Quadrant". But being pretty well clueless about the enterprise and middle-tier scene, I listened politely, feigned comprehension, and mostly paid attention to the specific contract work I was to do. All I really knew of "Quadrant" was that it was being written on top of the framework I was documenting.
My entry point into the world of "Oslo," then, was really at the lowest level possible. Keep this mind, because all I really needed to grok at the time was the concept of declarative programming (mostly new for me until I started to remember stuff I'd learned about LISP in college).
My contract ran throughout the spring and into summer, completing in late July. By then, people were starting to ask whether I might branch out "a little bit" and start also doing some needed work directly in the "Quadrant" space, specifically in starting to think about what an SDK would look like for that tool. Trouble was, contracts are very task-specific, and to have me continue to work on the framework as well as "Quadrant" proper would require multiple distinct contracts. That gets messy in short order!
The other trouble was that the economic downturn (that was just then coming into full swing as my brokerage statements testify) dropped the ax on the very budgets from which my first contract was paid. Thus the prospect of renewed contracts was looking about as healthy as stray cattle in the Serengeti.
For these reasons, we all decided that the right answer was for me to become a regular employee at Microsoft again. There was open headcount at the time (a door that itself shut only a few months later), and being an employee meant I could shift and split my work as needed without complication. So it was that less than a week before my 40th birthday (which is September 14th), I found myself in my first New Employee Orientation session in 20 years, launching Microsoft Career 2.0 and winning a prize for being the only one in the room of 150 who could recite—verbatim—Microsoft's original mission statement ("A computer on every desk and in every home running Microsoft software").
All this was pretty much a no-brainer decision for me. The people who were hiring me asked me to write my own job description "that would entice me to work at Microsoft again," which I did. And the offer they made on top of this job description was better than I expected. Throughout the fall and into the winter, then, I thoroughly enjoyed my activities with the framework and began to dabble a bit with "Quadrant". And somewhere around mid- to late-November I started to watch some of the PDC 2008 videos to learn more about this "Oslo" thing. Mostly I blinked a lot, shrugged my shoulders a few times, and figured it would all become clear in time as needs be.
Turned out, the need descended quite abruptly. Three weeks into the new year, an email arrived from Steve Ballmer about "Realigning Resources and Reducing Costs," which meant the recession was now hitting home. That's when Microsoft announced its first-ever layoffs. While I was thankfully retained, the "Oslo" team as a whole saw about a 10% reduction in personnel. And that's where the "realigning resources" part came in, otherwise known as a reorg. No stranger to these, I, from my previous career; I just hadn't expected one to happen so soon!
Unbeknownst to me, the program manager in charge of the recently-created "Oslo" Developer Center on MSDN (which, I might add, was also unbeknownst to me) had been let go. The "Oslo" leadership team, looking around at who they had left, was working on reassigning roles. That's when I got an email from Chris Sells asking if we could "get together." I figured something was cooking, as the only contact I'd had with him to that point involved (a) his not-entirely-flattering perspective on the first OLE/COM talk of mine that he attended ("where you started off by talking about why aggregation was better than inheritance"), and (b) his not-at-all-flattering views on "Quadrant's" underlying framework, the one in which I was investing my time and energy.
Anyway, the result of that meeting was that yes, I would be willing to take on an all-up "Oslo" role by managing the DevCenter. With the focus I'd shown years ago on helping developers understand Microsoft's technologies, I was clearly a good choice for the job. Yet I had to be honest with Chris. "You know," I said, "I really don't know jack about 'Oslo,' the problems it's trying to solve, or the whole middle-tier/enterprise space in general. Won't that be a problem?"
"No," he replied, "It's actually an asset. Most of us have been so immersed for so long in 'Oslo' that it's difficult to take the perspective of outside developers. You've always proven that capability, even when you are immersed, so the fact that you're starting off in the same position as other developers is perfect. You'll be able to help them learn as you learn yourself."
Thus I found myself with the responsibility to tell the story of a group of technologies, a story that was unfortunately "written" in a language I didn't yet comprehend. But such has always been The Microsoft Way, to challenge its employees to come up to a higher level in short order. Welcome back!
(Indeed, the challenge continues…shortly after I wrote this piece we had another round of organizational joy in which Chris and I both found ourselves working under Douglas Purdy. What's more, as Doug suggested in a recent post, the "Oslo" project is merging in with the larger picture of Microsoft's data platform, meaning that the scope of my role is expanding yet again into even more technologies that I've never set eyes upon! At least now I have a healthy pattern established for undertaking such a task.)