in Uncategorized

Last day as a Microsoft intern

Today is my last day as an intern on Microsoft’s ASP.NET dev team. I would like to share my experiences and talk a little about what I spent my summer working on. First and foremost, Microsoft’s internship program is amazing; they really know how to give college students a fun summer while working hard at the same time. Microsoft organized big and small internship events, from a free showing of Kooza with all of the interns where we received Zune HDs, to Puzzle Day to seeing Scott Pilgrim vs. The World with my small social group. There were so many events put on for us that were so epic I could spend multiple posts talking about (and I should have throughout my internship).

The internship wasn’t just fun and games though, Microsoft interns are recruited for their technical knowledge and their ability to problem solve. We were given real projects on real product teams and given the opportunity to work on a feature (or features) over the course of our internship. I was a developer on the ASP.NET Razor Syntax team.

I didn’t go through the normal college hiring process to get on this team. I had been a regular to the Seattle PHP Meetup, and the group was invited to come to Microsoft for a software design review hosted by the ASP.NET team. I came for the SDR and after some signing of NDAs we were told what they were working on. The team was developing a way to get new web developers to adopt the Microsoft web stack. This has always been an issue for Microsoft, and part of why PHP has such a large following.

Using PHP, you can simply create a file, upload it to your host, and navigate to the file. Using ASP.NET, you had to create a new project in visual studio, add that file, set up your publishing settings and publish to get the same results. Microsoft is making a push to make it easier to ramp up developers using the web stack. To do this they have introduced a new set of technologies that make it just as easy (if not easier) to have the same kind of “hacker” mindset PHP allows, but using ASP.NET.

This all starts with a new slim, fast, and easy to use IDE called WebMatrix. WebMatrix lets you easily create web sites, write code, manage databases, and upload to web hosts. WebMatrix has a web server built in, the new IIS Express. This allows you to be developing a site and click run in WebMatrix. It will start up IIS and run the page you have selected in WebMatrix. As a PHP developer, that is pretty awesome already. Normally I would have to install WAMP (I use Zend Server CE) and make sure everything is set up correctly. Also, WAMP normally stays running through the life cycle of your computer, IIS Express only starts up when you run your site, and shuts down when you are done. Pretty handy.

All this is good and dandy, but none of it gets me as excited as the Razor View Engine that was introduced as well. This is what got me the most interested at the SDR, and ended up being the team I have been working with this summer.

At its core, the Razor View Engine is designed to make it easier to build feature rich websites with less code. This is partly done through the awesome parser that Andrew Nurse, one of the developers on the team wrote. One of the easiest changes to accept is the way that you specify code inside of html. Take the following example as it is shown in 3 different ways:

PHP (excuse the short tags):

ASPX:

Razor:

As I tell people who look at me funny after seeing this example is that “it just works”. Embrace it. This change makes it so much easier to write simple pages with embedded statements. This is only one type of thing that Razor enables, it also provides a version of the two step view pattern. Razor has support for some awesome initialization pages and easy to use helpers. My favorite helper is the membership helper. There is so much juicy functionality in Razor that I can only point you to the ASP.NET Razor Syntax tutorial. Read it and be amazed.

Anyways, this summer I worked on a bunch of projects inside of Razor that gave me a pretty well rounded experience. I can’t provide detail into what I have been working on, although when the next public release of the web stack comes out, I will have a lot to share.

What I can say is that I wrote a sample application that will ship with WebMatrix that shows off some of the sweet functionality of the Razor syntax. I also worked on some new helpers that came from complicated yet common scenarios in the PHP world and was able to make it really easy for Razor developers to use.

I also spent a lot of time working with the Membership helper. This is the coolest thing I worked on while at Microsoft, but I can’t talk about it at all because the part that I worked on is entirely new to ASP.NET and has not been released yet. I’m most excited to be able to have a write up of that once the next Razor release comes out. Stay tuned!

I worked hard this summer on my projects (had a lot of fun doing them too) and was rewarded with some pretty sweet swag at the same time. From what I understand, HR has a budget for intern gifts each year. Each division also can give gifts to their interns. I was a member of the server and tools division , apparently that was the place to be this summer. It seemed like there were not very many interns over in STB (in comparison with places like Xbox and WindoDevDiv Netbookws Phone 7) which meant they had a much higher budget per intern.

Leaving Microsoft this summer I am weighed down with some awesome swag. Things that all Microsoft interns received this summer: Zune HD , Windows Phone 7s , a 2010 intern t-shirt (of course), and a messenger bag. Server and tools / dev div gave us crazy amounts of stuff as well. We got a pretty cool (pun intended) mini fridge that can plug into the wall or the car and is able to heat or cool. We also got a free 3 month Zune pass to go along with our Zune, a netbook, and an even nicer messenger bag. I got a bunch of t-shirts, and I’m sure there are other things that I am forgetting.

All in all, this has been an amazing summer and a fantastic internship. I would highly recommend applying to Microsoft for an internship, it might be the best decision you could make.

Write a Comment

Comment