Coffeehouse Thread

82 posts

Forum Read Only

This forum has been made read only by the site admins. No new threads or comments can be added.

“Why Windows is slower” - a 'rant' from within WinDiv

Back to Forum: Coffeehouse
  • User profile image
    blowdart

    , wtfhIs​Microsoft​Doing wrote

    *snip*

    Yes, exactly. Facebook only has one branch, trunk  and it's SVN. Developers version on their own machines with Mercurial, git or whatever then commit directly to trunk. That gets pushed out to staging then production with Chef.

    Again not exactly. It goes for internal use, then to some limited public servers (where they test performance etc.), then eventually to the world at large. Of course there's a metric f*ck tonne of unit and automated tests too. It is not, as I read your summary, a check-in, don't test, go live as soon as you check-in. Nor does everyone get to check into the source tree. There are merge requests which Chuck Rossi (or whoever does it now) evaluates and can reject - devs that break things get an internal "thumbs down", and that's taken into account in merge requests.

  • User profile image
    Charles

    Having had several conversations with kernel developers over the years (and you've seen many of them in video format right here on C9...), it's clear to me that this person is junior and also not a member of the Windows kernel engineering team. I suspect he's some junior program manager (or developer) working in some other part of Windows. I hope we find him. I look forward to hearing the news of his dismissal from Microsoft.

    His post is (I have to assume this person is a male of the species, so I will...) full of BS as it relates to what kernel developers spend their time working on. There is an enormous investment in performance and optimization, from schedulers to power management. With each iteration of Windows there are significant improvements in the kernel - related precisely to performance (and security and reliability, of course). If you've spent any time listening to actual Windows kernel developers over the years here on Channel 9, it would be quite obvious that the person blogging this BS doesn't write code that ships in the Windows kernel. He said so himself, in fact: "While I have read and write access to the Windows source and commit to it once in a while...". Yeah, you may be a junior dev (at best) working somewhere in Windows (or some other team that checks code into the Windows source depot), not a member of the kernel team. They only hire very smart people.

    Don't let the door hit you on the way out...

    C

  • User profile image
    wtfhIs​Microsoft​Doing

    @blowdart:

    devs that break things get an internal "thumbs down", and that's taken into account in merge requests.

    https://www.facebook.com/video/video.php?v=778890205865

    Yes, the "push karma".

    Of course there's a metric f*ck tonne of unit and automated tests too. It is not, as I read your summary, a check-in, don't test, go

    Automated blackbox testing only goes so far. The reason is that with new code, those tests may not get updated and may pass on old functionality but fail the new code.

    My point was that this is very different from the dev-branch/merge/CI cycle run by most comparable companies with test/staging/prod.

    The whole partial roll out to a select # of nodes with Chef to sample how the public absorbs the changes is vastly different as well.

    So I'm sorry if I made it sound like Mark Zuckerberg was sitting alone behind his keyboard committing stuff to the SVN trunk to roll them out in the weekly release by himself. But I think that's obviously not what I meant.

  • User profile image
    wtfhIs​Microsoft​Doing

    I look forward to hearing the news of his dismissal from Microsoft.

    Wow, that's sadistic. Rock on Microsoft.

  • User profile image
    Charles

    @wtfhIsMicrosoftDoing: That's my sentiment, not Microsoft's... C

  • User profile image
    Sven Groot

    @Charles: It may be worth checking out why this guy became so bitter that he felt the need to post this. It could be he's just a sourpuss looking for fifteen minutes of fame. It could also be that there's a core of truth underneath the hyperbole he used. Either way he's clearly not happy at his job, and figuring out how that happened can only be beneficial for both him and Microsoft as a whole.

  • User profile image
    blowdart

    , wtfhIs​Microsoft​Doing wrote

    @blowdart:

    *snip*

    https://www.facebook.com/video/video.php?v=778890205865

    Yes, the "push karma".

    *snip*

    Automated blackbox testing only goes so far. The reason is that with new code, those tests may not get updated and may pass on old functionality but fail the new code.

    My point was that this is very different from the dev-branch/merge/CI cycle run by most comparable companies with test/staging/prod.

    The whole partial roll out to a select # of nodes with Chef to sample how the public absorbs the changes is vastly different as well.

    So I'm sorry if I made it sound like Mark Zuckerberg was sitting alone behind his keyboard committing stuff to the SVN trunk to roll them out in the weekly release by himself. But I think that's obviously not what I meant.

    Fair enough. I'd still disagree, there is a dev branch, it just gets pushed public faster than, say, msdn.microsoft.com. Of course web sites are rather different to frameworks, or Windows, but even with frameworks you'll find the likes of signalr, or owin/katana pushed faster than you would expect. The dev branches of those are public. However before release there is a quality bar to pass, in terms of the SDL, backwards compatibility and so on. I do sometimes wonder if we abandoned backwards compatibility how much faster we could be in delivering. But then we're not releasing Android Smiley

  • User profile image
    Richard.Hein

    Younger dev, probably ... Based on his diatribe against certain classes of coworkers, and the diatribe alone. I can understand the feeling that you are being held back, but I also recognize how easy it is to break things that countless people rely on. To ignore elder wisdom, based on experience, is to fall hard on your *. This guy needs to be fired, sadly ... but he has to learn that attacking your food source like this, instead of wisely fighting the good fight from within, is a critical mistake. And if it is that intolerable that you are willing to publicly disgrace all your team, then GTFO.

  • User profile image
    Bass

    Why stop there? I know lets fire all the Microsoft employees talking crap on MiniMSFT's website too. Obviously to accomplish this Microsoft needs to institute a McCarthy-like investigation of all the company's employees. And any evidence of impure thoughts would result in a pink slip. Anyway I now completely understand now why he took the precautions he did. Kudos to him.

    And it's incredibly valuable stuff when people on the inside post stuff like this. Channel 9 is great and all, but it is still a corporate outlet. It is always interesting to read the frank and unsanctioned opinions directly from the people in the trenches. Sometimes you can learn things that you will have a hard time learning any other way.

  • User profile image
    LiquidBoy

    No one here is talking about ... "what if windows code were open source like Linux" ... then this would be a non issue as all code would be open/visible and clearly contribution can come from anyone and fixes/changes/enhancements will rise to the top based on there own merits..

    I agree that what this so called junior, or other business unit dev did was wrong, but I also wished that MS were more open with their code bases! Would be great to see what the evolution of the kernel would be like if it were open Wink

  • User profile image
    Charles

    @Sven Groot:

    In any job, one experiences periods of doubt (self-doubt, doubt about any number of things related to what one is working on or where one works), unhappiness, remorse, anxiety, sadness, anger, confusion, happiness, fulfillment, excitement, deep focus, joy, satisfaction, success. When the bad stuff happens, you only make things worse by crapping on your coworkers (who, in this case, probably aren't his coworkers) and making your company look like it's run by spoiled children... No, I have no interest in helping this individual.

    That said, at Microsoft, we continually evaluate our culture, which is the only way to change what doesn't work - you have to understand what the issues are and then come up with practical solutions. Over the years, we have made changes to fix problems with our operational models and we've invented new problems, too, but this doesn't mean when things go wrong for you, for whatever reason, you anonymously post your criticisms to the Internet and cry foul in a sensationalistic way. And then to top it off you assert that Windows kernel developers somehow don't spend quality time on performance and optimization (of existing and new code)? That really pisses me off.

    Imagine if we all aired our personal grievances, say, with our personal relationships (well, some do, I guess, but most of us don't...). What if I posted here on C9 about problems I'm having in my personal life and that the problems stem from how screwed up life really is (as of course I get what life is all about) and how everybody around me doesn't get it and they're all just a bunch of half-crazed monkeys wandering aimlessly through time? What if I chose to blame my problems on people that have little to do with the problems I'm facing, if anything, blaming them for the failure(s) at hand, even if they have nothing to do with it? "Damn crazy apes!"...

    I don't speak on behalf of Microsoft. I'm comfortable with my real identity, with nothing to hide. I think this employee is not somebody that should work for Microsoft. We need people who want to work here, who want to help us succeed in this new age of personal computing, who are passionate about technology and respectful of their peers and fellow employees, are smart enough to know the difference between sending a well written, balanced, intelligent email to your GM or VP expressing concerns in a rational way, versus airing half-truths and what amounts to slander as an anonymous entity on the Internet...

    So, to answer your great question, Sven, the problem is not what to do after something like this happens, it's about learning how to be a mature employee and know that if there is something really wrong going on around you related to work, a solution is easier to find internally rather than on reddit, Slashdot or Mary Jo Foley's blog... If, after you try to solve the issues in a responsible and respectful way inside your group, you fail to make progress, then you'd be better off moving on to something new, perhaps somewhere else. Life is too short.

    C

  • User profile image
    Charles

    , Bass wrote

    Why stop there? I know lets fire all the Microsoft employees talking crap on MiniMSFT's website too. Obviously to accomplish this Microsoft needs to institute a McCarthy-like investigation of all the company's employees.



    Because that would be stupid. We're having an intelligent conversation here.

    C

  • User profile image
    Bass

    , Charles wrote

    *snip*

    Because that would be stupid. We're having an intelligent conversation here.

    C

    How is firing this one guy [assuming you can even find him in a non-intrusive manner] going to fix anything?

    He's not the only Microsoft employee publicly shaming the company on the Internet. If the problem is Microsoft employees criticising the company in public, you have a much bigger problem on your hands then this one "junior" NT engineer. There isn't be much you can do about Microsoft employees speaking their mind if they are unhappy, short of yeah, strongly investigating a large amount of if not all of your employees and rooting them out. I mean, there is a whole lot of historic precedent for that technique. Unless you have a better idea?

    Naturally though, another solution is to address the systemic things that cause employees to be unhappy in the first place (Sven's idea, not mine).

    B

  • User profile image
    Charles

    @Bass: I didn't say it was the solution to any problem... I stated only that it is the appropriate response to his voluntary action.
    C

  • User profile image
    felix9

    Hmm.... actually Microsoft Research have looked into the relationship between 'Code Ownership' and 'Code Quality' in WinDiv, the papers were here:

    An Analysis of the Effect of Code Ownership on Software Quality across Windows, Eclipse, and Firefox
    https://research.microsoft.com/apps/pubs/default.aspx?id=140711

    Don't Touch My Code! Examining the Effects of Ownership on Software Quality
    https://research.microsoft.com/apps/pubs/default.aspx?id=150498

    long story short, the conclusions are these:

    In a 'traditional' team like WinDiv:

    1, if a binary/component has more code commits from outside of the owning team, the quality is lower.

    2, if a binary/component has less code commits from outside of the owning team, the quality is higher.

    3, somehow this may not always be true in some OSS projects, and this may depends on what kind of 'development model' this OSS project actually uses. We are not sure why it would work, but at least it doesn't work here in WinDiv.

    so, MSR gives some recommendations with regarding to the dev process control, by enforcing 'stronger' code ownership polices, to improve the code quality.

    1, Changes made by minor contributors should be reviewed with more scrutiny.

    2, Potential minor contributors should communicate desired changes to developers experienced with the respective binary.

    3, Components with low ownership should be given priority by QA resources.

  • User profile image
    Charles

    @felix9: I don't think any of these axioms are not in motion today across all teams inside Microsoft with large code bases, with some amount of external enlistments (minus the OSS realities)... Windows is the canonical example, of course, but it's not the only large and complex code base maintained by multiple teams of engineers with varying levels of seniority and expertise.

    C

  • User profile image
    cheong

    , evildictait​or wrote

    The employee was absolutely right to be scared shitless. If Microsoft finds out who posted it, they're going to get fired.

    That's not to say he doesn't have some valid points. Indeed, I can identify with several of the points he's making (teams really hate "inheriting" code that they didn't write, and it's much easier to write new code than repair old code, for instance).

    But the reason he's gonna get fired when they find out who it is isn't because he's making these points, but because of how he's making these points.

    If you have a problem with your employer, talk to your boss. If your boss doesn't listen, talk to his boss. If he doesn't listen, write your CV and go somewhere where your talents will be appreciated.

    Writing a negative post about your employer online on a site that you know is going to use it as ammunition against your and your colleagues is always going to get you fired when they find out. That's not just "how Microsoft works". That's how every company in America works.

    Agreed. Feel free to rant about your company or a company of the past, just make sure most detail that can be used to conclude which company you're talking about is removed. Otherwise you can expect trouble.

    This guy rant with the company named directly, He's crossed the line and don't expect mercy on him.

    Recent Achievement unlocked: Code Avenger Tier 4/6: You see dead program. A lot!
    Last modified
  • User profile image
    wtfhIs​Microsoft​Doing

    Come Friday in a couple weeks this guy is going to get his direct deposit, and you will not have caught him and he will do a little cheer, and that will be the end of it.

    That is the ultimate destination of this issue.

    Your wishes and dreams of a witch-hunt ended successfully will be dashed, and you'll all snap back to reality.

    What if I posted here on C9 about problems I'm having in my personal life and that the problems stem from how screwed up life really is

    Why would you even dwell on how screwed up life really is as an example? Not everybody's life is screwed up. I think that says a lot. I dunno if you should be running social for MS, honestly. My 2 cents.

Conversation locked

This conversation has been locked by the site admins. No new comments can be made.