There's software that exists beyond the web and SaaS.
Windows is still used widely in all sorts of places you'd never expect to see it. POS systems, ATMs, industrial controllers, digital signage/interactive kiosks, SCADA is largely Windows still. You need software for all of that, and it ain't gonna be web apps.
Windows is also still widespread in finance. The backend systems may be Linux or custom FGPA hardware but the front end finance world is ran on Windows (and Excel on Windows). Plenty of trading software is Windows only.
Heck, MS SQL Server is still in the #2 or #3 spot for database marketshare behind Oracle. Granted, it can run on Linux now but I don't many who are yet.
None of it is "sexy" like HN startups and SaaS so it doesn't get the coverage or discussion, but Windows is everywhere and so are Windows developers. You could argue whether or not Windows is/was the right choice for a lot of those (it's probably not), but it's there nonetheless and probably isn't going anywhere anytime soon.
There's a lot of legacy software that is bound to Windows, yes, but as time goes on, the amount of greenfield systems targeting Windows dwindles. From what I've seen, a lot of that software is also being actively containerized so that it can run on Linux systems, because administering legacy Windows systems is a huge pain in the ass. A lot of legacy Windows software is very difficult to containerize, because it gets it's grubby little hands in everything, but it can be done and usually that's the preferred approach.
The people building the many thousands of native Windows apps used by millions of people every day.
CAD/CAM systems. GIS applications. Automatic teller machine software. Public safety dispatch systems. Automotive diagnostic tools. Point of sale systems. List goes on.
While these systems are often written for Windows, there's actually very little reason to do so, and typically you're doing yourself a huge disservice.
Yes you can build a POS system using Windows tech, but you don't really gain much by doing so, other than a whole host of headaches when it comes to deployment and administration.
This is only remotely true for embedded systems, where you ship a fully integrated device, with all its associated peripherals as a turn-key system that does not have to interoperate with anything else.
If you’re in the business of shipping software that needs to run alongside other people’s software on the same machine, it’s a disaster.
Linux userspace backwards compatibility is extremely poor, the “solutions” to this issue (Flatpak, Snap et al) generally create more management problems than they solve. Desktop Linux is already an absolute monster to manage.
Try securely deploying hardware-backed PKI certificates for 802.1x to a fleet of Linux workstations. Takes a couple of minutes on Windows and macOS, but it’s a massive engineering effort on Linux.