Saturday, May 12, 2007

T-7 Days To China

I'm getting really excited about my upcoming trip to China. I've been eager to visit for years, and can't wait to get there (read: it's gonna be a long week at the office!)

I received my PhotoTrackr in the mail (the first hardware product to get a Supr Flickr infused r name?). It's a sweet little device. Immediately locked on to gps signals from my patio, and logs its location to memory every 5 seconds. It's smart too - goes to sleep when it stops moving, and wakes back up when it senses vibration. When I plug it into my PC, it plots my path on a Google Map, and tags any photos I took with the location I was at when I took them (based on timestamp metadata). Definitely plan to strap it onto my backpack in China, and can't wait to whip together an app myself that consumes the data sometime after I get back.

My trip to China is as follows:

Hong Kong (pics) - Friend and I arrive and spend 3 nights in a hostel we found on hostelworld.com. Then take a bus to Guangzhou.

Guangzhou (pics) - Crash at my friend's family's home for 2 nights. Fly to Yunnan.

Yunnan (pics) - Arrive in Lijiang (pics) and spend 3 days/nights exploring Southwest China's Yunnan province. Figure out what cities/hotels to sleep in when we get there. Just know we need to get to Zhongdian (pics) by bus/train to fly out 3 days later to Beijing by way of Kunming (pics).

Beijing (pics) - Spend 4 days/nights exploring Beijing. Sleeping at another hostel we found on hostelworld.com. Hopefully meeting up with a friend who used to work for Microsoft in Redmond/Beijing and now works for a Chinese startup.

Any backpacking/china advice is welcome. I've never done either before. :-)

Saturday, May 05, 2007

New Addictions

Came back from MIX fiercely addicted to Twitter and Facebook Mobile. Cracked open my laptop in bed this morning, skimmed my Twitter friends RSS feed, and found out a Twitter Mobile launched too. Also found out from Pete's Twitter that T-Mobile released an upgrade for my phone to Windows Mobile 6.

Twitter is changing blogging (and my already unsafe drive to work). However, I'm going to try as long as possible to resist moving from blog posts to short Twitter messages (which, I'm noticing, have a rather low signal to noise ratio). That said, each has its uses.. still figuring out what those are for me.

As a sidenote, Facebook has the best designed mobile site I've ever seen. They truly get what info and features is useful on the go, and what isn't. Their interface is littered with examples -- here's one.. when you accept a friend request from your phone, they don't bother you by asking for friend details. Instead, next time you sign in to the site from a PC, there's an unobtrusive reminder in the right-hand column where you can add friend details for the friend request you accepted while on the go. Smart.

Also tried Joost this morning. Very slick.

Update: Get your Joost invite here.

Tuesday, May 01, 2007

Overwhelmed.

I can't remember the last time I felt truly overwhelmed. This week so far has been a whirlwind in every way. For the last 36 hours I've been in Las Vegas at the MIX conference. I expected to come out here and learn about the latest and greatest in web technologies. I've learned. But what I've experienced has been more of an emotional high and rollercoaster.

Maybe the pictures tell it best. I just got back from the Facebook party at the Playboy club at the Palms, where the top shelf liquor flowed like tap water, as it has just about everywhere I've stepped foot in the last 36 hours of the 72 hour "conversation". MySpace's party is tomorrow night, and I shudder to think about showing up only to pawn off a surpluss of Ketel Red Bulls and Patron shots on others yet again.

Vegas is insane as ever. The fake blue skies of the Venetian canal shops make it feel like it's perpetually late afternoon, as we finish our dinner and step out of yet another Wolfgang Puck restaurant around 11pm at night to head over to the next party.

As usual, I'm blown away by the smallness of the world. "Oh, you know so-and-so?", the conversation goes as I rub shoulders with the whose who of the web 2.0 elite. That guy I just met was Evan who? He started Blogger and Twitter? Wow.

Part of me is having fun. Part of me feels I don't fit in. And part of me is wondering how I'm gonna explain this to my boss and wondering what the hell I'm doing here.

Wednesday, April 25, 2007

Impulse buy of the day...

Saw this on Engadget and couldn't resist...


Gonna have to test it out while backpacking through China next month...

Monday, April 23, 2007

My MIX Schedule

Here are the sessions I plan to check out next week at MIX07 (in addition to the keynote sessions with Ray Ozzie, Robbie Bach, and Scott Guthrie):

Building Rich Web Experiences using Silverlight and JavaScript for Developers
Speaker(s): Joe Stegman - Microsoft

Silverlight is Microsoft’s solution for delivering rich, cross-platform interactive experiences for the Web and beyond. Silverlight enables the creation of rich, visually stunning and interactive content and applications that run on multiple browsers and operating systems. In this session, learn more about the benefits of Silverlight from a developer perspective and get an introduction to building Silverlight applications using JavaScript and Microsoft developer and designer tools.

Yahoo! on Microsoft .NET 3.0 and Microsoft Expression
Speaker(s): Eric Burke - Yahoo!, Josh Jacobson - Yahoo!

Come see and hear about the amazing experiences Yahoo! has built using Microsoft .NET 3.0 and Microsoft Expression.

Using LINQ to Dramatically Improve Data Driven Development in Web Applications
Speaker(s): Anders Hejlsberg - Microsoft

Modern applications operate on data in several different forms: Relational tables, XML documents, and in-memory objects. Each of these domains have profound differences in semantics, data types, and capabilities, and much of the complexity in today's applications is the result of these mismatches. Anders Hejlsberg, Microsoft Technical Fellow and Chief Architect for Microsoft Visual C# and LINQ, will explain how LINQ (Language Integrated Query) unifies these programming models and dramatically improves the experience of creating data intensive Web applications. Anders promises to have few slides and lots of live code demos!

Thinking in CSS: How to Build Great Looking Sites
Speaker(s): Molly Holzschlag - Digital One Corporation

Delve into CSS with Molly Holzschlag, and look at the power CSS offers to Web developers and designers. Hear Molly's secrets about how to build stunning sites quickly and easily.

Designing with AJAX: Yahoo! Pattern Library
Speaker(s): Bill Scott - Yahoo!

With the recent rise in popularity of AJAX, we now have the opportunity to more closely model the real flow of the user. This presents a radical change to the designer paradigm—designers create in "chunks" while users think in "flows". Come explore interaction styles and design principles that can inform future design projects. Come see a set of common design patterns that are currently in vogue and examples that illustrate good design choices and bad design choices.

PANEL DISCUSSION: Social Networking: Enabling the Two-Way Street
Speaker(s): Marc Canter, Aaron Emigh - Six Apart, Dave Morin - Facebook, Mike Walsh - Leverage Software, Evan Williams - Twitter

Web applications with a social context are here to stay. Are underlying Social Networks a business or feature? How can they be used to enhance bi-directional communication? Join a rich discussion on the impact of social applications and how best to use them as part of your business.

Lessons Learned: Designer/Developer Productivity in Windows Presentation Foundation
Speaker(s): Jonathan Russ - IdentityMine, Josh Wagoner - IdentityMine

Join the IdentityMine team for an in-depth discussion around lessons learned on Windows Presentation Foundation (WPF) designer/developer workflow and productivity. They look at several real world WPF applications they have built and show you how to help maximize productivity across the entire team from Graphic Designer to Interactive Designer to Developer. Also, get a sneak peek at several of IdentityMine’s forthcoming Blendables™ Brand WPF Control products and take the opportunity to participate in an open Q&A session with the team.

Amazon Web Services: Building a 'Web-Scale Computing' Architecture
Speaker(s): Jeff Barr - Amazon

Building a reliable, flexible architecture that can manage the unpredictable nature of today's internet business is challenging. Jeff Barr, Evangelist for Amazon Web Services, will provide the blueprint for 'Web-Scale Computing' - enabling you to utilize Amazon Web Services to build an elastic architecture that can quickly respond to demand. Barr will demonstrate code samples to show you how to build your application on Amazon Web Services’ simple APIs. Barr will also showcase real companies who have built their web apps on Amazon Simple Storage Service (Amazon S3) and Amazon Elastic Compute Cloud (Amazon EC2).

Navigating the Programmable Web
Speaker(s): Don Box - Microsoft, Steve Maine - Microsoft

RSS. ATOM. JSON. POX. REST. WS-*. What are all these terms, and how do they impact the daily life of a developer trying to navigate today’s programmable Web? Join us as we explore how to consume and create Web services using a variety of different formats and protocols. Using popular services (Flickr, GData, and Amazon S3) as case studies, we look at what it takes to program against these services using the Microsoft platform today and how that will change in the future.

The Megasite: Infrastructure for Internet Scale
Speaker(s): Jim Benedetto - MySpace, Allen Hurff - MySpace, Aber Whitcomb - MySpace

Come hear MySpace share its experiences using Microsoft technologies to run Web applications for the most visited site on the Web. MySpace discusses its best practices for a massively scalable, federated application environment, and how it matured its deployment processes. An open Q&A session lets you pick the brains of engineers from both MySpace and Microsoft.com.

I tried to pick as many talks as possible by presenters at other companies since it's easy to get tunnel vision here in Redmond and good to learn about non-Microsoft technologies and experiences from time to time. :-)

Sunday, April 22, 2007

Busy Busy

IMAGE_083Hmm.. 2 weeks gone by without a single blog post.. the stack of reading material is piling up, with no end in sight. What else is new. :-)

Life has certainly been busy lately. Mainly working hard at work to get a Beta version of my product out the door and posted on the web for download. Nonetheless, was able to duck out for 32 hours this past week for 'Development at Microsoft' training -- learned all about what Microsoft thinks makes for successful software developers. Definite highlight was meeting developers working on different products all across the company, and having candid no holds barred conversations.

Going to MIX in Vegas next Sunday for a 72 hour conversation. If you're going, ping me, and check out the event page on Facebook so you can be all web 2.0-eey like me.

I recently bought a replacement battery for my IBM Thinkpad T40. Best ~$90 I've spent in awhile. It's nice to have 3-4 hours of solid battery power after living with 30-40 minutes for the longest time. Also slapped a sexy transparent Zune sticker on the top to fit in as a nerdy hipster at the conference next week.

Finally, I'm in the process of getting ready to sell my condo (Winter night-time pics) in Capitol Hill. If you or anyone you know is interested in buying it, let me know. ;-)

Monday, April 02, 2007

SEA -> HKG; PEK-> SEA

I recently bought a plane ticket from Seattle to Hong Kong with a return from Beijing to Seattle. It cost me $770, a discount of 37% off the cheapest online price of $1220 (same flight).

Just goes to show that you will still find cheaper fare classes available at little stores in Chinatown than on the big bad web.

Friday, March 30, 2007

Pranksters @ Work


IMAGE_016.jpg
Originally uploaded by adamjh.
If you work on my team at Microsoft, beware of what may happen if you decide to abandon the team for a vacation after shipping a product.

Wednesday, March 28, 2007

Picture's worth a thousand words...

Woohoo!

This morning in San Diego a couple of customers snapped some pictures during a keynote demo of the product I've been pouring my heart and soul into designing and building over the last 2 years..




It's really fun to watch such a great software project grow from nothing into something that people want to take pictures of (even if it's still not much to look at)!

More pics here and here (thanks Maartin and Erik for the pics). My teammates and I at Microsoft have also been blogging about our baby here.

Sunday, March 25, 2007

Work Fun

IMG_0342 IMG_0406

IMG_0351 IMG_0323 IMG_0306


I work on a relatively small team at Microsoft. We work on about 4 or 5 products that make up a subset of the System Center products, which are a subset of Microsoft Servers. I didn't leave college thinking to myself "I want to change the world by designing better IT Management products at Microsoft" -- it's just something I sorta fell into. It's not as sexy as the iPod or even the Xbox, but I've stuck around so far because I love the team, the culture, and the challenges.

This past week, my teammates working on the wildly successful Operations Manager product did their final build of Operations Manager 2007 (for the true geeks in IT out there, there's a 6 month eval version already available for free download).

It's gonna get lots of press this week at our yearly show in San Diego - but in the meantime, just wanted to say congrats to those guys and share a few of the safer pictures from the celebration. ;-)

Tuesday, March 13, 2007

Microsoft Program Manager Interview Questions & Advice

The Microsoft recruiter for the University of Michigan recently asked me for a list of PM interview tips that she could send to PM candidates in advance of their interviews. I did a quick search, and found that there really wasn't that much already out there on the subject, and figured I'd post my response here for other web searches to benefit from. Here goes...

1. Do your research and understand the role of a PM at Microsoft. The job description of a Program Manager can be a bit harder to grasp at first than those of their Dev and Test counterparts. Beyond the description on the Microsoft career web site, you can scour the web for useful tidbits of information – like this post by Steven Sinofsky (http://blogs.msdn.com/techtalk/archive/2005/12/16/504872.aspx). If you have friends who have worked/interned at Microsoft, ask them about the role too. Bonus: Quite a few PM interviewees have made blog posts about their PM interview experiences – seek them out!

2. Focus on passion and potential – not brain teasers. We care much more about your passion and potential (especially coming right out of college) than about your ability to deduct why manhole covers are round. Brain teasers and puzzle questions can elicit critical thinking skills and even probe how you handle under pressure, but they’ll rarely make or break your day of interviews. When preparing for your PM interview, focus on being able to answer questions showing a strong interest, passion, and understanding of software and technology. Be able to tell the interviewer about a project you’ve worked on that would make her say “wow”. Be ready to tell us about a product or technology you love (or hate) – and why – and how you might change or improve it.

3. Use the whiteboard. Great communication skills can be key to being a great Program Manager. Don’t be afraid to use the whiteboard when answering questions (even if not explicitly handed a marker). Don’t feel that you need to be well-versed in UML to start sketching a design, a timeline, or a list on a whiteboard as you answer a creative, design, or technical question. Practice this before your interview if you don’t already do it day-to-day. PMs do a lot of writing, presenting, and convincing – show you’re up to the task.

4. Design for the customer. A Program Manager is the voice of the customer. Ask and understand who the customer is before answering a question that begins with “How would you design a …” or “How would you improve …”. Often, there are multiple customers – for example, the web developer is as much a customer of Internet Explorer as the person doing the browsing. Brainstorm a bit, but then also talk about how you might otherwise go about getting more information directly from customers. Prioritize (and whiteboard!) requirements and features before you design anything!

5. Make informed tradeoffs. One of the hardest, most important, and least scientific parts of a PM’s job is to balance customer requirements, competitive offerings, constrained resources, and make tradeoffs where necessary. You have 3 months of time left on a project that will take 5 months to complete. What do you do? This is a theme that has been extensively explored in software engineering books like The Mythical Man-Month. Do you cut features? Slip the date? Hire more people? Hint: The latter rarely works. Be creative and intelligent with your answers, but also don’t be afraid to cut (or postpone) the right features if that’s what it comes down to.

6. Be comfortable and confident, but not cocky. A big part of a PM’s job is influencing others without having any authority over those individuals. You might be posed a hypothetical situation and asked what you would do, or you might be asked about real challenges you’ve faced in the past and how you’ve resolved them (or what you would do differently if given the chance). Use specific examples to show that you can empathize with the positions of others who disagree with you, and that you can convince those who disagree to resolve their differences and work together towards a common goal. You want the interviewer to perceive you (both from your examples and generally from the way you interact) as somebody who is confident and smart, but also as someone who is humble and willing to cave when necessary. Sidenote: Some of the best PMs at Microsoft are the ones who are willing to cut or postpone their own features out of a release when they believe it’s the best thing for the product and team.

7. Be prepared to code. While programming isn’t necessarily part of the daily regimen for all Program Managers at Microsoft, they’re still expected to have technical understanding and experience. You may be asked to write code to demonstrate your understanding of algorithms, architecture, programming languages, and/or other technical areas. Make sure you understand the question and can define the problem before beginning to formulate an answer. Always ask clarifying questions. Jot down your proposed algorithm in very high level steps or pseudocode before attempting to express it in a programming language. Before you decide to stick with an answer, think (always out loud!) about its algorithmic complexity (Big-O notation) in terms of time and space and consider any alternatives or optimizations you could make. Pick the programming language that you’re most comfortable with, and ask the interviewer if she is okay with you using it (and explain why) to express your answer. Finally, suggest some test cases for your code and run through them to find bugs. The problem solving process you follow here is arguably as or more important than the syntactic correctness of your final answer. Tip: There are plenty of books and web sites with programming interview questions. Set up a mock interview and have a friend quiz you before you attempt the real thing. Don’t attempt to memorize answers, but get comfortable performing under pressure and do familiarize yourself with arrays, linked lists, trees, searching/sorting, and string manipulation strategies – they’re favorites and well-suited for an interview time window.

8. What counts is all in your head. Remember you’re being interviewed for what’s in your head, not what you wear. Dress comfortably – personally, I wore a short-sleeved shirt – but if you happen to be more comfortable problem solving and whiteboarding in a suit (and don’t mind some “interviewee” glances throughout the day), then that’s perfectly acceptable too! Also remember we’re not interviewing you based on your extensive work experience when you’re coming right out of college. Instead, show the people you meet with that you’re creative, innovative, entrepreneurial, and that you have a strong interest in and passion for technology – and applying it to real life challenges faced by nearly a billion people who use Microsoft products worldwide.

Tuesday, March 06, 2007

Work Play Work Play

Whooosh. Another 15 hour work day flies by.

After the quick jaunt to Chicago, I continued making up for not having taken any vacation over the holidays this year by flying down to Los Angeles for a weekend to see my family and catch up with my friend Jeff (formerly of mates fame) who flew in as well for the weekend from Michigan. The weekend trip was followed by 5 nights in beautiful Whistler, British Columbia -- by far the most amazing skiing in North America.

Along the way, I picked up a free HTC Excalibur aka T-Mobile Dash [review]. Free, you say? Why yes! Free as in beer! I had called up T-Mobile from LAX to exchange my T-Mobile SDA with an underperforming joystick for an identical model, and they kindly offered me the Dash instead - with free shipping no less! The Dash runs the Messaging and Security Feature Pack, which is much improved over the SDA's OS, and T-Mobile will be offering a free upgrade to Windows Mobile 6 shortly for it as well. XOXO @ T-Mobile!

It's going to be a challenge to get work done at work this week. My team has a couple dozen partners in town for a round of tech talks and demos, it's TechFest (one of the coolest annual Microsoft events), we're celebrating one of our products that's about to ship (OpsMgr 2007) at an off-site event, and there's an all-paid-for team ski day on Wednesday. Sadly, after taking quite a bit of vacation recently, I'll probably need to duck out of most of it (even the skiing). Time to work hard -- go big or go home.

Isn't it funny I can write a 3 paragraph blog post all about me me me, and yet it winds up plugging 5 Microsoft-related sites? Hrmph.

Monday, February 19, 2007

More from the "Things I Like" department...

The new HTC Vox is coming soon. Unless something similar with true 3G comes out at the same time, this will almost undoubtedly be my next phone.


Around the time the Zune launched late last year, Microsoft quietly released a new desktop theme along with it. It's a quick download, and will make your Windows XP look all shiny and new.


I've come to realize that Flickr is an amazing source of desktop wallpaper. Check out the most interesting wallpaper and desktop photos (not all users have made full-sizes available or released their work under Creative Commons licenses, but many have).


Finally, those watching my photo stream might've noticed I've been bumming around the cold windy streets of Chicago over the long weekend. It's been good times, but Seattle still rocks its socks. ;-)

Saturday, February 10, 2007

Adam recommends.. The Sony VAIO Living Room PC

While I haven't had the chance to get my paws on one just yet, I've been drooling over Sony's new VAIO® TP Series Living Room PCVGX-TP1:




Just the thought of sticking one of these babies alongside my TV and 360 running Vista Ultimate gets me pretty excited..

Sunday, February 04, 2007

Recruiting Mission: Successful!

It's been really cold this week in Ann Arbor...


Having the opportunity to return to the University of Michigan and do some college recruiting for Microsoft has been a great experience. Erin, the Michigan recruiter, is super-cool. A bunch of us spent the week running around to different presentations, classes, and of course the Engineering career fair. I had the opportunity to meet several dozen bright young college kids, and really hope that a bunch of them will have the opportunity to come intern or work for Microsoft.

I think different companies place different value on interacting with individuals directly at career fairs. I remember when I was in college being pretty skeptical about the whole thing. I had (and still have) the feeling that many companies just set up shop as a one-directional talking billboard, hoping to get the word out about their company and solicit a pile of resumes to wade through later. I remember how upset I was when I was a student talking with companies at the career fair only to be told to submit my resume online through their web site or through the University's career web site, right after I had just handed a copy to them in person! I remember wearing a suit because I thought (and still think) it was required in order to be taken seriously by some companies like the big technology consulting firms (and while this nonsense worked for me, you can't imagine how much fun it was to eventually turn down offers from the suit-wearing talking heads at <insert consulting company whose name i don't want to knock here>).

All of the same feelings returned to me at the career fair this week. Accenture had a line of about 20 suits. A notice given to us from the Michigan career center advised we could not interview candidates unless they also submitted a resume through the Michigan career center's online web site (I imagine this is a practice used to boost their own metrics - it's not a practice we adhered to).

IMAGE_428.jpgBut hanging with the other Microsoft interviewers in front of the Microsoft table (pictured right) felt different. We were told to dress casually - wear what we wear to work (which for most is just a pair of jeans and a sweater from American Eagle or similar). I wore a black Microsoft tshirt with a small white Microsoft logo to show some company pride. We chatted casually with students, trying to make them feel comfortable and to find out what they were interested in and what they were passionate about. We never asked about GPAs. We never told someone to submit their resume online after they handed it to us. And the conversation.. it was about attempting to connect with and understand students one on one and at the same time let them know what Microsoft's about. I came on this trip with no pre-canned answers and no specific directions on what to say versus what not to say.

Before closing, I want to touch on the one point that surprised me most. It is getting harder and harder to recruit qualified computer science candidates out of college. There seems to be a belief among incoming students (perhaps driven in part by the beliefs of their parents as well) that "business" is the field to go into when starting college. While I admittedly have not been privy to the entire playing field, I believe the perception here is far off from the reality. I know we hired around 400% as many technical students from the University as business/finance students. And we have even more remaining technical roles to hire for despite that figure, while the available business/finance openings have more or less diminished. "Business" has great lure of a high speed elevator to big bucks at the top of the world, but for most, I believe this to be a pipe dream. I'd love to see an actual figure on high paying new jobs per year created by technology companies vs. investment banks and private equity firms (read: very very few here), but in the meantime, it seems that while the latter are picking off the top 1% from the best of the best business universities (often MBA programs), technology companies are starving to find quality candidates (even undergrads) in a field entered less and less.