Category Archives: Microsoft

Overview of my 2013 Microsoft Internship

To summarize the internship: It was fun!

More details to be found the in the posts below.

Interviews

Application: T-Shirt and a Soda

First interview rounds: My Microsoft internship university campus interview experience

Second interview rounds: My Microsoft internship interviews in Redmond

Internship

Flight to Redmond: Flight to Microsoft

Day 0: Invasion of Nintendo America’s campus

Day 1: Intern at Microsoft day #1

Days 2 to 12: Microsoft Internship days 2 to 12

Days 13 to 19: Microsoft Internship days 13 to 19

Days 20 to 33: Microsoft Internship days 20 to 33

Days 34 to 40: Microsoft Internship days 34 to 40

Days 41 to 47: Microsoft Internship days 41 to 47

Days 48 to 54: Microsoft Internship days 48 to 54

Days 55 to 62: Microsoft Internship days 55 to 62

Days 63 to 70: Microsoft Internship days 63 to 70

Days 71 to 77: Microsoft Internship Final Week

I must apologise, I am sure there is at least one off by one error in my day counting.

Also in case you’ve noticed the url, somehow I confused my internship for being in 2012 when I first wrote the post. Just to confirm: my internhsip took place during summer 2013.

Microsoft Internship Final Week

It took the entire month of august and much of September to understand what I think of my last week at Microsoft. I hope this post can explain why I am encouraging my friends to apply for Microsoft yet made the decision I did.

 

Sunday I finished writing a blog post. In said blog post you’ll notice I am optimistic in getting a job offer from Microsoft.

 

Monday I programmed extra features for OCASE BCDE. As BCDE’s framework and sub-systems were all complete features were easy to implement. Also on this day I received a cold email from a Google recruiter. She invited me to “Discuss opportunities at Google” so we arranged a phone call on the next Monday. At this time I took the request at face value and assumed the discussion would cover Google, their recruiting process, and an invitation to apply for a position. In reality the phone call was a phone screening, I’ll cover the results later. My guess is the cold email was triggered by my blog post.

 

Tuesday was my meeting with my Microsoft recruiter for the final recruiter meeting. The normal process has this meeting on Friday. My meeting was on Tuesday due to time conflicts with a presentation my mentor arranged for BCDE to the OCASE team to take place early morning Friday.

 

Prior to Tuesday’s final meeting I had prepared myself for my first real salary negotiation ever. Over launch I asked my co-workers about their negotiations. None of them appeared comfortable talking about the issue. The general impression I got being the whole idea of negotiating was just not a thing polite engineers did. I think part of the issue was me being a junior engineer. One co-worker suggested that “When your a new graduate you don’t really have any leverage”. You’ll notice he was being polite and holding back the obvious “Daniel, stop being uppity and accept the generous offer, if given!”.

 

In truth I was surprised at their reactions. Over the years Hacker News has drilled into my head that programming on a salary is business trade. The company is not family, coworkers can be family, but the company is a business partner. Now consider that Microsoft uses stack ranking to allocate raises. This makes raises a zero sum game. What dollar of raise you get is one a guy down the hall did not get. Managers thus only have control over the relative allocation of a pot set by upper management. Or to put another way: upper management decides how much they would like to spend and you will have no practical recourse to object. Even more annoying is that Steve Ballmer congratulated himself in the 2012 shareholders letter on managing cost increases. As software companies are labor cost dominate he was in effect bragging to the shareholders about suppressing salaries. Of course this is the same CEO responsible for losing billions on bad business decisions. Thus I was not looking forward to having a boss who suppressed my salary so he could look good to the investors as he lost massive quantities of money chasing the competition.

 

Now we know at this same time Steve Ballmer was being pushed out of Microsoft. He still has a year but the knowledge he’ll leave does make me feel better about Microsoft’s future. In either case Microsoft could survive for an eternity on Windows, Office, Azure, and Dynamics. Rather my concerns were about the culture. Microsoft risks becoming yet another Oracle or SAP.

 

It is with these worries and annoyances I approached the final meeting. If I was to accept an offer it needed to be generous enough as to make Microsoft employment worthwhile for the money along. You’ll recognize that working some-place only for the money is a very bad decision. If I had to specify my dream job criteria it would be (1) in japan, (2) contributing to open source, (3) high profitability. The offer I received qualified under (3). For others Microsoft might work on things they want to contribute towards so don’t fret if you are not me.

 

I must apologize to my recruiter and coworkers for taking so long to decide. I waited one week before making my final decision official. I did not want to say no while still working, it would have been too hard to see my mentor and boss afterwards.

 

I have no remembrance of Wednesday. I can only assume it was a productive day.

 

Thursday was a big day being my second last day and having the big summer intern event. This event was a trip to the Boeing Museum of Flight plus a concert. Boeing had a All Nippon Airways 787, the new airplane, parked as a backdrop for the evening. Prior years had events at parks with country bands. This concert’s final act was DeadMou5. In truth his music does not lend itself to concert format. Towards the night’s end the songs started rolling together. After the concert we formed a mob like line and group by group received the night’s gift, a 256GB Surface Pro. A fantastic looking device.

 

Friday was spent on one last attempt at adding concurrency to BCDE. This would mark the third attempt at such. BCDE relies on dbgeng, the windows debugging engine behind Windbg. To the best of my knowledge dbgeng was not intended to debug multiple binaries in parallel. Either that or I could not identify the undocumented correct mix of COM APIs.

 

Saying goodbye to my mentor and boss was hard. I think they knew I was not going to accept the offer but they did not challenge me on the issue. That night I stayed late trying for concurrency. Once I decided to stop working the building’s receptionist had already left. Since I still had my badge to return I walked to the my boss’s boss’s office, then my boss’s boss’s boss’s office, then my boss’s boss’s boss’s boss’s office. At this point I had exhausted my WinSE boss hierarchy. Two or three more boss levels and I would be at Ballmer. This being 7pm I headed back to my area of the building and found a still present coworker and asked him to hand in the badges for me.

 

I must congratulate Microsoft on fantastic work-life balance. People have time in the morning to do things like drop their children off at school before coming in to work. In only rare cases were coworkers forced to stay late to pass a critical security bug off to india based coworkers.

 

The flight home on Saturday was peaceful and I got home without issue. Monday I had the phone call with the Google recruiter I mentioned earlier. Before I told her I was not accepting the Microsoft offer she was suggesting interviewing within the week. Since I still want to explore all my options that would have been inconvenient.

 

It is now a month into my second last semester. After this semester I will start the job hunt. Until then I’ll work on projects and encourage friends to push themselves. I think pushing yourself now is important as it will put yourself in a position to push yourself throughout life.

IMG_20130725_211504

Deadmou5 on stage in front of an ANA 787

IMG_20130727_110504

MS recruiting gave out a $10 starbucks giftcard for completing a survey.

 

Calgary in view at last!

Calgary in view at last! Nice to be home.

Update 2013-10: If you are still interested please consider reading through the overview of my internship.

Microsoft Internship days 63 to 70

Second last week! Or atleast it would have been if I had not fallen behind on blogging. I am writing this entry over a month later. My second last week was a peaceful week of programming on my major commitments. The bugs I was assigned earlier in the month were fixed and it was too late for new bugs. I presented my project to the team and explored how they could use the software.

On friday I went kayaking with my manager as part of a WinSE team building exercise for interns and their managers. I was nice talking with my manager about microsoft, life, and his programming career. Altogether it was a nice day yet the kayaking was tiring.

IMG_20130719_103444

The morning’s clouds soon burned off and ample sunshine was enjoyed by all.

IMG_20130719_131315

After the kayaking they fed us delicious mexican food. To finish the day off all the interns received a hoody.

Update 2013-10: If you are still interested please consider reading through the overview of my internship.

 

Microsoft Internship days 55 to 62

After PPSSPP shipped my key mapping commit I transitioned to more relaxed weekends. A bit too relaxed in that my blog posts have fallen three weeks behind. I am writing this 5 days away from my final day and two days from my final meeting with the recruiter. I am 90% sure they will have an offer for me. I have not made up my mind about accepting so it will depend on the offer and how far I can negotiate. Operating systems programming is what I think I want to do for the next five years but I will have to see how I can fit that into my life plan.

As per usual I have nothing unusual to report. Work was progressing well and I focused on my second project. This second project is largish and coolish, I am not sure if I have mentioned it yet. No intern events that I remember.

What I can report are these various photos I got over the week.

IMG_20130701_104534

Redmond was enduring a heatwave so I took an alternative route through a forest to work. Said forest is in Microsoft campus’s centre and is next to the visitor centre. The visitor centre is where my new employee orientation was held.

IMG_20130701_195613

I went shopping the day before and bought a box of 100 freezes. I resorted to making freeze “salads”. After microwaving the salad I decided things were getting a bit silly and had some tea.

After a long 6 week wait my SSN card arrived. My roommate says his SSN only took 2 weeks and my recruiter had never heard of such a long wait. It was worrying but did arrive with plenty of time so no harm no foul. Still combined with my missed flight caused by US immigration all my interactions with the US government have been worse than hoped for.

IMG_20130703_100134

On the way to work I stopped by the bank to register my SSN. Microsoft was holding a take your child to work day and the commons (Microsoft’s largest cafeteria) was packed with families. On the soccer field in front of the commons they arranged these kid attractions. The guy in the lower left was being interviewed and appeared to be talking about university recruitment and work life balance.

IMG_20130710_092224

New Microsoft cups! No functional changes just a new color scheme.

Update 2013-10: If you are still interested please consider reading through the overview of my internship.

Microsoft Internship days 48 to 54

Four weeks left! My Outlook calender for the final week has been filling itself with intern events. Of the many available intern events I did attend a presentation by, the Head of Microsoft Studios, Phil Spencer. In general I avoid the intern events unless they sound like something worth doing for their own merit.

Work wise I rewrote my second project’s core into C++.  When I wrote the same core in C# it also took a week but I got a few extra features implemented. In all I would guess C++ is about half as fast to develop. This is balanced by the fact the C++ program runs several times faster.

Day 50

Seatltle/Redmond decided to give us real rain.

IMG_20130624_093818

Snapshot of my walk to work.

The Microsoft cafeterias are not cheap. A typical meal costs ~7$. The food is high quality so it  is not a bad deal per say. Many coworkers, especially the married ones, bring a launch. Since my launches are a chance to escape from the dearth of selection at the apartment I have been buying Max Sized salads. Past a certain weight the salad bar caps out at $7.99. Since the salad bar has much more than lettuce I can buy 1.5 meals and save the extra for a mid afternoon meal.

salad_at_microsoft_bld_28

Typical “salad”. There is in fact lettuce underneath that fried tofu.

Day 51

Nothing of note beyond a productive day of coding. I did snap a photo of the floater laptop I’ve borrowed from my team lead. I leave it on the second desk to make my office look less sad and empty. The laptop itself is not an official intern thing, just a spare laptop they had handy when I asked to borrow one. I do use it every so often.

IMG_20130625_174333

Vista era desktop replacement which means it packs a 17 inch screen, external battery, and outlook takes a minute to launch.

Day 52
Our team got the final allotment of the financial year’s morale budget. This being the last day to spend it we went Go-Karting! I cannot drive and my only other go-karting experience was kid-safe go-karts on a family trip. Thus this was a new experience and incredible fun! The thrill of acceleration! I can see why people might buy sports cars.

IMG_20130626_133800

View from my kart in the last charging station. About half the other racers are my coworkers.

IMG_20130626_133812

The track was indoors which is good since it rained earlier in the morning.

Later that night was a Spotlight Intern event where company executives give presentations every few weeks. I did not attend the earlier presentations but I made an effort to attend Phil Spencer’s presentation since I love video games. I was not alone in curiosity and the event hall was filled beyond capacity. Walking through the door’s you felt the temperature difference. I spent the event in the back next to the open doors where I could walk outside into the hallway for fresh air. Of the event itself Phil Spencer knew how to handle our demographic. I get the impression that he understands video games. Which makes it odd in how mis-targeted the Xbox One was.

IMG_20130626_165153

Food was in the room’s rear so the other half of the room is even more crowded.

Day 53
In celebration of Windows 8.1’s preview launch every floor of building 28 got frozen yogurt. Me and Eric, my mentor, got first in line so I had room to take this photo. By first I mean we were at the line’s front. The distinction is important because there was no line when we arrived. Some other engineer must have seen me and Eric standing close together decided to stand behind me. Thus creating a “line” of three people. Others who had been randomly standing around soon decided to get a spot in the line before more people came. Before I realized it there was a massive queue snaking from me and Eric down a hallway, a corner, and through another hallway!

One floor worth of frozen yogurt. Mine was peanut butter flavour.

Update 2013-10: If you are still interested please consider reading through the overview of my internship.