what.. what would you say... ya do here?
anyways, one peculiarity in the population of associate product managers (apms) here is the mix of alma maters. there are only 3 non-stanford/non-m.i.t. apms, including myself. the other apms are split between the two schools, with stanford taking a slight lead i think. i don't really think it was planned like that, but i'll definitely be doing my part to mix it up a little :)
to be honest, when i first got here, i was kind of disappointed that i was put on adsense. i wanted to work on consumer products, where i could focus on coming up with new offerings that would revolutionize the way people use computers and the internet. but now that i've settled in a bit, i'm actually beginning to like what i work on. i can spend my 20% time exploring new ideas to my heart's content and there are tons of possible improvements in the system - more work than our current team can handle. every improvement we make has the potential to help out tons of customers and the people here are focused on getting these solutions out to customers as soon as possible.
which leads me to one of google's most valuable competitive advantages: the ability to get features out the door extremely quickly. this is by far one of the most striking contrasts between google and microsoft.
before i left microsoft, i chatted with a lot of people and there was one theme that they always touched on: microsoft knows how to ship software, we know how to turn the crank. at the time i thought, yup you're right, microsoft has shipped many versions of windows, office, visual studio... the list goes on and on. for the past 15 years, microsoft has been a software shipping machine and it has become very good at it. my friends at microsoft argued for me to stay so i could absorb this knowledge and learn the "the microsoft way".
but i figured something didn't seem right. in the past few years, everyone's seen microsoft's software shipping machine start to break down - schedules have been slipping, features are getting scaled back and there's the need for a huge patching infrastructure. the system isn't working as well anymore and despite the billg's internet memo years ago, the microsoft machine hasn't reinvented itself at all.
for as much as google is confident, microsoft is stubborn in its ways. they know one way to ship software and it doesn't work as well as it used to. the microsoft way, with its huge milestones and bi-annual releases (if you're lucky), just doesn't jive with the unlimited bandwidth, unlimited memory, unlimited computing power world that is quickly becoming a reality. the future of computing isn't on the desktop, it's on the network.
i remember when i was at microsoft, i'd propose trying new engineering practices: pair programming, unit-test driven development, iterative development. these ideas were shot down quickly and the response was always, "we've been developing software like this for 20 years and look at where we are. $50 billion in the bank, dominance in multiple markets... we're one of the most successful businesses in all of history. why would we change the way we make our bread and butter?"
contrast that to google, where reinvention is almost in its blood. there's no remorse about throwing away dead code; people work however they feel makes them most productive; and now, another critical part is here: there's a product management core that can help harness that creativity and productivity into products the world loves to use.
anyways... enough commentary for today, but i'll leave you with this: while microsoft focuses much of its resources and struggles to meet its deadline for longhorn, google can easily add, enhance, reinvent and distribute products seamlessly through this new computing landscape. in a nutshell, it's the dream of the dot-commers, finally come true.