(This is a repost from my personal blog; I haven't decided whether to stick with my MSDN blog which has been highly neglected, use my Spaces profile, or do a combination of both...I like the MSDN blog because it's more customizable, but I also like to dogfood Spaces for a bit...so we'll have to see!)
 
About two weeks ago, I joined the Visual Basic team.
 
Back in the summers of '01 and '02, I interned at Microsoft on the Visual Studio for Devices team. It was an amazing experience for me, and one day I will write about my internship and what I learned from it. For now, here's a good article by Steven Sinofsky about it (although he speaks from an Office perspective, the experience is very similar).
 
After my internships, I joined the team full time - I really think that joining the same team you interned at is a great advantage - you already know the people, you know the product, you know the code, you know the experience - you save a bunch of ramp up time and can hit the ground running.
 
On the device team, I worked on the native debugger. In particular, I worked on the expression evaluator (this allows you to query your program for your data using the watch window, local window, etc), and when some members of the team left, I picked up some of the work in the debugger connectivity layer (which uses CoreCon) and some PDB reading stuff.
 
Last summer, the VSD team got transitioned to India, and our team got merged with the VS Core team. I got my hand at trying some new things, but in the end, I decided to re-join a team that was doing compiler/debugger work, since that is what I'm passionate about.
 
And so here I am, on the VB compiler team :)