Dispatches from Maine

Just another person of little note writing about ordinary things. That I reside in Maine is icing on the cake.

11 September 2005

PDC05: Day One (Putting Patterns in Perspective)

The first presenter was Stanley Lippman (blog) whose talk was called "Putting Patterns in Perspective." His presentation style catches you off-guard right away. At first he sounds a little lost and rambling, but then with a sudden switch everything he said before all makes a lot of sense. He made a very convincing argument that all information goes to entropy and that code is information, so all code goes to entropy. I was particularly moved by his way of explaining how developers are unavoidably embedded in the code they write. In a 2D animation the perspective of the artist is built into the way the picture is rendered (he said, "[their] eye is baked into the picture"). I think developers and their software are really the same way. A particular pattern he discussed was Cargill's Pattern ("Localized Ownership: Managing Dynamic Objects in C++" by Tom Cargill).

The talk then took a very interesting step into a higher altitude. The first step was a pattern for projects which he called the Innovation/Polish Index (IPIx). His view was that in the begining of a difficult project the question is more about "is this possible" rather than "is this the best design." For this phase you need pioneer/scout-style developers. Once the project is established the focus turns to polish, which shows the original design errors. The types of developers on this second phase are quite different. From my point of view this was the difference between invention and production, but I can say I had never contemplated it as a pattern. He then turned the discussion to careers. Many developers take the management track when they reach a certain point. The other option, as he saw it, for people not interested in management is the "Guild Manager" or an expert and trusted maintainer of a large, difficult codebase. He then turned to languages as a pattern and the idea that all languages will fade from popularity. Perhaps, he suggested, that if languages compiled to MSIL then even when the language ceases to be popular, devotees could continue to use it in a multi-language context.

The question and answer period was very interesting and entertaining. Another attendee asked if there was any plan to have tools which take MSIL and display it in a user configurable language: I write C++/CLR, compile to MSIL and then Bob reads that same MSIL and displays is as VB.NET. Lippman found that to be a very interesting idea. Then I asked a question and got into trouble. I said I was trying to build a career as a Guild Master, or something, because "I had been on the mangement track and it sucked." Lippman chastised me for being vulgar, for which I did apologize. I reminded me of the PDC at Long Beach where Don Box walked up behind me while I was saying a pre-conference session was boring since it review much material most of us already knew, though it was a hoot to see someone so well known in distributed systems giving it. Don was apparently very fond of this person and proceeded to verbally whip me a good one. I felt pretty bad then too. I better never go for a job at Microsoft, that is for certain! After Lippman was done telling me I should not be vulgar, since it alienates people, he did give a good answer. He suggested that the Guild Master's job was really to keep a valuable corporate asset (the code) from going to entropy. This is a substantial task and requires real, difficult to replace skill. I was too embarrassed to follow up the question, but I would have asked if Guild Masters also need to be pioneer/scouts so they can reinvent themselves periodically. I wonder what he would say...


Post a Comment

Links to this post:

Create a Link

<< Home