Since this blog is a bit dated, here are some things that have changed in the last 10 years from the perspective of someone who works here now. First some background to fill in the time between when he wrote this and now:
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.
Err, that's kinda greatly simplifying things. I'd say the last 10 years can be described as:
- ~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.
> 2009 to 2013 was the Steven Sinofsky era... There was much less focus on building platforms, ideas, or other intangible things vs. shipping to customers in controlled and predictable ways.
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.
From my perspective, "controlled and predictable" with Sinofsky was about managing the release cycle, hitting the dates. e.g. We said we're shipping in May, so we're shipping in May. That means careful planning and aggressive feature cuts if necessary. The goal was on time with high quality, where quality is measured in metrics like crash rate and bug count, not public opinion surveys.
Incremental releases and minimizing controversial changes might make releases more "controlled" in different ways, but those weren't the target.
Sometimes I find "architects" curious folks. XAML was developed during the ray ozzie era right? That certainly has a "right way" with "Model-view-view-model" levels of abstraction insanity. Perhaps simpler is better.
I just recently left my job at Microsoft, about 7 months ago. That said, I have nothing but mostly great things to say about my time there (2010-2014). By the time I got there, there was already the sense that even though we had huge market share on traditional desktop operating systems, that we were still far and away the underdog in many other respects that probably mattered more. Working on the dethroned Windows OS was an exciting and compelling thing. How do you stay relevant in a market that is rapidly changing without just outright copying the competition and while still giving it its own unique perspective? That's a really hard problem, and a really fun one to work on. Even though I know we didn't get it all right in 8/8.1, the excitement was all there and it was a really great ride.
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.
At the moment I'm looking at trying to compile some stuff on Windows, that has Visual Studio project files, with clang instead of Microsoft C++. This would involve making msbuild do things it wasn't exactly designed to do (assuming I don't want to spend a lot of time duplicating what it does from scratch). It occurred to me maybe what I really need to do is modify msbuild, but of course that's out of the question, right? But just for the heck of it I ran a Google search...
... 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.
Microsoft is definitely, under the lead of Satya, becoming more open and friendly. But does it necessarily make it cooler? That is very much left to debate.
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.
>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.
It's embarrassing how fickle the technology industry is... so much reliance on hype and trend-hopping.
yeah, embarassing to want to work at companies doing innovative and interesting work. The whole side effect of probably getting a raise to go with a new job is terrible too.
I'm happy to hear the culture at your company has improved but I don't know if Microsoft is considered "cool" - or whatever that means.
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.
Anyone who has been around long enough knows not to trust Google, Apple, Facebook, Oracle, ... Microsoft is not uniquely untrustworthy when it comes to big multi-faceted companies. As for DNA, I haven't seen any dodgy behavior in the OSS area for 5+ years, and nothing like EEE since I started working here in 2007.
No, Microsoft is a special case because they have always been at best amoral; they have been a cutthroat, even malicious company. Recently they've softened their behavior and image, but it's really a very recent shift and given their past treachery it's hard to trust them.
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, but not for that reason.
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.
I am really tempted to set up a new account just so that I can post "Embrace, Extend, Extinguish" to each MS article. Just that. Three words. Each article.
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.
By going cross-platform on C#, Microsoft is coming to eat Java's lunch. Throwing their weight behind .NET Core ASP.NET on Linux is a clear shot across the bow at server-side Java, which, let's face it, is a shit-show compared to developing in C# these days.
As someone who hasn't used an MS OS for at least ten years (though Star Citizen has forced me to), the open source thing going on is really starting to turn my head. Now, that being said, I feel like MS has a long way to go before I'll start to prefer it over *nix (I would love to see some of the kernel source, for example), but it's a direction I am very pleased to see Microsoft headed in. I have mad respect for the people at MS pushing this forward.
I love the way MS has smartened up in regards to open source and embracing developers in the modern era. However, I think they still have some very fundamental problems in terms of corporate culture. For a very, very long time the reviews system incentivized short-term, easily measurable work over more substantive work, with a fairly obvious impact on the products delivered by MS.
stack ranking had been going on for many review cycles at this point and I heard last night that it's gone for good (wink wink, nudge nudge) because they still have to allocate bonuses and stock.
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."
I quit earlier this year and the unreality is huge. I cringed every time minimum wage came up for the last year or more because of the libertarian "they should just get better jobs!" crap that followed, or explanations of how people on low incomes are really making a ton of money off welfare payments. More work-specifically, I was constantly arguing over design decisions that treated bandwidth and connectivity as unlimited. I was in a meeting where someone suggested that since everyone in the room knew how x worked, we could assume it was general knowledge. Some of these people walked out of college 5 or 20 years ago straight into a job making six figures in Redmond, and that's not just all they know, its all they care about.
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.
That's fair. I guess I'm just lucky in the people I've found to work with. Most seem pretty socially conscious and well aware of how lucky they are to be where they are.
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.
> At Microsoft, I've had access to the source code for Halo 1 & 2, Internet Explorer, MDAC, MSXML, the .NET Frameworks and CLR, SQL Server, SQLXML, Virtual PC, Visual Studio, Windows, the Xbox and Xbox Live, and probably several other projects that I've forgotten about. Does it get better than this?
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.
Any comments related to the situation in the branches of Microsoft around the world? (like Microsoft Uk, Ge, Fr, Br, It, etc... you understood)
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.
It really depends on what product you land on, and what your career goals are. And you'd better have career goals, because if you don't you are looked down upon. Doesn't everyone want the CEO's jobs? It's still as hyper-competitive as ever, and to a certain degree, even more so since M$FT has invested in creating job centers around the world. Microsoft still employees more "temps" than FTEs, just saying.
They are/were. I worked there from Feb 2000 until Dec 2014. The company changed a great deal over that time. Without commenting directly on Ballmer I will say Satya Nadella is a great CEO and he is doing a great job transforming the company.
Hopefully he will take responsibility for cleaning up the app store and stop focusing on app count. I wrote Satya, the GM of the Windows Store, and various PMs on that team, but nothing.
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.
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.