Working at Microsoft (2004)
qbrundage.com
qbrundage.com
When Vista dropped, public opinion of Microsoft started to go out the door. That was right around the same time that Apple released its first iphone (2007), and with a failed OS and a hugely successful device release by Apple, Microsoft fell by the wayside. Public opinion tanked a bit, and it seemed like the only "positive" energy was Steve Ballmer. Whether or not you can call his energy "positive" is debatable, but he was certainly energetic. Few employees actually liked Ballmer though, so when Satya came on it was a breath of fresh air. Satya came in at an absolutely perfect time - hololens and windows 10 were just about to be announced, meaning he'd get immense credit despite only being here for a short period. With a new CEO, Hololens, and Win10 on the horizon, public opinion (and our stock price) of MS has started to go up. The corporate culture in the last year has changed drastically, and support for open source internally has shot up (which as someone with a linux/unix background has really made me happy).
Four or Five years ago, if you'd asked me what tech company I worked for, my answer would have probably been, "Microsoft, I know, it's a bummer. I'm trying to move to google". Now though people actually think MS is cool again. The stuff we're working on is exciting and the corporate culture is starting to get healthy.
- ~2005 to ~2009 was the Ray Ozzie era. Ozzie took over the role of Chief Software Architect from Bill Gates in 2006 and the company, internally and externally, was focused on very ambitious projects. Software 'architects' were common on every team and usually doing something the 'right' way trumped shipping quickly and iterating. There were lots of interesting ideas and cool tech, but turning that stuff into viable products and businesses proved to be difficult.
- ~2009 to 2013 was the Steven Sinofsky era. Sinofsky took over as the head of the Windows division after Vista and helped recover with the Windows 7 release. His influence quickly spread and most of the company adopted his management structure (very strict separation of concerns between development, test, and product management). The role of software architect quickly disappeared (and Ray Ozzie left the company, leaving the CSA position to disappear entirely) and although research was still important it was definitely not the top priority. There was much less focus on building platforms, ideas, or other intangible things vs. shipping to customers in controlled and predictable ways.
Post 2013 and Steve Ballmer stepping down I don't really know much since I left around that time.
For certain definitions of "controlled and predictable," yes. For others not so much. Sinofsky's tenure was also the era of the great push to turn Windows 8 into the one Windows to rule all devices, which resulted in it being the controversial, poorly-received product it has been. "Controlled and predictable" would have involved rolling out changes like moving to Modern/Metro/Windows-Style/etc. UI, removing the Start button, booting to the Start screen instead of the desktop, etc. slowly and incrementally, but Sinofsky bet instead on rolling them all out at once in a single "big bang" release. That was a big, risky bet that completely failed to pay off, and that MS has been retreating from step by step ever since his departure.
Incremental releases and minimizing controversial changes might make releases more "controlled" in different ways, but those weren't the target.
[Edited for clarity]
Ask yourself if you would rather work for a big software leader that is resting on its laurels or for a company that knows it has some ground to cover if it wants to stay relevant, and then you'll know if you prefer the old Microsoft or the new one.
... and msbuild was recently open sourced. The code is right there on Github.
Yeah, Microsoft of 2015 is very different from Microsoft of 1995, in good ways.
It already comes with rules for C#, VB, C++, F#, etc. Replacing the rules for C++ with another command line and set of parameters of quite doable! :)
(I happen to be using such a build system, unfortunately I wasn't the one who wrote it so I cannot provide any direct help, just encouragement!)
It can actually all work from within VS as well.
The following claim might be a little generalized, but I believe Microsoft is still largely considered as an software company, who sells licenses and units of products for a living, and very much enterprise focused. This is quite different from the image that younger companies, especially those service-oriented ones, show or at least try to show to the public, something that is more ubiquitous and intimate.
It's embarrassing how fickle the technology industry is... so much reliance on hype and trend-hopping.
Anyone who has been around long enough (and not really that long all things considered) knows better than to ever trust Microsoft. Their whole model has been, and always will be: "Embrace, extend, extinguish".
So Microsoft is opening some things up? They've had no choice as they are being left behind more and more. They know the modern developer is not as interested in an expensive IDE and MSDN account when there are many alternatives. We are creating so much more software than before and the top down model Microsoft sold has become niche after many years of dominance.
Any open project Microsoft gets involved in and any open standard they get involved in should come with a warning label. Why? Because this is in their DNA.
These other companies may not always work together in harmony, but at least they aren't preoccupied with extinguishing their competitors and dominating ("owning") their users.
Microsoft is a special case because they had a zero-sum game/scorched Earth mindset, and the ability to lose billions of dollars per year, indefinitely, achieving it.
Microsoft was not content at allowing potential new ideas/technologies develop which might grow the market and improve things because they saw everything as a potential threat to their position. So they would do everything from trying to poison the market, to pouring (losing) tons of money into competing products, and sometimes just buying up companies and let it rot.
The very special part is as long as Windows and Office were cash cows, stock holders weren't willing to lead a revolt for Microsoft losing billions on everything else.
Not all companies are not scorched earth (SGI gave away serious resources to Nvidia, Valve recently gave away their VR tech in the highly publicized layoffs a few years ago).
Other companies might like to play scorched earth, but they don't have the ability to piss away money like Microsoft. This is why Microsoft is a special case.
Microsoft still has tons of cash and Windows/Office is still a cash cow. And it is generally accepted that company culture is hard to change once established (especially here on HN). This is why people with historical context do not trust Microsoft, with good reason.
That's weird, because my perception of the companies listed above is that they are exactly preoccupied with that.
The only reason I don't do it is that I'm afraid it won't be distinguishable from a small percentage of the HN readership who do so seriously.
Really, it gets boring.
... because the "positive" energy retired.
Focus: Yes, this place still is 100% about making software. Yes, sometimes the company still pushes hard for really stupid things. That's getting better.
Unreality: I have no idea what he's talking about. Maybe upper management but everyone I work with is a real person with real financial concerns and life goals. I've had many conversations about poverty and its effects on people. Most people I talk to wonder how people making median salaries get by in the area.
Personal Freedom: Yeah right. It's not like anyone's got you at the point of a gun but most of the time you're being payed to work on some project that has a pretty obvious route forward. The tyranny of the immediate rules here.
Company Leadership: A wash but better now.
Source Code: Plenty of that. And open source is being embraced more and more every day.
Benefits: Nice salary. The yearly company performance raise has been beating inflation. The health insurance is good but it's now a capitalist ploy. There's a bunch of stuff they pay for that I'd rather have money for instead. The retirement is kind of hilariously weak but that's the trend everywhere I think.
Free Soft Drinks: I'm a curmudgeon. I don't like my "overhead" subsidizing others' pathway to diabetes but whatever.
Work Life Balance: You have to fight for this. And I mean really fight. You basically have to be willing to lose your job. But if you stick to your guns and find the right place, you can achieve this.
Microsoft is Not Evil: Oh, they probably are. But so are most the places you all work for too.
Influence: I integrate tools into games, which really overall isn't that important. That's also how I maintain my "Work Life Balance."
Also, I agree with his whole section on managers. In my six years there, I officially had maybe 15 managers? Four of them were great and if I went back, it would probably be under one of them. It wouldn't be worth the risk to go back and work for a new manager unless they came highly recommended by a friend. The personality cult effect is still real - I'm even doing it myslef above, but for a high level example look at the people who have followed Terry Myerson for years. I'm not sure I see this as negatively as he does - a good manager is hugely important in making the job worth having, so once you find one, you try and stay with them if it works for you.
I accidentally skipped the "managers" section. And I completely agree. Of the 5 teams I've worked on there, I've only had one truly great manager and he was a recent hire from outside.
This is especially frustrating for me as a junior engineer. Microsoft has utterly failed to help develop not just myself as a young engineer but most the young people hired with me. What is more, most teams barely take experience into account at all. I've always felt as though I'm expected to operate at the same level as people with 20 years of industry experience.
This is horrible! Sure you get to see the internal stuff, but in 2004 you were also forbidden from looking at any open source software. So sure you could see a handful of software titles that you can list on your fingers, but the millions of other programs you couldn't. How can someone that says "I love source code. I love reading it, writing it, thinking about it." possibly have been happy about being walled off from the rest of the software world?
The last section on influence was wrong in hindsight. Sure Microsoft had influence in the 90's, but if you joined them in 2004 I can hardly think of them as influential in the last decade. Incremental improvement with a lot of churn for churn sake.
For work/internal use, but I'm pretty sure he kept using it in his free time.
Now I want to learn so much more.
I have some friends in Microsoft Uk and they all talk really bad about the company, both in how it is managed and in the support they get from other members of the team. Just to say one of my friends got his access card only after two weeks and a usable laptop after 7 and only after receiving two or three that got infinite BSODs.
I wonder what a similar post would say about Microsoft today.
Countless tons of crap on the store. MS paying for shovelware. CSRs defending fake versions of Dropbox. Fake Windows Updates on the store. Publishers pretending to be Microsoft or other big vendors. Smaller ISVs unable to get scam versions of their software removed. Hell, even Netflix had s tough time getting rid of fake Netflix apps.