"I Contribute to the Windows Kernel. We Are Slower Than Other Operating Systems. Here Is Why."

I was explaining on Hacker News why Windows fell behind Linux in terms of operating system kernel performance and innovation. And out of nowhere an anonymous Microsoft developer who contributes to the Windows NT kernel wrote a fantastic and honest response acknowledging this problem and explaining its cause. His post has been deleted! Why the censorship? I am reposting it here. This is too insightful to be lost. [Edit: The anonymous poster himself deleted his post as he thought it was too cruel and did not help make his point, which is about the social dynamics of spontaneous contribution. However he let me know he does not mind the repost at the condition I redact the SHA1 hash info, which I did.] [Edit: A second statement, apologetic, has been made by the anonymous person. See update at the bottom.]

"""

I'm a developer in Windows and contribute to the NT kernel. (Proof: the SHA1 hash of revision #102 of [Edit: filename redacted] is [Edit: hash redacted].) I'm posting through Tor for obvious reasons.

Windows is indeed slower than other operating systems in many scenarios, and the gap is worsening. The cause of the problem is social. There's almost none of the improvement for its own sake, for the sake of glory, that you see in the Linux world.

Granted, occasionally one sees naive people try to make things better. These people almost always fail. We can and do improve performance for specific scenarios that people with the ability to allocate resources believe impact business goals, but this work is Sisyphean. There's no formal or informal program of systemic performance improvement. We started caring about security because pre-SP3 Windows XP was an existential threat to the business. Our low performance is not an existential threat to the business.

See, component owners are generally openly hostile to outside patches: if you're a dev, accepting an outside patch makes your lead angry (due to the need to maintain this patch and to justify in in shiproom the unplanned design change), makes test angry (because test is on the hook for making sure the change doesn't break anything, and you just made work for them), and PM is angry (due to the schedule implications of code churn). There's just no incentive to accept changes from outside your own team. You can always find a reason to say "no", and you have very little incentive to say "yes".

There's also little incentive to create changes in the first place. On linux-kernel, if you improve the performance of directory traversal by a consistent 5%, you're praised and thanked. Here, if you do that and you're not on the object manager team, then even if you do get your code past the Ob owners and into the tree, your own management doesn't care. Yes, making a massive improvement will get you noticed by senior people and could be a boon for your career, but the improvement has to be very large to attract that kind of attention. Incremental improvements just annoy people and are, at best, neutral for your career. If you're unlucky and you tell your lead about how you improved performance of some other component on the system, he'll just ask you whether you can accelerate your bug glide.

Is it any wonder that people stop trying to do unplanned work after a little while?

Another reason for the quality gap is that that we've been having trouble keeping talented people. Google and other large Seattle-area companies keep poaching our best, most experienced developers, and we hire youths straight from college to replace them. You find SDEs and SDE IIs maintaining hugely import systems. These developers mean well and are usually adequately intelligent, but they don't understand why certain decisions were made, don't have a thorough understanding of the intricate details of how their systems work, and most importantly, don't want to change anything that already works.

These junior developers also have a tendency to make improvements to the system by implementing brand-new features instead of improving old ones. Look at recent Microsoft releases: we don't fix old features, but accrete new ones. New features help much more at review time than improvements to old ones.

(That's literally the explanation for PowerShell. Many of us wanted to improve cmd.exe, but couldn't.)

More examples:

  • We can't touch named pipes. Let's add %INTERNAL_NOTIFICATION_SYSTEM%! And let's make it inconsistent with virtually every other named NT primitive.
  • We can't expose %INTERNAL_NOTIFICATION_SYSTEM% to the rest of the world because we don't want to fill out paperwork and we're not losing sales because we only have 1990s-era Win32 APIs available publicly.
  • We can't touch DCOM. So we create another %C#_REMOTING_FLAVOR_OF_THE_WEEK%!
  • XNA. Need I say more?
  • Why would anyone need an archive format that supports files larger than 2GB?
  • Let's support symbolic links, but make sure that nobody can use them so we don't get blamed for security vulnerabilities (Great! Now we get to look sage and responsible!)
  • We can't touch Source Depot, so let's hack together SDX!
  • We can't touch SDX, so let's pretend for four releases that we're moving to TFS while not actually changing anything!
  • Oh god, the NTFS code is a purple opium-fueled Victorian horror novel that uses global recursive locks and SEH for flow control. Let's write ReFs instead. (And hey, let's start by copying and pasting the NTFS source code and removing half the features! Then let's add checksums, because checksums are cool, right, and now with checksums we're just as good as ZFS? Right? And who needs quotas anyway?)
  • We just can't be fucked to implement C11 support, and variadic templates were just too hard to implement in a year. (But ohmygosh we turned "^" into a reference-counted pointer operator. Oh, and what's a reference cycle?)

Look: Microsoft still has some old-fashioned hardcore talented developers who can code circles around brogrammers down in the valley. These people have a keen appreciation of the complexities of operating system development and an eye for good, clean design. The NT kernel is still much better than Linux in some ways --- you guys be trippin' with your overcommit-by-default MM nonsense --- but our good people keep retiring or moving to other large technology companies, and there are few new people achieving the level of technical virtuosity needed to replace the people who leave. We fill headcount with nine-to-five-with-kids types, desperate-to-please H1Bs, and Google rejects. We occasionally get good people anyway, as if by mistake, but not enough. Is it any wonder we're falling behind? The rot has already set in.

"""

Edit: This anonymous poster contacted me, still anonymously, to make a second statement, worried by the attention his words are getting:

"""

All this has gotten out of control. I was much too harsh, and I didn't intend this as some kind of massive exposé. This is just grumbling. I didn't appreciate the appetite people outside Microsoft have for Kremlinology. I should have thought through my post much more thoroughly. I want to apologize for presenting a misleading impression of what it's like on the inside.

First, I want to clarify that much of what I wrote is tongue-in-cheek and over the top --- NTFS does use SEH internally, but the filesystem is very solid and well tested. The people who maintain it are some of the most talented and experienced I know. (Granted, I think they maintain ugly code, but ugly code can back good, reliable components, and ugliness is inherently subjective.) The same goes for our other core components. Yes, there are some components that I feel could benefit from more experienced maintenance, but we're not talking about letting monkeys run the place. (Besides: you guys have systemd, which if I'm going to treat it the same way I treated NTFS, is an all-devouring octopus monster about crawl out of the sea and eat Tokyo and spit it out as a giant binary logfile.)

In particular, I don't have special insider numbers on poaching, and what I wrote is a subjective assessment written from a very limited point of view --- I watched some very dear friends leave and I haven't been impressed with new hires, but I am *not* HR. I don't have global facts and figures. I may very well be wrong on overall personnel flow rates, and I shouldn't have made the comment I did: I stated it with far more authority than my information merits.

Windows and Microsoft still have plenty of technical talent. We do not ship code that someone doesn't maintain and understand, even if it takes a little while for new people to ramp up sometimes. While I have read and write access to the Windows source and commit to it once in a while, so do tens and tens of thousands of other people all over the world. I am nobody special. I am not Deep Throat. I'm not even Steve Yegge. I'm not the Windows equivalent of Ingo Molnar. While I personally think the default restrictions placed on symlinks limited their usefulness, there *was* a reasoned engineering analysis --- it wasn't one guy with an ulterior motive trying to avoid a bad review score. In fact, that practically never happens, at least consciously. We almost never make decisions individually, and while I maintain that social dynamics discourage risk-taking and spontaneous individual collaboration, I want to stress that we are not insane and we are not dysfunctional. The social forces I mentioned act as a drag on innovation, and I think we should do something about the aspects of our culture that I highlighted, but we're far from crippled. The negative effects are more like those incurred by mounting an unnecessary spoiler on a car than tearing out the engine block. What's indisputable fact is that our engineering division regularly runs and releases dependable, useful software that runs all over the world. No matter what you think of the Windows 8 UI, the system underneath is rock-solid, as was Windows 7, and I'm proud of having been a small part of this entire process.

I also want to apologize for what I said about devdiv. Look: I might disagree with the priorities of our compiler team, and I might be mystified by why certain C++ features took longer to implement for us than for the competition, but seriously good people work on the compiler. Of course they know what reference cycles are. We're one of the only organizations on earth that's built an impressive optimizing compiler from scratch, for crap's sake.

Last, I'm here because I've met good people and feel like I'm part of something special. I wouldn't be here if I thought Windows was an engineering nightmare. Everyone has problems, but people outside the company seem to infuse ours with special significance. I don't get that. In any case, I feel like my first post does wrong by people who are very dedicated and who work quite hard. They don't deserve the broad and ugly brush I used to paint them.

P.S. I have no problem with family people, and want to retract the offhand comment I made about them. I work with many awesome colleagues who happen to have children at home. What I really meant to say is that I don't like people who see what we do as more of a job than a passion, and it feels like we have a lot of these people these days. Maybe everyone does, though, or maybe I'm just completely wrong.

"""

mrb Friday 10 May 2013 at 9:14 pm | | Default
Used tags: ,

141 comments

Monk

Well that is sad. But hey, every software piece out there turns into a monster eventually.

Monk, - 11-05-’13 00:03
Hukklebuk

welcome to IT. You can’t do shit to improve anything without some asshat taking offense. We might as well wear coveralls with our names on them and just say yes boss.

Hukklebuk, - 11-05-’13 02:43
James Pike

What’s wrong with “9-5 with kids types,” it doesn’t make you a worse programmer to want a healthy work life balance. If you’re able to pull that off it even suggests a level of skill that your company will allow you out of the “you have to do overtime” culture.

I found that comment very offensive but other than that the article was a very interesting read.

James Pike, - 11-05-’13 03:10
codingjohnson

Seems to me the obvious problem is project managers over valuing enterprise customer gripes rather than general everyday problems that any fool can see from 1000 yards. I always thought the inner workings of MS would be a modern day self organising meritocracy where experienced geeks intimate with Windows could recognise and improve key areas… Developer led. But instead it seems more like internal company politics and hierarchy are encumbering progress. This is even obvious from a consumer point of view, changing tack on major UI components of your flagship OS exhibits this.

As a .Net developer I am gravely concerned about the future of MS, should I be using C#, or JS with RT? Why is the in-app ad-ecosystem so bad and unprofitable? Why did the UK get the Surface RT pro so late and what’s with the un-consumer-friendly naming convention? COM/DCOM/RT/WTF?

Most guys I know are sticking with C# and branching into web, but then most of those guys think the ASP.Net Event Model is a good thing and try to make web apps with desktop like behaviour.

Me, I’m branching out into app-development for IOS and Android, and returning to my long-term passion JavaScript. I plan to switch to Linux and run windows and osx in a VM. And to be honest I feel a little inadequate because I’ve hedged my bets on windows for so long that I’m a little worried about the Linux learning curve.

And even when I’m looking for contracts, most people are asking for frontend or php or JavaScript.

I know MS are trying to attract developers to their app-store but frigging wake up MS. Developers are abandoning you because you’ve abandoned developers.

codingjohnson, - 11-05-’13 03:34
alex

what he means with “9-5 with kids” is dudes who don’t take their shit seriously enough to go the extra mile without acting like they are in agony because “i have kids”

they are generally just trying to do the bare minimum and roll out because the only thing they care about is their “real life at home” and work is just a way to sustain that.

real hackers can have kids but still be passionate. those people don’t get called “9-5 with kids” they still get called a hacker. yes they can have kids and work/life balance but work/life balance means balance. it doesnt mean putting your work into a protective little risk-free box and going home every day right when the school bell rings.

if you are this butt hurt simply by the use of the phrase, maybe you are one of those people.

http://www.someecards.com/usercards/view..

alex, - 11-05-’13 04:01
BridgeLiver

Who gives a fuck what you found offensive, James?

BridgeLiver, - 11-05-’13 04:05
mrb

alex and BridgeLiver: watch your language. I want my blog to remain civil.

mrb, - 11-05-’13 04:12
Vasyl

15 years of MS only technology experience has ended up for me 2 years ago when I read Android developers guide. The ideas behind it seemed powerful as nothing else. JS Ecma5 standard astonished my imagination of the ideas and possibilities behind it.
Seeing Microsoft out of these innovations I have it up. New ideas rule the world and me.

Vasyl, - 11-05-’13 04:28
joeg

alex & BridgeLiver if your passion for the code of some ungrateful soul sucking entity takes more than one unnecessary minute of the scarce time with your kids your priorities are screwed.

joeg, - 11-05-’13 05:04
9-5-with-kids

Alex, everyone is entitled to decide for them whats their “real life”. Solely for this reason, slavery is Abolished from this planet. If you want people to be motivated, blame game and guilt therapy is pretty bad tool. I guess you must be one of those who stayed back in MS because you could not make it to Google. How does THAT feel for sake of balance ?

BridgeLiver, your attitude will soon take you where NO ONE will give a fuck about you.

9-5-with-kids, - 11-05-’13 05:16
codetaku

It sounds like the problems they have taken on are of the ‘everyone else is handicapping themselves this way, so we can get away with it too’ variety. When a company loses an experienced expert with irreplacable domain knowledge, replace them with a new college grad. The organization takes an enormous hit in every technical respect, but you save a lot of money. And since all of your competitors are already doing it, you will have aggressive business types winning all the arguments when it comes time for budgeting.

Society has already decided that every productivity increase brought about by technology and computers will benefit the business exclusively, with none of their benefits being shared with the employee. If productivity doubles, profit doubles, workload doubles, and compensation remains stagnant. It’s easy to actually reduce the % of your budget going to talent every year while still growing profit, and this is exactly how you do it.

It will work precisely until the workers figure out that thanks to the Internet the only thing standing between them working 1/10th as much and making 2x the income is some software to connect people who can provide work with people who need work done, cutting employers out of the loop.

codetaku, - 11-05-’13 05:27
9-5-with-kids

How in the hell could a man enjoy being awakened at 6:30 a.m. by an alarm clock, leap out of bed, dress, force-feed, shit, piss, brush teeth and hair, and fight traffic to get to a place where essentially you made lots of money for somebody else and were asked to be grateful for the opportunity to do so?

- Charles Bukowski

9-5-with-kids, - 11-05-’13 05:29
Bill Pytlovany

I worked in Blvd 42 in the early-mid 90’s and I can’t imagine having 9-5 kids working on campus. I hadn’t heard that phrase before but I run into a lot of young programmers who were never taught some of the basics.

My direct report was a fantastic mentor. He had been at MSFT forever & was responsible for the first CD driver. Besides our code, he also focused on our build environment. Everyone had the same version of Visual Studios and during a product cycle he wouldn’t allow any updates or changes. He understood, as I have always taught, just changing the text of a string could affect your compiled code in ways you’d never imagine. These are the kind of habits you learn from education & experience.

I also occasionally participated in new employee interviews. The focus was always how someone thought more than what kind of education they had.

Thanks for reporting this comment and thanks to the gentleman who posted. It really is interesting to hear and picture how things work behind the scenes.

BillP

Bill Pytlovany, (URL) - 11-05-’13 07:02
Hellscreamgold

“What’s wrong with “9-5 with kids types,”

I found that comment very offensive but other than that the article was a very interesting read.
James Pike, – 11-05-’13 03:10

I read it more that these kids coming out of college have self-entitlement issues with no backing to warrant it.

Hellscreamgold, - 11-05-’13 07:44
xx

desperate-to-please H1Bs …lol !

xx, - 11-05-’13 17:46
JPH

I have a feeling that the “follow up” is damage control and was not written by the author of the original post.

JPH, - 11-05-’13 21:23
JPH

It’s worth point out as well that the “follow up” is written in an entirely different style of verbatim. The vocabulary, structure, word frequencies, and the form and structure of the prose are all different. I’m almost certain that the author is not the same person.

JPH, - 11-05-’13 21:24
Ken

Guys: Keep in mind that there’s a billion Chinese out there training to take our jobs at half the pay. You may talk about family balance and whatnot, but you better have your retirement plans lined up. Be valuable or be gone.

Ken, - 11-05-’13 21:40
IGnatius T Foobar

Bit rot has already set in, not only in the Windows code but in Microsoft in general. The truth is, Microsoft is a has-been. Their years of monopoly have created enough inertia that they appear healthy but it’s pretty much over. As they say, “a big one like this can keep running around for years after you chop off the head.”

IGnatius T Foobar, (URL) - 11-05-’13 21:45
billy bob gates

that poster is going down, don’t bother showing up for work Monday.

billy bob gates, (URL) - 11-05-’13 21:55
Ken

@ITF: bitrot at M$ is only a symptom of the greater problem – that being lack of government oversight in the technology industry. If the government had more control, there would be more technically competent people in key positions in the industry and we wouldn’t have these problems and we would have more jobs for undocumented immigrants too.

Ken, - 11-05-’13 22:02
ken

I like pulling chains ;)

ken, - 11-05-’13 22:04
Innocent Bystander

@JPH, “It’s worth point out as well that the “follow up” is written in an entirely different style of verbatim.”

I hope you really know what you meant. In this case, does that imply the original author had been identified within Microsoft and someone at MS had impersonated him to post the follow up through the same channel? Look like one more developer is going to leave MS soon.

Innocent Bystander, - 11-05-’13 22:11
Ken

This post by mrb is nothing more than a rant by someone looking for their 15 minutes of fame. Sure, it’s true that M$ is a has been. Windows 8 is a flop and they don’t have a clue how to compete with Android. Notice I didn’t mention Apple. ‘nuff said re. that.

The bigger picture here is that Google, M$ and the beloved Apple will all be history in 5 years. You people don’t seem to see what’s happening.

Ken, - 11-05-’13 22:24
quarx

I think the people that develop Linux Kernel don’t expect thanks and praise the really goal with the develop is the community develop that always find the better way to do things and improve older solutions.

quarx, - 11-05-’13 23:01
anonwriter

With the number of new SDE’s at Amazon, I’m actually a little bit nervous about a similar situation arising…

anonwriter, - 11-05-’13 23:13
so go to google

you don’t like it … perhaps you should quit the awful, uncreative, uninspiring behemoth that is MS and go get a salary from linux…

no?

didn’t think so.

so go to google, - 11-05-’13 23:49
mat

‘If the government had more control there would be more technically competent people…..’ Are youkidding me???

What would government control fix? How are they going to provide more technical individuals? The hacker factory? The awesome education that public universities produce? The kids graduating public high school that can tell you who Pauly D is but not Stephen Hawking? The government is not the answer for anything, they aren’t the smartest people in the room, they aren’t even the smartest people in the neighborhood. Those people work at google according to this article.

mat, - 11-05-’13 23:50
hpdell

This wouldn’t have been so much a problem if windows still had similar monopoly as it had in early 2000s. When Iphone first release, it really showed computers could be packed in small devices and sold to lot more users. Computers were starting to become stagnant, and market needed something new to revitalize the computing industry.

I don’t say with such wide interest of disorganized developers, linux (whole gnu) has the best utility software, but they are just enough for these new companies to come up with a solution and start improving them constantly once they are up and running. Since they can afford to fail one quarter of their servers (Netflix, Facebook, Google) they are constantly innovating/changing their software. Moreover, google is creating their possible employees by funding and engazing with free software (e.g google summer of code).

Microsoft is pretty much stagnant in that respect. Companies with big money do good, but companies with big money and great software do even better.

Another problem for microsoft is, Linux is the most widely deployed software on the planet. It might currently not be as competitive on PCs, but just like, if I buy Sony TV and like it, it is most probable I will buy a sony music system, even if Philips has great product (most consumers do). Apart from PCs and mobiles, Linux is becoming pretty much a standard (even on mobile it has a large presence). Even if Linux has problems on some parts, as the author suggested, big companies know what advatage they have going with free operating system. E.g 3 to 4 years back LG had so little of Linux software in their products. Today they are among top 10 contributers in the Linux kernel. Just for past 2 years, Linux utility software has gone a tremendeous improvements (even on desktop and graphics side), and everyone knows how fast the kernel moves.

Microsoft has been bitten by its own actions. They pretty much slandered open source and never could embrace it. On the other hand apple uses so much free software and is doing pretty good. Microsoft plays by fear, and fear is not good for business. We all have seen how they viewed OpenOffice, Google Docs, Linux etc. Things are changing, but if microsoft does not open up, and change their business model to a more open source model, if even google, facebook, amazon, Apple dies away there will be 20 more companies companies competing with Microsoft.

So the real question is, how long can they afford?

hpdell, - 12-05-’13 00:41
Big Kate

Can I just say thanks for reposting. I came here via slashdot, I hope the OP is OK and hasn’t had any consequences for posting what they did. Personally it’s a huge insight into why things don’t happen as effectively as they might.

What they describe is classic Big Corporation culture v. startups. The emphasis in big corporations on not messing up the product leads to that spreading to the entire tree. I can also understand why if you been hacking code inside the org for years and it feels like your not getting anywhere, that you will want to grumble and mention the stuff that is P-ing you off. You can’t say inside the org because it just pisses your co-workers off, and unless your a core dev you wont understand what is actually wrong. I’m in other areas of development and I don’t know anything about the technical issues they speak about

I can accept microsoft has created great products, it eats own dog food as a matter of course and it’s good to know that under it all MS8 is good and I hope that blue gets us a better UI option. Having said that this thinkpad is running a debian variant, it has Win7 in a box that I occasionally load to do stuff that is utterly locked into windows enviroment. Most of the devs I know have long abandoned MS and have either gone to Linux or in a corporate space – Mac (because they have to have a machine bought with an OS and they get a choice of Apple or Microsoft). I suspect when apple finally gives up on professional development environments and becomes a pure-play consumer product company they will switch to Linux as well

So to both the OP and the person who blog I am reading can I say thanks. It has made microsoft feel more human, I will try to cut the big green some more slack in future when I get frustrated, because I will know that there are plenty of other bright, intelligent, passionate people fighting to get the code better and feeling frustrated that they just can’t. I have no idea if the same is true of Apple, I suspect it is, only they’re the solution is: rather supporting people long term, as Microsoft does, is to cut and switch. It increasingly looks like they are going to deep six OSX and jump to something consumery based on Arms, just as OSX deep sixed OS9 on powerpc.

Thanks again

Big Kate, - 12-05-’13 00:48
hi

I am a developer in various GNU/Linux/BSD related projects and what I see is, that the whole Windows Ecosystem is slowly losing grasp on everything else. When I went from windows related development to what I do now (maybe 10 years ago) gnu/linux was something very complicated for the everyday user and really an ugly mess (from user and dev perspective). Today you are able to do everything on the big distros without any knowledge of the operating system or anything. Only the name of the applications differ. 10 years ago only windows was the thing to use for the average joe because the rest was too complicated. It is not even windows itself what most users keeps them locked to microsoft. The applications are. And with stuff like wine you can run them on gnu/linux/bsd environment.
tl;dr
I think microsoft has too long relied on their market share (“everyone uses windows and it’s applications so they will also have to buy the next version”) without doing anything new for the last years. And those business decisions also affect the dev process. And that for many years. In a big company like MS reverting such bad influences can take really long.

hi, - 12-05-’13 01:04
Big Kate

one thing I forgot to say is that Microsfoft seem to have spent the last 10 years being run by people with no vision. Their are technical leads in area who create great products – which I own such as the 360 (i have 4 of them). But it feels like microsoft managment fires them and then it just slides from there

Personally I blame Steve Balmer – at least Bill Gates was willing to bet the farm to face out new opposition.

Oh and Btw I wont buying the durango – why? Because linux gaming is finally taking off with steam box etc.It took a long while for GL and CL to catch up but they have and it’s where things are happening. Oh and i hate the windows 8 UI I am forced to use with the 360 and it looks like microsoft has decided to copy apple again as far as a consumer unit and I hate the assumption of: lock in, lock down, yes please!

Big Kate, - 12-05-’13 01:06
Tex Pepper

This piece reinforces what I’ve believed to be true of Microsoft for some time now: the company is like a huge, rudderless ship. A ship which is now running aground – and the crew know it, too – some of them, at least – but nobody knows what to do about it or can’t do anything, because she has grown so large for so long now that her momentum makes it impossible to change course.

Perhaps the crew have tried to call the Bridge. I’m sure they have, but no-one is answering. No one’s there. The Bridge is empty. Sure, Microsoft has a CEO, but she has no Captain. She has a Board of Directors, but no Navigator. A Management team, but no Helmsman. Momentum, but no Destination and, unless Microsoft does something very drastic to change her course very soon, she’ll run aground. It may already be too late.

Microsoft really is very, very much like the Titanic, metaphorically speaking. That ship’s designers also thought they had created something unsinkable; they also handed it off to a captain who drove her at top speed, blind, in the dark.

Will Microsoft share Titanic’s fate? Probably. The company has always struck me as being a bit out-of-touch with its customers but, now, like some gigantic whale swimming in the shallows, she in grave danger of being beached by the outgoing tide. Even now she can’t keep up. She is falling farther and farther behind whilst the smaller and more agile fish head out to sea.

For my part I won’t feel at all sorry to see Microsoft go away, but I will feel sorry for people like that bloke inside the company, trapped inside a system he would change if only he could. I hope he and the others there like him get out in plenty of time. As for that chest-thumping primate Ballmer and his ilk? Let ‘em drown.

Tex Pepper, - 12-05-’13 01:18
mrb

JPH: I won’t reveal how the anonymous poster contacted me, but I am 99.9% sure that unless his communication channel was hacked, he is the same person. He was in a completely different state of mind when writing the follow-up (ranting when writing the 1st time, anxious when writing the 2nd time).

mrb, - 12-05-’13 01:29
ngo

Sure, this post is a rant. But these outbursts — real MS hate, despair about wasted time and money, spent into MS specific expertise — this is what I expected, what I predicted to friends when MS’ Windows 8 vision and the WinRT API were introduced back in 2011.

Personally I have some strong technical background with Windows from about 8-12 years ago. While having touched Linux for the first time in the late 90s I’m now almost Linux-only. As a developer I went all the way from Basic, assembler, Pascal, VBA, VBS, ASP, some C/C++/C#, PHP to nowadays Java and others.

Every time I have to sit at a naked windows box I feel somehow lost. Linux comes along with all these nifty tools installed by default and almost everything that’s not can be fetched from a repository in seconds. Windows is a pain … you have to go download something somewhere in order to be able to complete the simplest tasks. That’s my view of using Windows as a development platform, granted I love the ease of using a command line tools. And I’m really happy that my company has Linux desktops for the developers.

I know about the richness of the Windows API/library world, if you do .NET you have a huge amount of vendors where you pay some $$$ and get some ass-kicking modules that can shorten your development efforts dramatically (but so do Java and others).

I can almost feel the pain of these vendors and its users, having spent years into knowledge about Windows, .NET and alike. Seeing this mess now, unsure if or how long .NET will survive, will you focus on WinRT, JS, whatever?

In 50 years IT historians will identify the XP era as Microsoft’s best time. For me the period where WinFS and trusted computing were the hot topics (around 2003?) the downfall began. MS failed on some really expensive projects back then I think. The introduction of SDLC in order to improve security was the right step but all these efforts are pretty hidden they don’t improve user experience. Obviously this was the time when Apple stepped back in and brought up completely “new” UI experiences.

ngo, - 12-05-’13 01:58
BigO

Thanks to the MSFT dev for this insights (and also for the follow-up comment which balanced it out). Maybe this post is high-profile enough that it also reaches devs and managers in other SW companies, and gives some very important impulses. I think what is described here for MSFT is reality in many other companies, and holds back innovation and improvement in a huge part of the industry.

BigO, - 12-05-’13 02:51
Somebody

Speaking as an employee of another large software company that has read (and occasionally even written) rants similar to the original, the followup made me somewhat sad that it was necessary. I realize we live in a world where people who don’t know anything about how large software systems are maintained hang on every word written by the people behind the curtain, but almost everything he said in the followup seemed obvious to me. Of course the compiler guys know what reference cycles are, and of course NTFS using SEH doesn’t mean it doesn’t work well. And so on.

To the anonymous writer, whoever you are, I’d just like to say congratulations on a wonderful rant. I’d definitely subscribe to your newsletter.

Somebody, - 12-05-’13 04:43
- ,

Props to the author of this rant, I hope you’re ok.

What makes me wonder is what will happen to the endless number of Windows installations that we have to deal with as a part of our everyday lives.

If the company does actually tank, what will happen to the kiosks, POS machines, schools, libraries, computer gaming?

I’d like to think that Linux would be graciously adopted – and Valve seem pretty eager to make that happen – but I’m cautious.

- ,, - 12-05-’13 04:58
franz kafka

one of the best pieces I read in a long time. this has little to do with Microsoft, and can be applied to all companies (at least to some teams in all companies). the failure is a lack of long term vision from the management looking constantly at short term rewards. this is how you sink products and companies in the long run, and why new companies come up and steal your lead.

franz kafka, - 12-05-’13 06:39
David

I have issues with big companies in general, but very specific ones with MS in particular.

I’ve been working as a hardware engineer for many years and can’t describe the pain I had supporting Windows with regards of their completely broken and absolutely brain-dead USB stack and audio implementation. It’s so totally f*cked up that we eventually had to break our devices, so we had a chance to probe our proprietary driver against it. IOW: we were forced to ship uncompliant devices for users of all platforms because some people in Seattle had no clue what they were doing, over years and years, across many incarnations of the broken heap they’re selling.

On a different note, I used to build large-scale mail systems some years ago, and the exact same kind of hell broke loose in that area too. We constantly had to fix up after the one of the biggest software companies in the world which broke every single bit they even remotely touched, and then actively tried to prevent me from understand what the fuck is going on by not letting me have a look at their buggy implementation. That’s actually my biggest complaint here: It’s ok to make mistakes. They just happen. What matters is their stinking ignorance, their fear of re-doing things for the sake of improvement, their resistance to learn, and their idea of intellectual property which does not allow you to understand the actual problem.

Long story short: I’m done with them. Forever. I don’t care why they don’t scale, and how they compare themselfes to others. I want them to vanish completely, the sooner the better. And I want companies to not bother anymore. Stop shipping Windows drivers for your hardware, it’s worthless. Stop selling software for their platform. It’s a pain in the ass to the the OS running anyway.

David, - 12-05-’13 06:45
:D

Linux will replace windows in every sense.

:D, - 12-05-’13 08:55
Don Stokes

>If the company does actually tank, what will happen to the kiosks,
> POS machines, schools, libraries, computer gaming?

Hopefully, Wine (windows application support) in Linux will improve so legacy windows apps can run until they are replaced.

Don Stokes, - 12-05-’13 09:00
John Doe

> NTFS code is a purple opium-fueled Victorian horror novel
> that uses global recursive locks and SEH for flow control.

I’ve seen the NTFS code, and it’s scary. I think ReFS is a Bad Idea, but I can understand why current developers would be reluctant to mess with NTFS. It’s too fragile.

The original NT team had more than it’s fair share of of genius-level engineers, from Cutler on down. They could get away with creating the ugliness that is NTFS. I have far less faith in the subsequent maintainers.

> The company [Microsoft] has always struck me as being a
> bit out-of-touch with its customers

Actually, I think MS is reasonably well connected to its customers, but you have to understand who its customers are. Individuals who buy a PC with Windows pre-installed are not MS’s customers. Dell, HP, Lenovo, etc. are. Large corporations with volume license and enterprise agreements are also MS’s customers. MS doesn’t always do what they want, but there is an active dialog between MS and their direct customers.

John Doe, - 12-05-’13 09:35
John Doe

One more thought…

> Our low performance is not an existential threat
> to the business.

EXACTLY!

I know this completely pisses off the old school purists (a group I’m often accused of belonging to), but the fact is that performance only matters when it falls below some acceptable level. Once you reach “acceptability”, it becomes harder to justify putting effort into small incremental improvements. No company has infinite resources, even MS. The time spent making Ob 5% faster could have been spent on something else with greater business impact. Besides, if customers think Windows is slow, they’re quite willing to throw gigahertz and/or cores at the problem.

The explosion of battery powered devices (phones and tablets) has changed the calculus, but only so much. One of the stated technical reasons (and the only only I find even remotely plausible) for needing the new WinRT API is improved battery life vs. traditional Win32 API’s and app lifecycles. Windows 8 shows that trying to optimize for performance can alienate your existing customers who don’t perceive performance as a problem.

John Doe, - 12-05-’13 10:06
jooper

Hi,

I think long-term developlment in big corporate company cannot be efficient and are very slow due to very big overhead of deciding of management and their little technology knowledge. I worked in several big companies like HP, ATT and i see that they are moving very slowly in their technology development and infrastructure quality, performance. To summ up from long term point of view i see the future in little commercial or not commercial companies…

jooper, - 12-05-’13 10:29
Steve Ballmer

“you don’t like it … perhaps you should quit the awful, uncreative, uninspiring behemoth that is MS and go get a salary from linux…

no?

didn’t think so.”

Even I know that over 90% of the Linux kernel devs get paid to work on it.

IBM, Oracle, Novell, HP, LG, Transmeta, Intel, and the list goes on.

Steve Ballmer, - 12-05-’13 10:46
Anonymous

Steve Ballmer is here. ^^

Anonymous, - 12-05-’13 11:16
Nietzsche

There are some people who treat their coding time as a job, they can be used to do the boring tasks like updating documentation.

Nietzsche, - 12-05-’13 11:34
Andy Turfer

I managed to get a £30 refund for pre-installed Windows 8 on my Samsung NP700Z7C. To get this, I had to take my laptop to a Samsung repair centre where an engineer kept it for 7 days and examined it to make sure that I don’t use Windows 8 on the laptop. No matter what the amount, I’m not going to pay for a product I don’t want or use. Had Samsung not agreed to refund me, I would have returned the unit for a refund (even though OS free or pre-installed Linux laptops here in the UK are slim pickin’s).

On my desktop, I have an nVidia GeForce 660TI. Using the latest nVidia binary (319.17) the Ubuntu 13.04 desktop performs poorly when driving two monitors. For some reason, nVidia are unable to vsync on both monitors in a dual-monitor configuration. While it “works”, the quality and user experience are rubbish. A simple thing, like dragging a window around, become jerky and stuttery. This problem is much worse if you’re dragging a window that’s hugging the top of the desktop. This does not occur with the Intel HD4000.

This is one perfect example of why “open” trumps “closed”. The nVidia drivers are proprietary (closed) while the Intel HD drivers are open. The difference between running a Linux (well, the Unity) desktop on both is like night and day. Everything works beautifully and smoothly on the HD4000 (and it’s much more responsive), even though it can’t push as many pixels as the 660TI.

The future is in open, not closed.

Andy Turfer, - 12-05-’13 12:37
splayds

As an innocent bystander (compnovice) I would just like to point out 2 things I’ve noticed. Everyone seems to assume the author is male and the majority of posters seem really stressed. Go for a surf….chill….and get your swag back…peace.

splayds, - 12-05-’13 15:58
Steve

Liked the article. One thing I feel like I should say — usually, (In my personal experience) the kind of people who I would tag as ’9-to-5 with kids’ type are the people who would just work 9-to-5 and claim that they are entitled to put in just that much because they have kids — however they just use that as an excuse to not work — they aren’t really great parents or spouses — they are just lazy. Unfortunately, (again, in my own personal experience), most people doing just the basic minimum 9-to-5 are these kind of people.

Steve, - 12-05-’13 15:58
Steve

I noticed windows performance decrease when Microsoft introduced “superfetch” ..AKA disk-to-memory caching that thrashed the hard disk to put programs in memory which the user might required. All because “we wanted to use up all available RAM” akin to wanting to use up all hard disk space.

Performance was been improving since Microsoft pulled away from this!

Steve, - 12-05-’13 16:49
Starman

Steve… so sorry to burst your bubble but I am tired of 9 to 5 routine and I am only 32. I am tired of someone telling me how long to work, when to come, when to leave, when to go to bed and when to wake up, what limit is on my income and how dead I basically am when stuck in the corporate world! I would rather do things my own way than someone else’s and that, Steve, is becoming a reality for me thanks to other things that I am working on outside of my 9 to 5. Happy to become young, wealthy and free! It takes balls and vision to want that and above all, to make it happen. As for the article, congrats! It is very well written and I am not surprised at what’s being said here given that I am a Windows NT user since Windows 2000. I now spend most of my time in Linux and I love it!

Starman, - 12-05-’13 19:23
fapjacks

This post was fun to read. The comments below seem to be written by some of the most vitriolic, self-loathing, frustrated people who never burned off their baby fat enough to not take a one-liner completely to heart. To be honest, the commenters sound like 90% of the people who work in IT instead of programmers.

Microsoft-brand IT workers. That’s exactly what the commenters sound like.

fapjacks, - 13-05-’13 02:57
JoeO

20 years ago I worked in IBM. All that I ever read was that IBM was an elephant trying to dance and MS was new and innovative. At that time we had 25 year old software to maintain.
Now I see a 25 year old MS going through the same pains that we did.
I got the last laugh.
I don’t feel one bit sorry for them.

JoeO, - 13-05-’13 05:14
basic_minimum_man_9-5+2kids

bla bla bla …real hackers can have kids but still be passionate.. bla bla bla

basic_minimum_man_9-5+2kids, - 13-05-’13 05:33
Grokoko

“…The cause of the problem is social. There’s almost none of the improvement for its own sake, for the sake of glory…”

If there is justice in this world, Microsoft will fall. They have not even the smallest amount of will to improve their’s software consumers experience. Only money driven. So sad.

Grokoko, - 13-05-’13 05:36
WickedVixen

I totally understand that kind of dynamic coming from several coding houses (which will remain nameless) and their take was that “if it’s innovative, it’ll be astounding!” Iterationary coding was never in their vocabulary and they never wanted to improve on the existing code, just add more and more features, until it broke, then hired people like me (out of high school, no less) that showed promise to fix it all.

Patch upon patch upon patch until it churned and gurgled back to life… This was back around PCjr and C128 and such, but MS never regained the passion they had back then, and may never continue to do so— reviled are the Iterationary Coders— the ones who put forth the effort to upgrade and straighten the code of the previous iteration, into something faster, more reliable.

Shouldn’t we ALL, from a coding standpoint, consider this approach for what it’s worth? If MS had from the beginning and taken steps to approach this line of thinking, then we wouldn’t have insider tirades and whistle-blowers that are fed up with MS’s so-called culture.

Thank you for that post (and your apology). It goes to show we are only human and sometimes our emotions get the better of us.

WickedVixen, - 13-05-’13 05:48
pje

People,,,You have to think outside of your little cubicals. This is capitalism at work. Those people who work harder or come up with better stuff succeed. Those who don’t, lose. Are you winners, whiners, or losers? If you don’t like where you work, then LEAVE!!!

pje, - 13-05-’13 06:10
JW Noord

Interesting that Anonymous’ first post pretty much summed up what many suspect and have believed about Microsoft for a long time. Then retracts most everything.

I think there may have been a moment of either A.) Fear B.) Uncertainty and C.) doubt as to whether his comments could be “back tracked” and tied to him by Microsoft.

Everything (almost) he said in the first post was reasonable and made sense. The second, not so much.

Too bad people don’t have the courage of their convictions.

JW Noord, - 13-05-’13 06:25
Marcel Sorger

The unhappiness within MS is well known for decades.
It’s the product of the hierarchy of a big company and it’s unavoidable.
Some people join MS to change the world and they get disappointed because they have to support legacy, stability and the bottom line.
This unhappiness also occurrences in large open source projects and there are millions of forked projects to prove it.
The truth is that a project should accommodate 9 to 5 types, passionate technical people and the ambitious business “leaders”.

I personally am much more concerned with the movement of power from DevDiv to WinDiv. The WinDiv people don’t get devs and love messing around with bits to much. Optimization over a pleasant interface (API) makes for terrible tools. On the other hand the WinDiv people are terrible at creating user interfaces for normal people too. To quote Sony “MS does not understand the CE logo” is true for WinDiv and we have Win8 to prove it. The people of Windows Phone did get it, but are now subjugated by WinDiv. A prudent business choice, technically questionable, but socially totally terrible.

It’s a shame leadership gave the rains to the brain dead WinDiv money machine. I know there is an economic crisis, but for MS the lack of phone and web dominance is a much bigger crisis. They are betting on the people of yesteryear to take the company into the future.

On the other hand there is hope, because office, devdiv and Azure cloud moved into a services silo. I feels like something that IBM did in the 80’s by shifting from hardware to services. I guess it will be a while before WinDiv will be spun out as a separate company and sold to the highest bidder. As soon as MS speaks of itself as an utility company, that can’t be far off.

Marcel Sorger, - 13-05-’13 06:57
Tom

He didn’t retract the core criticism, just the insults. His point stands – The MS culture, reinforced by the review system, discourages cooperation and reinforces NIH syndrome within teams. This hurts both quality and innovation. On your review, you get credit for inventing something new, and little or no credit for improving or maintaining something old, even if millions of paying users are using it. I worked there many years and this was true across multiple teams.

Tom, - 13-05-’13 07:14
synp

“Once you reach “acceptability”, it becomes harder to justify putting effort into small incremental improvements. No company has infinite resources, even MS. The time spent making Ob 5 is measured at the performance lab, while the acceptability is measured by each user. Companies tend to make up 5-7 imaginary representative customers, and decide that none of them would care about a 5 enhancement actually happened. These people may rise at some point to positions where they have enough clout to suggest that even though it is a burden to IT, maybe we should allow our employees to choose Linux.

Why do you think Macs became common in corporate America? It’s only because people with sufficient clout said that Windows would not meet their needs. At first it was graphic designers (and for a while there in the ’90s they had a valid claim), but once Macs had the proverbial foot in the door, others could come up with reasons why Windows just didn’t work out for them.

synp, - 13-05-’13 08:03
AAL

Boy, he sounds like a disgruntled employee. Maybe a smart guy that doesn’t always get his way and feels he knows best. Any large organization will have systemic problems. Don’t think that Google is a perfectly running machine, they just have lot’s of cash to throw around. I do take offense at the 9-5 comment also. I have worked with young guys that are severely lacking work ethic, so please don’t blame it on being a family man. Never confuse activity and progress.

AAL, - 13-05-’13 08:10
Sorgfelt

Concerning “9-5”: Kids have to be taken care of. Your passion simply does not matter. You can’t simply call them and cancel your appointment to feed them, pick them up, take them to their sport or music lesson and get them to bed. And your spouse may have work commitments, too, so can’t take up the slack.

Concerning passion: When I was younger, I busted my a$$ working nights and weekends and going off on faraway trips on a moments notice. Because of that, I waited until I was 40 and got a steady job to even admit the possibility of having kids. Disillusionment with employers took over when I saw who I was working for and realized that I really didn’t matter and neither did anyone else. I have a nice 9-5 job now and keep it largely because I need to take care of my kids. After they are grown up, I’ll still want it, so that I can have a life.

Sorgfelt, - 13-05-’13 08:31
Dan Sutton

Of course there’s crappy code in Windows — I feel sure that some of it is more than two decades old – this is to be expected. But it’s still the only operating system on which I can host every web server and every database server on the market, all at the same time: I’m willing to live with a few glitches and so on just to be able to do that: as a developer, it saves tons of cost for me, in that I can do all my development on a single server with a single source-control system. You can’t really beat that.

Dan Sutton, (URL) - 13-05-’13 08:53
MrBob

“I have a dream……. that one day a man will be able to put his linux PC into hibernate mode and have it come back to life without crashing or needing a reboot!!! One day my brothers, linux will be able to do this reliably!!”

MrBob, - 13-05-’13 08:57
mk

I’m just amused by the reactions to a comment by “bridgeliver” (aka “troll”).

mk, - 13-05-’13 09:18
Lurker

“Remember that when you wish to make a change, you will get indifferent support from those who have something to gain, and active resistance from those who have something to lose.” — Machiavelli

Lurker, - 13-05-’13 09:58
Stuart Blackler

Personally, I can see why it must be frustrating for the dev’s inside of MS. It is clear that certain technologies need to be scrapped and rebuilt from scratch with massive input from the community.

My $0.02

Stuart Blackler, (URL) - 13-05-’13 12:01
Mark Aurit

“Linux will replace windows in every sense” … even in the sense that it will someday face its own backwords compatibility quagmire?

Mark Aurit, - 13-05-’13 12:57
ngo

@MrBob

> “put his linux PC into hibernate mode and have it come back to life without crashing or needing a reboot”

Welcome to 2013, these things work like a charm.

ngo, - 13-05-’13 13:28
davmarch

The ‘mea culpa’ may be more damning than the original expose’. I find it hard not to wonder how many bloody teeth or toenails, left on the floor of that dark sub-basement in the ‘Kremlin’, it took to produce it.

Of the fraction of references I knew, what he said rang true. For me XP is the high water mark and everything goes downhill from there. I’d use it forever if it weren’t for the ram memory limitation and the many problems with the 64 bit version. I really appreciated the enhanced cmd.exe and win-explorer.

I tried to like PowerShell, but each attempt kept triggering my gag response and I had to quit. I dream of a more enhanced cmd.exe, paint, wordpad (both sans ribbon). But I’m an old DOS guy from way back and was always hoping for 32-bit protected mode with an X-windows style shell. I guess it’s time to migrate to Linux?

That said, MSFT has done a few really good things: .NET, Vis.Studio, for two. But watch out MS, Eclipse is catching up fast.

davmarch, - 13-05-’13 14:22
Andrew

A great read and I know you didn’t figuratively meant everything you said, and you sound just like me when you get passionate about something that you put your heart and soul into – while watching others being mediocre about their job and thinking that attitude is just fine.

I too am having management and interdepartmental team issues, and took notes of the things you had to say. If you ask me, your current employees should be your most valuable asset, but all too often we get treated as if we, the employees, are the enemies.

Cheers.

Andrew, - 13-05-’13 16:24
Bob C.

Interesting. I don’t buy his “retraction” for a minute. I “retired” from a major S/W development company years ago. I can relate to much of what he said. Schedules were always the highest priority – “the product must be shipped before its time”. No significant rewrites if it impacts schedules, regardless of how much it might improve the system.

I also understand his comments about the new generation coming on board. I went back to my “old” company for a short period on a “consulting” basis. While these “new” kids were quite sharp, they had no clue as to the history or reasoning that went in to some of the implementation decisions that had been made. They also had implementation habits as if they were still in the CS lab at school. With the “old-timers” gone (too expensive to keep on payroll), they had no guidance on the product development process and it showed when new releases of the products were shipped. It is one thing to write good code (which many were quite capable), but another to follow a development process – especially one used by that company. During my “second run”, I had a few who thanked me for enlightening them on process and procedures as there was a lot of floundering going on. Documented processes and procedures were always given short shrift, not always clear and not maintained – especially after the old-timers were gone. I suspect a lot of those younger workers are going to experience the same when they get older (if they aren’t tossed for “cheaper”) and have the experience needed.

Bob C., - 14-05-’13 00:40
K Kulaputra

It is written by an inexperienced level programmer who is cribbing without the big picture – that is what you will remain. If you do not like MS – why keep taking salary from them ? Go work on linux and earn the same money !!! Improvement for improvement’s sake – go to a university please

On a more sobre note, the person who wrote this is well advised to become more mature before writing such thrash

K Kulaputra, - 14-05-’13 03:29
John C.

OK guys. I know nothing about coding but in regards to why talent leaves the company, I can confirm that it is true. I’m coming from a big corporation as well (over 300.000 employees) and the biggest issue they have in big locations (over 2000 employees) is retaining talent because they have enough of crap (young, old, all find a way out). Crap = bureaucracy, processes on how to handle processes on how to handle processes… (you get the point), incompetent management that lost their path and ruin everyone’s career as well, unclear strategy locally.

As to the MS OS, from a user standpoint, W8 is the fastest release yet. I like it, even the Metro look is cool. WP8 is most probably the fastest mobile OS on the market.

John C., - 14-05-’13 04:19
Frank The Linux

Glad i’m using Linux since 2007…

Frank The Linux, - 14-05-’13 04:46
old geek

@Alex: youre the type of Grade A assholes we try to weed out. The smarmy know it alls who think that they have it all figured out.

Of course, just like you Im generalizing so I guess Im just as much as an ass as you are..

Thanks for adding nothing constructive but then again, I get the feeling ‘you’ are the kind of employees we warn people about: big mouths who do little but talk.

We’re actually one of the only tech companies who have almost 1/4 females in out IT dept and weve managed to do this by helping balance work and life.
Just because you have no life doenst mean we force our employees to be as miserable as you.

old geek, - 14-05-’13 07:03
Anonymous

Ouch. ^^

Anonymous, - 14-05-’13 09:13
answerpoet

In the late ’90s I predicted that in 20 years Microsoft would no longer be in business. So far, it appears that they are doing everything in their power to prove me right. Someday, a “microsoft” will be a genre of joke, blunder, or buffoon, characterized by lumbering, short-sighted, unimaginative hubris.

“Dude, that was so microsoft!

answerpoet, - 14-05-’13 10:10
CatAttack

Rant, but it feels right. I hope you survived it, comrade.

CatAttack, - 14-05-’13 12:16
J.L

What’s wrong with being required to maintain a H1-B status?

J.L, - 14-05-’13 16:31
Uwaysi

The difference in performance can be quite big on jitter-sensitive games. For instance Doom 3 does three passes (pr frame) to openGL. That makes Doom 3 on windows require a modern E5 workstation with low-jitter hardware, to run without framedrops, and even then you need to tweak windows. That has not been available before recent times. In Linux you can run Doom 3 perfectly, on 5 year old hardware, a core 2 duo, and a GTX 280. That says a lot about the difference in performance, on perfomance-critical applications.

Check also my low-jitter kernel for Ubuntu: http://paradoxuncreated.com/Blog/wordpre..

And my low-jitter tweak for windows XP (lowest latency): http://paradoxuncreated.com/Blog/wordpre..

Peace.

Uwaysi, - 15-05-’13 00:27
Mark Rendle

There are some really nasty, hurtful comments here, from people who don’t seem to realise that Windows (and all Microsoft products) are worked on by real, honest, hardworking people who believe in what they are doing, and are proud to be a part of one of the most successful tech companies ever. It can’t be easy working on code that is going to end up on billions of devices with wildly variable hardware profiles, that has to continue to run thousands of existing applications even following a major version increment, and that everyone expects to do more and perform better than the previous iteration.

It’s all very well for Linux kernel developers to sneer, but the vast majority of Linux installations (barring Android) are maintained by experienced sys-admins who can cope with documented breaking changes and rebuild nginx from source if necessary.

Mark Rendle, - 15-05-’13 05:25
Glen

Great article. I’m sure the original poster is a decent person and is correct about many of the things they say in both their original opinion piece and their follow up. I hope somebody listens to them rather than shoots the messenger. Obviously the company needs a cultural shot in the arm and this is a bit of a call for help. So help.

Glen, - 15-05-’13 05:54
Raj

This is classic problem with any large organization. You cannot be too passionate and emotional about this. Name it oracle, IBM, Cisco, EMC,HP etc.. If you are part of a small team in a large project, same issue will be there. The bottom line is when you stop enjoying the large corporate culture find a startup and start building cool things. You are only as good as the team. You cannot change the characteristics of the team.

Raj, - 15-05-’13 07:26
Greg

@Big Kate

Apple is NOT going to deep six OS X anytime soon. OS X is, in fact, already running on top of ARM. It’s called iOS. :) iOS is the same operating system.

Greg, (URL) - 16-05-’13 10:46
NoOP

They way the “developer:” expressed in the article looked more like a rant kid than a real developer.

NoOP, - 16-05-’13 12:13
Rob

Looking at what he in the last part said he DOESN’T mean is what he really means.

The subject of the article, being slower than Linux, is misleading – it’s Microsofts culture of coding that he attacks, and from what I know, he’s absolutley right. They’re not only slower, bad more ugly, look at SCOM, look at Exchange 2010 ff.

What I don’t understand is why he stucks with MS – FLOSS enterprises will take him gladly if he knew anything about the outside world. And if he knew how to code.

Say hello to the good-bye sun, Microsoft, a lot of this rant-a-like stories will follow. Welcome to the garage.

Rob

Rob, - 16-05-’13 13:33
swdev

I agree: MS and Linux are, more than anything, the cultural extremes of S/W development. And if indeed “the gap is worsening”, we should soon see one fall over the edge and get swallowed by it. Looking fwd. to that day!
Also, if you do it out of passion, noone could (and neither they should!) tell you not to spend 14hrs. a day on your hobby. But then, if that ever becomes “the norm”, I guess all of us, “9-to-5-ers-with-kids” are screwed! We’ll soon find ourselves working in a mine for a living… Not that’s a bad thing! Since that would still mean you’re still worth your wage for someone out there…

swdev, - 17-05-’13 00:59
Rex

Kudos to the authors for the awesome read.

Rex, - 17-05-’13 01:57
jxq1323

The Windows kernel is horribly slow and bloated, and the information from the anonymous Windows developer makes perfect sense. Hence, the downsides that come with closed source software. The Linux kernel (being open source) is constantly improving, and is setting the standard all of the time in real business and datacenters. Microsoft is only relevant at the desktop and consumer level, but not as much in the datacenter anymore.

jxq1323, (URL) - 17-05-’13 07:13
alessandro simon

Just wanted to know how he was scolded led surely anonymity was discovered here in Brazil it is called: “arregão” “hit” pin , bateu pino (in nordeste).

greetings to all.

alessandro simon, (URL) - 17-05-’13 07:48
Janice Halligan

About the anonymous Microsoft employee’s ‘apology/fire containment’ portion of this post, and specifically regarding this part: “… one of the only organizations on earth that’s built an impressive optimizing compiler from scratch, for crap’s sake”

This points out his youth, relatively speaking, and naivete wrt other organizations and other parts of the software industry. I spent two decades working for telecommunications equipment manufacturers where we did everything from scratch: hardware, firmware, software and all the tools for testing and debugging our very large embedded systems. When I started in this industry, every place I worked had their own proprietary language (software) and wrote and maintained their own set of compilers and debuggers.

Get over your NIH attitude and start trying to understand that there’s nothing new under the sun or under the hood of a software product for that matter! :) All large software systems created by large groups of people eventually grow to the point that a rewrite is necessary. There are talented people who are very good at creating new features and new software modules and there are equally talented people who are very good at re-architecting and cleaning up system software that has taken on a life of its own.

All that is needed is for the pain of the inelegant, non-optimal, hard to maintain parts of the product to start affecting the bottom line and then someone able to present the trade off as a net positive for the company as a whole. It can be done. I know because I did it for a project on which I worked where, as the anonymous contributor notes, experienced, talented, intelligent software engineers chose not to do the right thing because of the complexities of the existing rats nest of code underlying a critical portion of the system.

Janice Halligan, - 17-05-’13 08:19
muaslam

Microsoft may be using codes which are not perfect but they combine them to make a smooth running application that may be slower than the ones running in linux. People need smoothness while they want to focus on business logic and only microsoft provides with the smooth applications. They should have improved the backend designs but still its better to invest into new things instead of improving the older ones. If they start improving older ones, they will loose a major market share of a next generation product.

muaslam, - 17-05-’13 20:15
chris marisic

The comments that followed this article, so many made me laugh out loud. one commenter says he predicted ms would be out of business in 20 years and tries to act he was right.

Numerous commenters are purporting theres some mystical linux takeover. that either has happened or will happen. kinda funny when these statements have existed for decades and it has never happened.

another poster claims windows isnt in the datacenter. i guess they missed where windows is some 60% of the entire server market. or that windows azure is already a billion dollar revenue earning machine. windows azure is going to crush the data center, there will be no need once azure reaches invisible ubquity.

more posters act like entire swathes of corporations, the kinds that have 1000s or 10000s and more computers will move to linux or apple. ms is the only company that understands the money is in control. the control to manage thousands of desktops from a few servers. global policy, wsus, systems center, these are tools that move product.

also lets not forget office365. with the success of o365 i wont be surprised if microsoft figures out how to transform windows itself into a subscription model. apple already effectively has with their paid upgrades.

to conclude, regardless of your personal feelings, microsoft has vision and its to make money. i have lots of confidence in them to continue succeeding at making money which is why i own lots of stock in my mutual funds and previously direct shares. eventually i will fill my roth with ms and intel stock for the long term.

chris marisic, (URL) - 18-05-’13 05:34
chris marisic

also i’m a c# asp.net software architect. the ms stack is hands down the best for application development. from visual studio, to nuget, linq, async/await, “one asp.net”, iis8, and in the future roslyn.

open source has been a key stake in application development with the combination of ms oss and nuget. i deliver as much with the .net framework and 1st party as i do with 3rd party oss. my company uses dozens of oss tools to deliver .net software.

the sky is not falling.

chris marisic, (URL) - 18-05-’13 05:41
sdfsd

sdf dsdfsdf

sdfsd, - 18-05-’13 06:31
john

filename and sha1 hash: http://pastebin.com/KXpg5wgz

john, - 18-05-’13 07:00
Henrik

Same could be said about one of the places I have worked. That code was in a terrible state. Still improving it was impossible due a plethora of module responsibles and subproject managers all guarding their small territory. It got worse over time so I did not really see it, I stayed longer than I should have.

Henrik, - 18-05-’13 08:13
Anonymous Coward

Windows still has a long way to go. It doesn’t yet know how to send email.

Anonymous Coward, - 20-05-’13 02:21
Radhika

Slow does not mean a lot. Now the hardware is getting better and better. The current culture is not so bad. In terms of business, the decision is always based on RO!. either short term or long term. Imagine the change impacts lots of different code and how much money some one have to spend on retesting stuff .. Unless you have a well defined regression suite which shows the code coverage and ensures that all intended functionality is not broken. I am a dev test in an organization where we say why certain snippet of code is risky to change no matter what the change is. Imagine the change bombs in the field in specific scenario. I use Windows, Mac and Ubuntu everyday. I may be a geek but the way windows provides their apis and support when you raise an issue under premium, is really awesome. Having a very good support organization makes lot of difference. Think of the skill I required to enable PUT on apache. I stopped actively working on after windows server 2003 . However, it takes only minutes to figure me out how to enable PUT on windows 2008 with required security . The User experience makes lot of difference in the case of MS. Well, in some cases this performance concerns work against MS. I love the windows phone user experience than IPhone or Android. But what prevents me choosing a windows phone is that I am concerned on the performance. I love Exchange, Active Directory, XBOX, Office which no one can match so far.. I consider SQL server OK as compared to oracle. But, it is so easy to use. IE, Yuck!. All developers are not going to ditch MS for link/mac. Geeks may be. Business users who make decision to buy a software are going to favor MS for a long time. So Kids, think of the larger picture and objectives before you crib about incremental improvement and get out when the work does not match your style . Personally, I would like to work for a startup or a small organization which improves your knowledge and and you will have the freedom to change so many things. If you are willing to learn your job will be secure that way. if you can prove ROI of your change, it will be accepted by organization.. Prove it! Don’t be a whiner.

Radhika, - 20-05-’13 03:05
Anonymous Coward

On a more serious note, that Windows – not just the core of it – is falling behind, is IMO obvious. And while I don’t think it will be a fast process, I think Windows’ presence in the data center will diminish.

Except for Azure, there’s no single major PaaS provider (that I know of) running on Windows – of course there isn’t since Linux is free as in beer, and setting up a data center with thousands of machines will cost, even if you get the licenses at a discount price.

Right now, most companies only deploy a few apps to the cloud – there’s still fear and uncertainty about how safe/reliable it is to deploy to the cloud, the security model isn’t yet fully understood, there’s no comprehensible security-related SLA provided by PaaS providers, and there are few admins and programmers knowledgeable enough about the cloud. But this will obviously change with time – even if deployment will happen to private clouds. And private clouds will obviously run on Linux, for two reasons. First, Linux is way ahead of Windows in cloud infrastructure support (you already have dozens of open source solutions running on Linux, while Azure isn’t available for private clouds, and I don’t know of a single PaaS solution which supports Windows alone), and second, a 5 load.

I think the future isn’t looking pink for Windows on the desktop either. Granted, you still have a Windows-dominated desktop environment out there. But if you compare what’s on desktops today and what was there ten years ago, it’s obvious that Windows’ position gets eroded. Vista and W8 didn’t help at all, in this regard. And while the Linux desktop from ten years ago was in no way a match for Windows, over the last 4-5 years I’d say that from a user point of view the various Linux desktop offerings clearly exceed what Windows provides. So other than the installed base and legacy applications, there’s not much in favor of Windows on the desktop. But applications are moving to the web, and desktop applications are moving to the browser. And while the versions of IE from 8 onwards were clearly big improvements, IE is still a laggard with regard to W3C standards support.

Then there’s the trend towards mobile, non-Windows-powered devices. I only start my desktop or laptop at home when I want to do development. I do email, documents and whatnot on my tablet. Heck, I even stream HD video over HDMI to my pico beamer from my tablet, rather than from a computer. And since it’s cheaper and more convenient, I do expect this behavior to become a trend.

So all in all, although I think it will take many more decades until you can declare Windows dead, I think that’s where things are heading. I don’t think there’s a business case anymore to justify an almost monopoly-like deployment of Windows. Which means that the installed base of Windows in data centers, on dedicated servers and on the desktop will continue to shrink.

Anonymous Coward, - 20-05-’13 03:19
Anonymous Coward

Errata to the previous comment – something must have gone wrong during submittal: “and second, a 5 load” should read “and second, a five percent performance difference is huge when you run thousands of machines close to a hundred percent load”. If the blog owner can patch the initial comment and remove this one, I’m happy.

Anonymous Coward, - 20-05-’13 03:43
mrb

Anonymous Coward: yes, PivotX is retarded and strips the percent sign due to bugs in the url-encoding/decoding mechanism.

mrb, - 20-05-’13 11:54
ben

On linux-kernel, if you improve the performance of directory traversal by a consistent 5%

Not really ask Reisen…

I don’t think the core of Windows 8 is falling behind at all .. The first arm generation runs better than android.,

ben, - 21-05-’13 02:25
Don

When I started out in the business (30+ years ago) I used to sneer at the “9 to 5ers” in the company. 10 years later, I was the one flying out the door at 5pm so that I could get to the daycare centre before it closed.

Don, - 21-05-’13 05:47
ActualCompSci

What a loooad of twaddle. The reason it is slow is IT IS A PIECE OF SHIT. Windows ‘evolved’ by a long series of mistakes, and reinvented just about every wheel there is to reinvent – BADLY. It is designed by weenies just out of grad school who know absolutely FUCK ALL about real computer science. And Big Mother doesn’t care – she just needs acronyms to sell to sociopathic shitheads in middle management positions. THATS THEIR MARKET. ITS ALL THEY CARE ABOUT. Windows, as a system, is a random splat of monkey vomit on a muddy field.

ActualCompSci, - 21-05-’13 23:09
Neticis

For conspiracy theorists, you can check how related both posts are in http://www.utpsyc.org/synch/input.php
It shows quite high correlation.

Neticis, - 24-05-’13 12:55
MickJ

Seriously, WTF is wrong with having to maintain H1-B status. Majority of these guys are extremely well educated, professional and productive. You clearly made an an uneducated and ignorant statement by trying to create a stereotype out of a group of distinct individuals with unique skills and personality traits. Its the same H1-Bs who have contributed enormously to the success of companies like Google and Facebook who are heavily dependent on them.

To me you sound like a sore loser who has not done as well in his career as he had hoped and is now more than happy taking that frustration out on people around him.

Smart people who have talent and vision don’t complain about life, they succeed in life.

You just want to sit on your ass an blame the rest of the world for your failures. How about get up and do some thing to change it.

If I was this frustrated with my organization and the people and culture, and I knew I had much more to offer, I would have left for a place where I could apply my skills and contribute positively towards the success of the organization and my own.

And I am really glad that you don’t have kids. Please never have any. As clearly you will make one angry abusive parent. What? Don’t like stereotypes anymore?

MickJ, - 29-05-’13 08:12
Jonathan

You’re seriously that offended, MickJ, that he mentioned H1Bs? They were barely even talked about, certainly not in a highly negative light. You really need to grow a thicker skin if that bothers you enough to write a six paragraph rant. This is ridiculous…

Jonathan, - 30-05-’13 11:51
Scott Moore

Brogrammer????

Scott Moore, - 06-06-’13 17:13
Uwaysi

“lulz”

Uwaysi, - 13-06-’13 06:57
gadgety

Very interesting read! Somehow the word entropy came to mind.

gadgety, - 27-06-’13 03:06
eMPee584

Stating the obvious – the biggest advantage of many free/libre open source software projects is the inherent KAI ZEN (self reflection & optimization) attitude, something that often lacks in proprietary software products, whose primary justification is RETURN ON INVESTMENT. That said, even in FLOSS there’s the good, the bad and the ugly… Mentality of the head project maintainer makes a huge difference there..

Back on topic: technically it is indeed a sheer miracle the complex conglomerate of ancient APIs, kludges, detours and patches that is MICROSOFT WINDOWS™ “mostly works”…
Personally, I have come to enjoy a life free of M$ software products.. I give them a fair trial run once in a while, yet the usual experience is in line with what the iron-balled hepcat layed out: old annoyances never fixed, new annoyances introduced.

Conclusion: Capitalism surely is craptastic – serves us the sh1t we righteously deserve.

eMPee584, - 29-06-’13 04:37
Soham

Even though Windows kernel is slower it’s still one of the most widely used operating system and much better than rest of them.

Soham, (URL) - 03-07-’13 01:47
Steve

+1 to this > “This piece reinforces what I’ve believed to be true of Microsoft for a long time”. I’ve been with ms since the DOS days. I once loved MS, which was once a good company. Under Balmer, I have grown to hate MS down to the very last cell of bile at the bottom of my aged, wrinkled kidney. I have been slowly migrating to open source and away from ms tools. The next iteration of brain wipe (aka ms going from .net to .crazy or whatever like they did with vs06 to .net) will be the linchpin for me: I will depart from developing on this platform I have grown to despise so very deeply. Even using windows has become burdensome where the event logs take 3x longer to load than it did with XP, where you have to quadruple click in places that once only required a double click (ei sql server mgt studio), bloated & broken software ad nausea…. Multiply annoyances like thes along with the other 100s of annoyances by 1000s of times a week, the product of that is from the bottom of my heart, I F#@$% hate MS… So, it comes as no surprise that the first post (the 2nd PR post is BS) indicates exactly what we have been saying at my shop all along. There are far too many h1bs sitting in seats that once held talent. MS will reap the exact crop it has been sowing the past decade under balmer.

Steve, - 12-07-’13 15:07
The_H1B

Man, I think I’m going to apply for H1B, move to US, and take your job, just because you hate H1B so much. Unless someone is mentally disabled lazy lardass, there is no point in hating talent that was not born to your mom

The_H1B, - 13-07-’13 08:26
MartyO

I used to just dislike windoze, now it’s a deal killer. Updates upon updates for not doing it right the first time. I often wanted to send Gates an invoice for my time, while debugging his crappy code. Yes, I was a programmer on larger computers that did real things like transfer Billions of dollars between banks. Interlink so you can buy gas at a station whose merchant bank is not your bank..

If I wrote code like they do, I would have been fired in the 80’s and probably become a plumber. Although that may have been more lucrative in the long run. Than they hire Jim Gray from a firm I worked for for nearly 10 years. He couldn’t make that junk fault tolerant.

What do you hang your hat on these day? Mac OS X? Without Steve the OS is starting to feel like Vista. I have been watching Linux for 15 years and finally LM 15 KDE comes close to a usable OS. Why did Novell give up on Linux. They had a great desktop Linux environment with Evolution — which looks and feels like LookOut (ooops, my Sun heritage is showing). I started there in 1996 and shared with my windows friends that I hadn’t rebooted my workstation in 3 years. They flat out didn’t believe me.

Have we not progressed since that day Grace Hooper yelled at my friend Rick and I for not managing Islands of Information. That was at Northwestern U. in 1972. No we’ve gone backwards in many ways. Yes, we’ve created magic in specialty areas like mobile computing, but if I bought a $20 toaster and it didn’t work, I’d return it. Get my point?

Should have been a plumber,
Marty

MartyO, - 13-07-’13 19:57
TimeBandit

Soham : You are so wrong… the most used Kernel is Linux.

Android is running on the Linux kernel, your router and your TV also.
Most of the servers out there also.

Stop spreading bullshit and “get the facts” !

TimeBandit, - 23-07-’13 05:48
Timur Kristóf

It’s nice to see that I’m not alone with my disillusioned views.

Timur Kristóf, - 03-08-’13 09:36
CTW

There is a few very valid points if you take a diff of the posts.

One very big one that is problematic everywhere: New flashy code is better than improving old working code. You get stuck with the old code, because nobody wants to break it. If you improve code by that 5% you do get a lot of “who cares?”

Hardware improves way faster than software given Moore’s law. Sometimes it’s better to start over than to fix the “rust”

CTW, - 14-08-’13 16:46
muhammad lal

Nice sharing! reading such article in an inspiring i like your post because its very informative and awesome.keep providing such kind of good post.once again thanks.

muhammad lal, (URL) - 13-09-’13 04:57
johnnyb

If you want to do something about it, try involve in ReactOS project, open source Windows. Show Microsoft that the kernel can use the resources in a good way.

johnnyb, - 25-09-’13 06:49
africanoracle

A fascinating read, I can’t help feeling though that every established tech company is going through the same pain, has the same warty code and has crewmen and women who sometimes feel upset about the quality of some of the work that they have to produce or stuff they have to maintain. I applaud mrb for the rant and the follow up comment.

Oh that we would try to correct errors when shown to be errors; and adopted new views so fast as they shall appear to be true views..

africanoracle, - 08-10-’13 00:18
marc

ha… this guy obviously got his ass handed to him over those comments. Those weren’t second thoughts. Those were the words of a man ORDERED to apologize.

marc, - 03-12-’13 04:41
marc

XNA? Need I say more?”

Well, fuck, Mr. Anonymous Microsoft Employee… I want to HEAR more!!!

marc, - 03-12-’13 04:42
Dmitry

Development (server-side java/scala/python applications) under Windows is a pain, gave up and switched to Linux many years ago. Ability to script everything, shell pluggability, system clarity and flexibility are Linux killer features for me. UI experience is also awesome: I’m using a tiling window manager (xmonad) with xfce, and it rocks in multy-monitor configurations. Windows 8 tiling interface is just a beautiful, but useless imitation.
One more bad thind about Windows is inability to transfer all installed apps and their settings to new installation. That is easily done under Linux (I mean dpkg export selections & copy home dir), but is a terrible google-download-run-next-next-next-finish nightmare. Maybe that has been fixed into Windows 8 with their app store, but vendor lock-in and application certification look like a crap for me. Looks like all new features MS enrolls are just a “fatal bug #1 fixed” imitations of well-known Linux/OS X features.
The sooner MS will sink, the better it will be for the hole world. IMHO.

Dmitry, - 07-12-’13 01:57
Sachin

Very useful information. Thank you for sharing it.

Sachin, (URL) - 15-02-’14 01:53
Meh

Sounds like Microsoft’s next strategy to get us to buy more loads of shit. There are tons of words he used in the chat/article that sound like regurgitated bull the horses ass has been feeding us. Words like (passion and family) sorry Bob some of us are just not sold on your platonic gestures. Want to do it right? Fire the dev teams, hire new people, merge all divisions, kick out Windows and its kernel. Then redesign from scratch do the homework and actually get it right and just maybe some of us torrent users may actually buy into the hype.

Meh, - 15-02-’14 05:00
ev tasarımı

Thank you for sharing and expression was very nice.

ev tasarımı, (URL) - 01-04-’14 02:04
ak

who cares, as long as it works for me as i like it or even close what i want it to be, i am happy. i love windows and its my bread and butter.

ak, - 25-04-’14 09:25
Smithc124

I am sure this post has touched all the internet people, its really really nice post on building up new web site. kdfkebeaafedgcdb

Smithc124, (URL) - 28-04-’14 02:18
Shane

Microsoft has done tremendous work to keep its code quality as near to Linux Kernel, but it doesn’t seems to be near. They are leader for user desktop but not in server space.

Shane, (URL) - 03-05-’14 04:34
girr

Any modification in code, even a single line fix will have to go through dev testing, qa testing and some amount of deployment. Only then such fix included component/product can be given to customers. This is what microsoft follows. Such a fix consumes time of devs + qa and hence the priority of such a fix at given instance will always be questioned and validated. Hence, most of the times, you end up not touching the code that is stable. Not even a small line of change.

girr, - 22-05-’14 08:14
girr

Crappy code does get checked-in everywhere. Not all times does a check-in undergo thorough code review. At times if QA validates ahead of code review is done, the code gets checked-in and a code review and comments from the code review later will not be taken on priority because QA has already validated the change. That’s how crappy code gets to live many life times even at MS.

girr, - 22-05-’14 08:18
girr

Whole world is running at a fast pace. Releasing features has higher priority than writing quality code. If your code passes the QA validation, you are good to check-in. Minor issues that are reported from deployment are evaluated for severity and either fixed or ignored based on the severity.

girr, - 22-05-’14 08:21
Anuj

This is very useful information shared here. I am really thankful for this.

Anuj, (URL) - 28-05-’14 06:29
vijay

it is really true that windows fell behind other OS like linux. Whatever you shared is truly acceptable. Thanks a lot for this useful article.

vijay, (URL) - 04-06-’14 09:09
Meisterister

As a Linux user, let me just say that SystemD is a trainwreck in slow motion. It is an all-encompassing monolith controlled by by a small oligarchy. The dev’s comment about it being an octopus about to eat Tokyo was totally right.

Meisterister, - 18-07-’14 22:24
(optional field)
(optional field)
Remember personal info?
Small print: All html tags except <b> and <i> will be removed from your comment. You can make links by just typing the url or mail-address.