What do I actually do…?

Back in December, when discussing my bout of writer’s block, I said that I should probably write an entry “What the Hell I Do [at Microsoft],” since I think that the question is sometimes a little murky (even to me). Most of my career I was just a “developer” or “manager,” but now that I am an “architect,” things are a little more complicated.

As far as I can tell, “architect” is such a general title at Microsoft that it’s practically meaningless. It can mean totally different things in different organizations. In my case, being an “architect” seems to mean:

  1. I’ve been around a long time.
  2. I’m a developer (more or less).
  3. I don’t manage anybody.

(For those paying close attention, my title when I started this blog was “Technical Lead,” which was an even more meaningless term, especially since I used to be a “Technical Lead” on Access when I was much, much, much more junior. And I believe that my title will soon change to “Principal Architect,” which only means that if you’re an internal Microsoft person, you’ll have a general idea of what my career ladder level is.)

I should also be clear that I am an architect working on Visual Basic, not the “architect of Visual Basic.” There are at least three other people who work on Visual Basic that share the title of “architect” with me, all of whom do wildly different things. Basically, we’re just a bunch of senior developers who didn’t want to manage people but were useful enough to keep around anyway.

So that’s my title, but what do I actually do? Well, my standard cocktail party answer is “go to meetings and write emails.” And (very) occasionally write blog entries. However, if you wanted to pin me down a bit more, I tend to spend my time doing the following:

  • Attending language design meetings. We tend to have two hour design meetings every week on Monday and Friday to talk about Visual Basic language design. This is where we hash out new ideas, work through details, and deal with followup issues. With where we are in Orcas, it’s mostly followup issues at this point, but we should start gearing up to do some early thinking about post-Orcas soon.
  • Writing the language specification. This is a seasonal activity, so to speak, since it’s really only done later in the release cycle when the various individual feature specifications have settled down. It’s sort of a last formalization step for all the features and a chance for me to do a pass through everything we’ve decided. I’m actually just about to start this for Orcas.
  • Doing community stuff. This includes blogging, going to conferences and giving talks. I don’t do a huge amount of this in any one year, but it’s something I’m trying to do more of.
  • Writing code. Amazingly enough, I still do this. It tends to be what we call “long-lead” work, though, stuff that’s maybe a little further than prototype but not real production. For example, I did a lot of work on getting the first couple of LINQ CTPs (the pre-Orcas CTPs) out the door. And I’m doing a lot of work right now on some other code that might appear a little at MIX and (I hope) a lot more at the PDC.
  • Answering questions. As the longest serving member of the language team, I get a lot of random questions from people about design questions, past and present.
  • Talking to other teams. Whatever I’m working on usually interacts with other teams in some way, shape or form. With LINQ, I spent a lot of time talking with the C# team and SQL team. With the stuff I’m working on now, I’m spending a lot of time talking with other teams. Coordination is frequently the name of the game.
  • Trying madly to keep up with my email. Like the rest of the universe.

Of course, what anyone does at Microsoft always tends to be a moving target, so I’m sure I can write this same entry each year and it’ll be a little different each time. I guess that’s what keeps life interesting!

Yes, it’s been quiet around here…

It’s amazing how many viruses babies manage to bring into the house. I think we’ve been down with something pretty much continuously since we got back. Fortunately, we haven’t been all sick at once, but this is starting to get a bit old…

Things have also been extremely busy around work. I’ve been working on something that I’m hoping we’ll have at least a mention of at MIX07 and will probably have more to say about later in the year. I realize there are some threads that have been left hanging, so I’m going to try and tie them up in the coming weeks.

And, finally, the mail on my webserver is now working again, so if you’ve wanted to send me feedback on the Contact form and haven’t been able, you’re back in business. Sorry about that!

Demonstration of XML in VB9

For those of you who might be curious about how the XML integration features in VB9 work, there’s now a great screencast up on Channel 9 that walks you through them while building a sample application:

The next version of VB .Net adds Xml as a built in data type using the new LINQ to XML API. As a built in data type, VB 9.0 provides the ability to create XML using XML Literals and to query XML documents using XML properties. This webcast contains a demo by David Schach, the lead developer in this project, of creating a program to share pictures over the internet.

Check it out!

March 2007 Orcas CTP, now with cool VB features!

Maybe you’ve seen this elsewhere, but the big news of the week (VB-wise, at least) is that the March 2007 Orcas CTP is now out. Those of you who’ve been following along with the previous Orcas CTPs will have noticed the paucity of new VB features relative to some of the other VS languages. This has been largely due to the different implementation strategies of the languages–since the Visual Basic compiler is so closely tied to the IDE services, we needed to really plumb the features all the way through before we could consider them “complete.” Anyway, many of these features are now on-line and available to be tried out. They include a bunch of features we’ve discussed before:

  • Query expressions
  • Object initializers
  • Extension methods
  • Type inference
  • Anonymous types
  • XML literals
  • XML access members

And the CTP also includes some pretty nice Intellisense enhancements that have not been discussed previously. I encourage everyone to give the CTP a whirl and let us know what you think!

A belated "five things"…

I thought I’d done this when Bill was kind enough to tag me, but I just found this post tucked away in my “drafts” folder… I know this is well beyond the life of the original meme, but I went through the trouble of writing it, so here are five things you probably don’t know about me:

  • I wrote my senior thesis in college on the role of etiquette in Tom Sawyer and Little Women. (I actually double majored in college and graduated with a Bachelors of Science in American Studies and Computer Science. This may have been the first BS awarded in American Studies at Yale.)
  • My wife and I have a long-standing tradition of reading together out loud at night before we head off to sleep. We started with a number of children’s classics that I had never read as a kid (The Wind in the Willows, Winnie the Pooh) and have since skipped back and forth through a number of different genres. Barnes and Noble’s classics series has been great for this, as we’ve tried out The Count of Monte Cristo, King Solomon’s Mines, several E. Nesbit books and are now starting in to Dracula. When the kids get a little older, we’ll start with them, too, although not with Dracula, of course…
  • I suck at math. Well, I was good enough at faking it to get through multi-variable calculus, but that doesn’t mean that I actually understood any of it. I actually took the GREs twice because I did so much worse on the math section than I did on the verbal and logic sections that I figured that I must have accidentally missed a bubble or something and started answering in the wrong rows. Turns out I didn’t. Second math score was worse than the first.
  • Growing up in the fairly urban, fairly liberal area that is the Research Triangle in North Carolina, there are many ways in which I don’t think I can truly claim to be a Southerner. However, one part of me that will always be Southern is my palate. I constantly mourn the fact that I cannot find any of the following anywhere near Seattle: Chick-Fil-A, Cheerwine, hushpuppies, Brunswick stew, proper cornbread, sliced NC-style BBQ (the kind they make at Bullock’s), creamed corn, Calabash-style seafood, sweetened ice tea or fried okra. Thankfully, we now have Krispy Kreme, red velvet cake is catching on, and I have to say that the Kingfish Cafe’s fried chicken and greens are pretty good.
  • I took piano for nearly seven years and managed to get worse over time, not better. One of the most mortifying moments in my life was when my family was between houses and my mom took me to her friend Mary Lou Williams‘s house to practice. (Mary Lou Williams was artist-in-residence at Duke University at the time, where my mom worked and had become friends with her.) Suffice it to say, if Mary had anything to say about my pathetic use of her piano, I mercifully don’t remember it. (I’m sure she was completely gracious as she always was.)

I think this meme is so dead, there’s no point in tagging anyone. Besides, who’s left that hasn’t done it?

I’m back, and some links…

Well, I have to say that in some ways it’s great to be back at work, and in some ways, not so much. Everything’s going great at home, and now it’s time to get back into the swing of things. Two links for people who might have missed them (but I doubt many people did):

More as I dig through my email!

For Jim Gray, wherever we may find him…

Being on parental leave and not that up-to-date on the world, I wasn’t aware of the disappearance of Jim Gray until this morning, when I opened my New York Times and saw a familiar face, much to my surprise. (The last and only other time that happened, someone who was in my class in college had won a Pulitzer.) I don’t really know Jim well, but have crossed paths with him more than a few times in the past several years. The latest was my trip to Japan for the launch of VS 2005 and SQL Server 2005, where I did the VS keynote and Jim did the SQL Server keynote. For someone who has done so much amazing work in the computing field, I found Jim to be an amazingly down-to-earth, gracious and friendly guy. I’m not at all surprised by the outpouring of concern and effort on the part of the computing industry to help find him.

I can only hope that he will be found alive and well. My thoughts are with him and his family.

New arrivals…

I’m happy to announce that the Vick family has grown by two whole people! On January 9th, my wife Andrea’s birthday, we were in Guatemala City, Guatemala and became the proud parents of two boys, Benjamín Conley Vick and Samuel Jorge Vick.

Here’s Ben with some wild hair going on:

And here’s Sam:

After many months of paperwork and bureaucratic hell on all sides, we flew down to Guatemala last Monday and they dropped off the boys on Tuesday. After finalizing their visas with the US Embassy, we returned home last Sunday in a trip that was truly a marathon. However, the kids were pretty good about it and slept most of the way (except for maybe the last couple of hours). The true highlight, though, was trying to adjust our car seats (which had been left in Seattle) to our children’s dimensions in baggage claim at SeaTac airport at 1am. The temptation to pull a Britney Spears was mighty strong, but the icy roads outside suggested that it would have been unwise.

Otherwise, we’re just recovering from the trip and trying to start settling in to a regular schedule. At eight months, the boys are pretty good sleepers, but there are always kinks to work out in the system…

Exciting times

As I wrote back in August, my wife and I are adopting twin boys from Guatemala. At the time I last wrote, the adoption papers for Ben & Sam were wending their way through the Guatemalan legal system. The Guatemalan side of things was finalized back in October (making us officially their parents) and then there was just the small matter of getting the US Embassy in Guatemala to approve our papers so we could get visas to bring them back into the country. Well… It ended up taking a little longer than expected (two months instead of two weeks), but we got the word last week that our papers had been approved, so we’re now headed down to Guatemala! Assuming no other hiccups come along (knock wood), we should be back home next week with Ben and Sam, and I’m sure our house will never be the same again…

I’ll post pictures when we get back, but this also means that I’m going to be on paternity leave for a month as well, helping to get things settled (at least, as settled as they’ll ever get) around the house. I’m sure there’ll be some times I’m up at 4am and have nothing better to do than post, but things will likely be quiet on the VB front during that time. But rest assured I’ll be back!

Ten years… Where does the time go?

It’s hard to believe, but it’s been ten whole years since I joined the Visual Basic team. Back in January of 1997 I moved from Access over to OLE Automation with the thought that automation was going to be the central place to be for development tools at Microsoft. A month or two after I’d made the switch, I had a meeting with some random guy named Brian Harry and some other people talking about this great metadata engine they were working on that was going to totally replace OLE Automation. I remember thinking, “yeah, right.” Of course, that metadata engine went on to become the metadata engine for the CLR…

After a year and a half working on OLE Automation (and, I hope, working on the first and last component I’ll ever have to check directly into Windows), I moved over to the Visual Basic compiler team. To say I had no idea what I was getting into was an understatement. We’d just shipped VB 6.0 and were figuring out what to do next…

The last ten years have been a real learning experience. Sure, I did well in my compiler class in college, but let’s face it–I had only scratched the surface of what it means to build a compiler, and I knew absolutely zip about language design (they just don’t teach you that in college). I’ve been blessed by the opportunity to work with a whole lot of really bright people who were patient enough to teach me what I needed to know along the way and to put up with me the times I got things wrong. I’m proud of the products that I’ve contributed to over the years, and am looking forward to the work that’s left to be done. The great thing about working on development tools is that there’s always something new…

Dunno if I’ll still be doing VB ten years from now, but as Fats Waller said, “One never knows, do one?”