Can you just learn from his experience that he describes, and get over an inconsequential phrase at a tiny part of the post?
Even if it's not applicable "everywhere", it's a nice description of what he found in his parts of Microsoft.
Not to mention that as a senior engineer that's seen several companies (and had done contract work for others), it's pretty much spot on in general.
>Even with my experience, I don't think I've seen much more than a thin slice of the variance in practices that is out there.
Which is besides the point. What he describes it pretty normal stuff, going on all around:
1) companies not having much internal documentation for lots of their stuff,
2) not everyone being overly enthusiastic for coding,
3) code fixes that doesn't have business value are not very welcome,
4) people can mostly squeeze 3-4 hours of good coding a day, etc.
That's not some obscure practices, or some arcane rituals that only happen on a small slice of companies. Those are pretty much the norm all around.
Some companies might do better or worse in some aspects, but it's not like there are some alien practices or some novel ways to deal with software that are out there in companies and you have to explore very hard to find them... Even if they were, they would be so little spread that it won't matter.
>I can't wrap my head around the sort of arrogance and myopia that makes a 21 or 22 yr old think that he can describe an entire world from such limited experience.
Are you fucking kidding me? That's what 21 year olds do. Make strong statements and have strong opinions on their limited experience.
It's the myopia of not knowing this very basic fact, that I cannot wrap my head around.
Actually, no. The post wasn't phrased as "here was my experience", and rightly so: there are lots of terrible engineering organizations, and many readers wouldn't hugely care about yet another such horror story. Rather, the post reads as advice that new grads learn early to be resigned to what they might otherwise perceive to be dysfunctional engineering. I think there's too much of that already, and it's frustrating to see a post advocating that.
Not all, i have the pleasure of working with some 20-22 year olds who would be very unlikely to make such a statement.
That goes without saying as the intended meaning for every* use of "everybody", "nobody", "every", "all" etc in normal conversation. Those are statistical qualifiers, not absolutes.
(*well, almost every -- which reinforces my point).
I have friends in almost all big companies and I discuss them about these issues a lot. Almost all of them agree that they are in a similar situation.
I know that even Microsoft is a huge world and NOT all organizations are the same. All organizations have their own culture so there's no common culture in the company I can describe. In a way this is good.
So the statement "Even if all teams at MS suck" would be really wrong. In addition to this, organizations get better and develop culture over time. Thanks for the comment.
Now I'm at a smaller company, and my quality of life has improved tremendously.
Really? You have friends in almost all big companies?
There's a lot of truth in the points you mention, but even in my limited experience (six years at two companies, one very large and one pretty small), it's much more complex than you suggest. Many of these things were flat out not the case at both companies (e.g., the points about "the world outside"), some of them were absolutely true of both (2-3 hours of coding per day is common), and some were worse at the small company (e.g., documentation).
I'm with the parent: these issues have little to do with company size, but they do reflect the quality of an organization. In both environments I've worked in, to the extent that these issues were present, they were considered problems to be fixed, not something to be resigned about.
But that undermines the original point about big companies even more. Having friends at mostly big companies is not only not enough to generalize about big companies, but it provides no information about whether other companies struggle with these issues too.
We also have a ton of specs, archived off over the last 15 years. Those can sometimes be quite useful.
I was reading this post as if he was not working for M$ anymore. Also, he might be safeguarding a future for him in small startup with the same attitude... if he is fine limiting his options so much, good luck.
As you get older, you'll find there's a stark difference between first & second-hand experience.
This isnt to say you can't make change. You just have to play work as a very strategic game of chess and, often, take risks most others won't/don't. I've done it and that is one of the only reasons I still play the game. I'm genuinely interested in making things better and pushing out the cruft.
The downside is that it wears on you. I generally get burnt out or bored after a couple years and look for something new to reset and challenge myself on. And as bad as this reads for Microsoft (really - were you surprised?) I don't think there's any other factual data to support Azure being a market leading product and these sort of indicators only solidify that position (garbage in/garbage out).
These types of perspectives are good for those who are considering the reality of working for these size organizations. Not because it's a guarantee that things will surely mirror what's been outlined, however it lends candidates a tool to ask questions which would be indicators of the reality of the work environment.
Kudos to the author.
The way that reads in the paragraph makes it seem as though it was thrown in as an afterthought and that it applies as a separate statement on its own - unrelated from the 8 months. It's the only line that says anything about other companies. Maybe someone read his post, and said "hey, you know it's like that everywhere right?" Or, "Hey you know higher ups might not like you hating on us like that." And so he throws in a sentence to solidify the fact that he's not trying to single out Microsoft.
I have worked for a few different large organizations and have often faced the size excuse for being unorganized and ineffective. I personally feel it is a cop out, and self fulfilling prophesy once it becomes an accepted perspective, because then people stop trying to be better.
I have also worked in big organizations on kick-ass teams who are willing to fight uphill battles against "we are too big to change" attitude. Thats what made them awesome teams.
Fwiw, I read it as a way of (plausibly) covering his ass if he was ever hauled in front of management about the post, not a way of overstating his experience. YMMV.
I like him already, If were Microsoft I _will_ hire him asap. He's the type of person who wants to make things better.
I've been working for over 20+ years now. During that time, I've worked at half a dozen large corps, a few medium sized ones, and a few startups. I've seen both great teams with great practices and bad teams with poor practices. One thing that I can say though: the size of the company didn't seem to have much to do with it. Even with my experience, I don't think I've seen much more than a thin slice of the variance in practices that is out there.
Note, I'm not saying that this guy didn't experience what he wrote about at Microsoft. But at a corporation that size, you'll likely find that different groups have different practices. This was certainly true at the large companies I've been at. Some teams were super-sharp, others were sloppy beyond words. Even if all teams at MS suck (which I doubt, but I will admit it's possible), this says nothing about how other companies operate and very little about how large corporations operate.
Word of advice: don't mistake the worlds you extrapolate inside your head for reality.