Disclaimer: I work for Microsoft. Full-time. Apply all your bias/prejudice/loyalty/whatever filters while you read this. Also, I have intentionally avoided getting “insider info” on Win8, which means what I know at this point, is much less than what the general public knows.
Most of you are aware of my lack of love for many things Microsoft. I am happy with what I saw today, and I am in love with what the Windows team has built, and how fast they built it (24 months ago, we had Win7.) Any programmer worth his 2 cents has to know how tough that is.
When I first joined in 2006, I joined in the middle of what was heating up to be Vista. It was a different time and age in the company but there was certainly energy. I wouldn’t say much else, but there certainly was energy. A Windows that was 6 years in the making. A lot of new stuff.
Back then, and coming from heavy Linux usage for five years, I could have commented on MANY, MANY things that could have been done differently. A sort of “wake up, there is an entire world outside of Microsoft” call.
Windows 8 though – blew my mind. On more fronts than one. They seem to have picked up literally every piece of goodness I loved about all the companies/products I’ve admired and made one big culture/product/direction change – the development models, the quality bars, the communication and announcement model, the feedback model, the structure and discipline, the humility, the confidence, and the list is endless.
On the first count, the team is structured – intensely focussed, small and targetted teams, determined to win, and dedicated to a quality bar (as Sinofsky commented in his keynote a few minutes ago, much to my pleasure, “we are bound by quality, not time.”) Everyone knows what they are doing, and why they are doing it, and how it fits in for the customer. The team is also, unlike many other (or perhaps older) MSFT orgs, not looking for technology resume-fillers. Today’s keynote was about what the whole “thing” can do instead of how cool their new memory-management system is. Windows Live was about how your photos are accessible instead of how their data-access APIs are serialized on-the-wire. Plus, demo’s, not hypothetical scenarios for some feature nobody else will have in 2016. It’s out there. It’s now. You can download it yourself in less than 10 hours. Now that’s something that I can feel proud of, and brag about as a fellow employee. The best way to respond to a critic is to give them a URL, not predictions or prophecies.
On the other hand, unlike a certain other structured company out there, the team can’t be accused of not being accessible to you either. Developer preview goes out tonight. Feedback is welcome, and will be listened to, acted upon. While the above reminds you of Apple, this part distinctly reeks of the open development models out there. I think this is the perfect balance between the Cathedral and a Bazaar. A purely democratic Bazaar leads to little polish. A Cathedral doesn’t scale. There are multiple official blogs where the teams are listening for feedback. Discussions that criticize the product are not banned or hushed-up.
However, and this is the cool part, if you do want to know about the actual APIs and the on-the-wire formats, it is coming, and it shall be given too. I’m just very excited how the scenario was the primary driver. In my opinion, when I think about whether or not I want to go on a certain platform, my first instinct is “who the heck will use this?” While a lot of people will disagree with me, and if you do, you may be making a big mistake, developers don’t choose a platform because it provides dynamic typing and annotations, or XML-defined UIs. Developers use platforms because: a) Their customers will use it and b) They can delight their customers with what they can build even if it needs to be written in Assembly Language. They will build runtimes or platforms to ease their life, sure. To steal and paraphrase a quote from Jurassic Park: “You can’t contain developers. Developers… will find a way!”
Just because I hate maintaining hyperlinks, you can figure out everything here: http://www.buildwindows.com/
I’ve spoken to plenty of people all over the company, and I loved the fact that Win seems to be the least obnoxious (if at all) of the teams out there. If you have opinions, they want to know. If you have issues, you will get guidance. If there is a decision, you will hear a justification of why they came to a certain conclusion, and if you can show a flaw in their logic, are open to reconsidering that conclusion. If you have nothing but praise, they will humbly thank you, and tell you that there is more that needs to be done, and get back to their coding.
That’s one admirable team, and I am proud to work beside them.