Hacker Timesnew | past | comments | ask | show | jobs | submitlogin

Microsoft is a friggin dumpster fire, dude. Some teams are great to work for, but a LOT of them are little crews of treacherous rogues who're only looking out for themselves and always ready to stab someone in the back.

You'll run into a lot of the same issues on the Windows kernel that you're getting irritated with in service development land. A lot of infrastructure is already out there, but figuring out how to use it effectively ends up being almost as much work as just rewriting it from scratch. Things are documented but poorly.

For Microsoft specifically you'll often get stuck because of problems with some other team's code, and then find yourself embroiled in multi-week battles with multiple engineers, managers, project managers, and product managers all at each other's throats.

All that said, the Windows kernel itself is a work of art IMO, and kernel development is a lot of fun. I think that if you want to make the big bucks but still work with c/c++, it's getting to the point where your choices are very limited: Microsoft, Google, Facebook, Apple, or Tableau.

Microsoft was terrible to work for, but they aren't as bad as a bad small company. At least there's HR to report gross violations to, they have a TON of great perks, the money is really good, they have good work-life balance, and it's not too hard to change teams (but if you find yourself wanting to jump to a different team, do it well before performance reviews come along, since your manager will definitely give you a bad review and hamstring your ability to move around within the company.. so you'll end up having to change companies. Not the worst thing if you do so, I guess)

EDIT: I just reread your list of complaints.. timing and consistency in the kernel are WAY more complicated than your average web services. There's also a ludicrous amount of red tape around getting anything done. I'm starting to think that you should look at Microsoft as a stepping stone in your career rather than its final destination.. it's still a good place to work for overall compared to random small companies, it'll give a boost to your resume, but it sounds like what you actually want to work on is game emulators or raspi home automation gizmos in your free time.



The original kernel from which Windows evolved was written in assembler by Dave Cutler for the VAX architecture. After his DECWest team was hired by Microsoft, they reimplemented it in C. The MIPS architecture was the first fully complete port, I believe.

This is documented in Zachary's Showstoppers book:

https://www.flyingpigbooks.com/book/9780759285781

It appears that performance and architecture improvements are very hard to get accepted (and the kernel suffers for it):

https://blog.zorinaq.com/i-contribute-to-the-windows-kernel-...

It is a great piece of engineering, but it is likely for a developer that is more comfortable making small changes within the hierarchy than for any revolutionary ideas (unfortunately).

If Cutler hadn't found his way to Microsoft, then they probably would have ended up on a BSD kernel, as Apple did. As it was, Microsoft sold their Xenix business around the time of Cutler's arrival.


> think that if you want to make the big bucks but still work with c/c++

Judging by the presenters at CPPCon, a significant fraction of highly-skilled and highly-paid C++ devs are employed in the High Frequency Trading (HFT) industry.

They meet OP's criteria in many ways as well, as HFT trading tends to be "very close to the metal", optimised to death, and often involves solving deep technical problems. It's diametrically opposed to modern web development practices.


The downside of working on HFT is that the value one provides to society is at best nil, and some would argue that it's negative. Some people care about things like that.


I’ve been thinking about getting into HFT.. they’re always bragging about operating on millisecond/microsecond timescales, but they’re doing it on bespoke heavily-monitored systems. Meanwhile here I am shipping the same type of code to millions of people on commodity hardware..

I’m pretty sure that you could donate a big chunk of the million+ ill-gotten dollars to charity and make a lot of good things happen


You basically described any workplace in a large company. Organisations are systems made of loosely interconnected and dependent systems, made up of people. The complexity of business norms, personality and cultural differences, and unrealistic expectations around business processes can be difficult to reign in inside a global company. Some workplaces have worked out a sweet spot, balancing people, HR, tools, culture and purpose.

I’m not telling you or anyone else in these companies to suck it up, but there’s a point where employees and teams in these situations need to step back and realise what they’re dealing with, and adjust their mindset accordingly.

Personally, I like identifying and unfucking bottlenecks. Sometimes explaining why something is so fucked to the people being fucked can go a long way.


I really disagree with this idea, we shouldn't normalize every workplace being full of back-stabbers and retaliatory jerk managers. Nor is horrible red tape a given, although some bureaucracy is of course required. None of this has been my experience at fairly large, well-known companies, although I'm definitely aware of cases where it has happened to friends.


It’s not an idea - it’s just a perspective that some people forget: the world is volatile, uncertain, complex and ambiguous, and our organisations are a reflection of that. I know that it’s fashionable to talk about not normalising things, but the reality doesn’t change.

I don’t like it either, but I can’t really do much about it. If you realise you’re in a difficult organisation, you can at least start to take action, or take a different tact (or leave). Being annoyed about the situation is probably just going to make you more and more unhappy because the system won’t (or can’t) change in your desired timeframe.


Microsoft CEO Satya Nadella wrote a book right around the time I was planning to leave, and gave everyone a free copy. The book really perfectly nailed what a toxic dumpster fire the company had become, and then it outlined his plan to fix it.

What's funny is that the guy agreed with everything I thought, he saw the problems that were hamstringing me (and everyone else), he had complete authority to fix the problems.. and so far as I can tell, he wasn't having any luck with it

The best fix seems to be to tell people to quit being jerks to each other and focus on making good products and making customers happy, but good luck getting that to happen.

One of the main criteria for performance reviews was suddenly something along the lines of "Teamwork" that captured what a non-toxic, non-Ballmerized good person you were. Of course, all that happened is that the best backstabbers and the weaseliest scumbags manipulated their way into high "Teamwork" scores, and anyone who sat down and focused on productive work/helping others got screwed on that score just like everything else.


Is enabling the same as normalization? Surely normalization is acceptance into culture whereas even in dysfunctional organizations the individual actors all think that they're solving problems and not taking any shit.

The pity is often how the most qualified talent for resolving poor behaviour is so often subordinated into slopping out the pigsty. There needs to be a foundational next step.

Edit: since Fairchild we've been scared of merely assembling raw talent under a thin layer of management capabilities and from this is developed the pseudo matrix management system that e.g. Microsoft operates.


I’ve been at other big companies where it wasn’t the case. The engineers were all there to get a job done and were willing to help other teams when necessary to make that happen, without lengthy negotiations ahead of time

There’s going to be SOME of that stuff any time you have more than one person in the same building, but a decade under the iron fist of Ballmer has permanently ruined Microsoft as an organization.




Man, it is so true, or at least was when I left in 2017

It’s a fractal shape too. You see the same sort of intrapersonal weaponry at the division level, the org level, the group level, and even within teams

Maybe it even continues to a Herman’s Head-style inner conflict for good company men


You forgot NVidia and Adobe, two big hires of well known names in the C++ community and ISO C++ working groups.


That’s a good point, I’ve heard good things about NVidia

Presumably Tesla and Uber must have some “native” code being written somewhere in-house too, and someone mentioned the HFT industry

There are a lot of decent jobs out there that will keep you comfortable, too, even if you can’t bring in 300k+.




Consider applying for YC's Summer 2026 batch! Applications are open till May 4

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: