Comment by com2kid

3 days ago

> What are we reading here? These are extraordinary statements. Also with apparent credibility.

I left Microsoft in 2014. Already back then I could see this sort of stuff starting to happen.

The Office Org was mostly immune from it because they had a lot of lifers, people who had been working on the same code for decades and who thought through changes slowly.

But even by 2014 there were problems hiring developers who knew C++, or who wanted to learn it. COM? No way. One one team we literally had to draw straws once to determine who was going to learn how to write native code for Windows.

It wasn't even a talent thing, Windows development skills are a career dead end outside of Microsoft. They used to be a hot commodity, and Microsoft was able to hire the best of the best from industry. Now they have to train people up, and Microsoft doesn't offer any of the employment perks that they used to use to attract top talent (Seattle used to be a low CoL area, everyone had private offices, job stability).

When I started at Microsoft in 2007, the interview bar included deep knowledge of how computers worked. It wasn't unusual to have meetings drop down to talking about assembly code. Your first day after orientation was a bunch of computer parts and you were told to "figure out how to setup your box".

Antivirus wasn't mandatory. The logic was if you got a virus, they made a mistake hiring you and you deserved to be fired.

When your average developer can go that deep on any topic, you can generally leave engineers well enough alone and get good software.

> But even by 2014 there were problems hiring developers who knew C++, or who wanted to learn it. COM? No way.

It doesn't help that there are some teams that are hardcore in keeping things as they are and don't want any tooling that might improve COM development experience.

To this day Microsoft is yet to have any COM related tooling for C++ as easy to use as C++ Builder does it.

MFC, ATL, WRL, WIL,.... you name it.

The only time it seemed they finally got it, with C++/CX, there was a group that managed to kill this product, replace it with C++/WinRT, with no tooling other than the command line IDL compiler, now also abandoned as they refocused into windows-rs.

  • Oh, as somebody who wrote C++/CX code at the time, I was very pissed when they replaced it with WinRT.

    • Same here, the way it was removed, without tooling parity on Visual Studio, revealed a complete lack of respect for those of us paying licenses.

      This was one of the reasons I eventually moved back into distributed systems, and was pissed enough that I keep dismounting the WinUI marketing.

Antivirus wasn’t mandatory in 2007 after the 2003 Blaster Worm, that required no user action to compromise the PC? Wild

  • On the other hand there was e.g. CVE-2021-1647 where Microsoft's antivirus would compromise the PC with no user action.

    (At least I think that's the one I'm thinking of. It's marked as a high-severity RCE with no user interaction but they don't give any details. There was definitely at least one CVE where Windows Defender compromised the system by unsafely scanning files with excessive privileges.)

  • People forget that prior to Microsoft releasing Defender, antivirus on Windows was universally bad. Like "make your machine almost unusable" bad.

    This was also before SSDs as well.

    With local build times already measured in multiple hours (large C++ code bases, lots of caches obj files loaded from central build servers to make local incremental rebuilds even possible), Microsoft didn't want to make things worse by forcing any bloat on developer machines.

  • Maybe they fired everyone who was working there in 2003. Would explain some things.

“One team we literally had to draw straws once to determine who was going to learn how to write native code for Windows.”

Jesus, you have tons of people who are willing to do that, even now. Microsoft just don’t care to hire from non-target schools, or ordinary professionals and train them —- sure the reason is, people believe that you cannot improve mediocrity, which I don’t believe so.

On a completely different page, most of the generals and advisors and high level bureaucrats of the first Emperor of the Han dynasty came from exactly one county — the county of Pei. But in peaceful time they are just “ordinary people”.

  • > Jesus, you have tons of people who are willing to do that, even now. Microsoft just don’t care to hire from non-target schools, or ordinary professionals and train them

    Microsoft was never elitist about what schools they hired from. When I was there almost anyone who applied from an accredited CS program got at least a phone screen.

    But no one in their right mind, in 2012 (when this particular incident happened!), would voluntarily pick up native Windows development skills. It was obvious even then that it was a dead end market.

    The number of companies hiring native Windows developers is tiny, and the pay isn't all that good.

    It isn't quite COBOL bad, but it isn't a growing market.

    • I don’t know, I’d love to do the job. Where do I sign up? I know some C from my OS projects, a bit of C++ with my SDL game projects, nothing professional. I also write a lot of Python and SQL. I’m in Canada. Don’t care about salary as long as it’s kinda stable and above 90k CAD, that’s about 1/3 salary cut. QT is good too, I did one project.

      I actually tried my luck on LinkedIn but without answer, so would love to get a reference somewhere. If people say my side projects are not enough, which is probably true, I can focus on some Win32 programming for 3 months and see if it works.

      But if they only hire greybeards who bagged 20 years of experience then I’m out of luck.

      Of course the ideal job is some system programmers job, but I understand that’s too hard, so a notch above is the next good option.

      1 reply →