> Several informants described great software engineers as hardworking: willing to work more than 8 hours days to deliver the product. This typically meant working longer days, during weekends, and/or during other free time in order to accomplish goals. Informants believed that, at a minimum, software engineers needed to be willing to work beyond normal hours immediately prior to ship dates in order for the team to successfully deliver the product
What I'm getting from this is that Microsoft is a terrible place to work.
Schedule failure is a management fuckup. Expecting the line engineers to fix it is completely backwards.
The study is based on interviewing 59 experienced Microsoft engineers. It’s very interesting and the traits listed all make sense and seem like they would be helpful. Of course, what people say and what people do sometimes have gaps, so I’m curious how much these traits matter when it comes to objective metrics. Which ones lead to safer code, or more shipped products? Which ones lead to happier or longer careers, or stronger career growth? Are there traits that correlate with higher salary? Stuff like that.
It would also be interesting to see if some traits do better at some companies than others. Maybe MS is an environment where the culture is such that certain traits help more than others, while at Google it’s a slightly different set? It’s certainly true that there’s a gap between large orgs and small ones, and between established companies and startups.
First, someone who is smart and doesn't mind sweating the small stuff. Second, even more importantly, someone who wants to change the world, but isn't honest enough with themselves to realize that they're not really going to change the world; they're just going to make rich people richer. Either that, or they just don't care and just want a paycheck.
The problem is for upper management there is usually a much shorter list of expectations, consisting of things like "propensity to work as much as needed to meet deadlines".
It's been brought up that people who do the hiring or serve on the hiring committee would not be hired themselves based on their own hiring criteria and bar.
Everyone has a price. If you want upward of 60 - 70 hours a week from me at any given point, great. We're gonna double that comp package right? There will still be some boundaries, but we'll get that in the contract.
Believe me, I understand as well as anyone how being a salaried employee can turn into abuse, but it shouldn't be a crime for someone to need the unicorn, rockstar, 10x leetcode ninja to really crank for months on end.... so long as they're appropriately compensated! That said, I'll never, ever do that again UNLESS it's my company.
Many of these things (E.G. "hardworking") apply to almost any career, or can be trained, but to me curiosity and patience/persistence are the things I think have an outsized effect on whether someone is a great software engineer.
Would be more interesting and "real-word" seeing what - across the industry - are the usual trade-offs taken on the BAD traits of a SWE, and how they are related to the good ones.
What I'm getting from this is that Microsoft is a terrible place to work.
Schedule failure is a management fuckup. Expecting the line engineers to fix it is completely backwards.