

I’ve had similar feelings before. You’re not the only one to struggle with this. You are pushing against the grain and doing something, aligned with your values, that 99% of people don’t know about.
What helped for me is separating what I can control from what I can’t. Everything on my device, that I personally choose to use, is under my control. So that is all free software, downloaded from system repositories, because I care about that. Meanwhile, everything I can’t control, I just gradually try to improve over time.
Here are the things I feel I can’t easily control:
I bought a laptop many years ago without free firmware for wifi, bluetooth, microcode etc. I like using devices as long as I can. Ok, no worries, lets just replace it with a Thinkpad next time.
My employer requires me to use Zoom, and some proprietary VNC client on my own device (on top of a load of proprietary software that I run on their devices). I don’t really have a choice here, unless I quit my job. So, I give in the short term, but do what I can to minimize the damage, running it in a dedicated VM. For the long term, I try and keep an eye on FOSS job boards and also network with people in the FOSS world (I’m quite bad at this, but trying to get better).
Likewise, some of my friends haven’t switched over to XMPP, which is my network of choice. Eventually, the people closest to me did, but many did not. So, I bridge those who haven’t into XMPP (via Matrix, for now, but looking to remove it eventually), and decided that I don’t want anyone “new” to contact me through the proprietary networks (I haven’t set up “enforcement” for this, an autoresponder probably, but this is the plan). The good news is that the proprietary networks always screw up eventually. When they do, your friends will get pissed off for their own reasons, and that is your chance to offer them the alternative. I never push, but let people know that I use XMPP. Some become genuinely interested, others you have to wait until they get screwed over by the proprietary networks.
Now bear in mind I am more interested in software freedom than security. So your priorities might be different. But the short story is: don’t beat yourself up over this. It’s a journey and you are pushing against the rest of society. What I do is just try and improve my setup, whatever that means to me, gradually over time.
My next laptop will probably be a Thinkpad T480 from Minifree. But I reckon it will be a while before this one breaks in an irreparable way.
CAD + ML is certainly difficult, maybe that needs a dedicated machine you only use for that? But that will increase costs overall. I’m also not sure how to find PC parts that I know won’t need dedicated firmware. So that part is definitely more tricky, I’m sorry I can’t be more help here :(
As for Matrix and XMPP, I started off with Matrix and found it pretty good for bridging lots of different networks together. But, over time, I came to prefer XMPP for a few reasons:
prosody
via Debian’s archives, and once it was set up, I didn’t have to touch it. I update it with the rest of my server every 2 years, and I don’t fall behind the rest of the network or miss out on much in the meantime. Meanwhile, I have to pay much more attention to my matrix server, I get the software from upstream and not from my distribution, and there are more regular changes that I have to pay attention to.As for advantages of Matrix:
Many of the pros and cons are based on values (e.g. living on the leading edge vs using something more mature, preferring community based solutions vs commercial ones etc.), so I totally understand and support people who use Matrix instead. Ultimately, both ecosystems can cooperate, learn from each other and are millions of times better than the proprietary networks. That said, above is why I came to prefer XMPP.