The Great Naming Hack

Inheritting a legacy code base is a rite of passage for developers. This is the event which takes you from the mentality of clean, documented, tested code you wrote during university into the ugly real world of compromises. It is very much a “how the sausage is made” moment

Round Trippable VSIX Project Templates

A short time ago I wrote a post about how to turn a standard VSIX project into one which could be round tripped into any version of Visual Studio. This set of changes also fixed other issues like debugging + SCC, assembly binding, etc … I got a lot of positive feedback and nice links to projects that developers upgraded as a result of my post.

Interviewing College Candidates

Lately I’ve been reading a lot about peoples interview processes and it inspired me to share my process for interviewing college candidates. I’ve been doing interviews at Microsoft for ~10 years now and developed this process over that time. The format for the interviews are typically 1 hour with just me and the candidate. Usually in my office or occasionally a conference room. Unfortunately 1 hour is a very short amount of time in which to judge a candidate and I try to combat that by planning ahead and working with the below process.

Round Tripping a VSIX Project

Visual Studio 2012 introduced project file round tripping feature. This lets developers edit the same project in Visual Studio 2010, 2012 and 2013 without the need to upgrade the project file or modify it in any way. This was a highly requested feature by customers that allowed them to edit their project no matter what version of Visual Studio they had on their machine. The previous forced upgrade model for new versions was a big adoption blocker. Now customers can just grab the latest Visual Studio version and start hacking away

Immutable isn't just for parallel code

For the last 6 months the BCL team has been hard at work shipping an out of band release of immutable collections for .Net. Most recently delivering an efficient implementation of ImmutableArray