I tried to do this out of undergrad (graduated last year). Many companies do both good and bad things to me, some more good than bad. The "best of the best" companies to me require many years of experience and are still competitive. I didn't really want an entry level job at an "evil" company, so I'm going to go do a PhD (in something unrelated to my original interest in operating systems, as I don't want to be a 30k/yr automaton part of Meta's R&D machine).
My point is: it's very, very, very hard to do this, especially with my set of interests (lots of OS work is in the datacenter, which leads to jobs with hyperscalers; I consider many of those companies evil). I'm trying. It will probably make my QoL worse for some time, and I'll probably give up eventually.
Also, evil is undefined in some sense. Is it wrong to do something "good" at a company that has an "evil" aspect?
I honestly think is it bad for you to be that morally insistent against "evil" companies.
I also think it's not as easy as most people make it. It's not the poor and innocent people that are oppressed by all this evil companies. These companies are just a reflection of the people and the society we live in.
Yes. I work at boring companies that are not evil instead. Never went to my local magnate (Comcast), left a company when they off/onshored entire teams to HCL slaves, etc.
No i won't make 350K as a dev. Yes i will have a paltry middle class existence while we still have a profession called IT.
The key to not working for evil companies is to have more choice in who you do work for, which involves living way below your means so that you can save inordinate amounts of income and "retire" early - which is just code for "do the work I want to do for those I want to work for".
> My point is: it's very, very, very hard to do this, especially with my set of interests
It is very, very, very hard because you're making it hard by insisting on finding a strong intersection with your set of interests.
Half the jobs I've had aligned well with my interests. They were also in the lower half of jobs I liked. The best jobs I've had were the boring ones. It turns out, there's a lot more to jobs than just what you work on.
The most important thing is to keep a roof over your head. Next is saving for retirement. And then there are things like work environment, the people you work with, team dynamics, the actual technical work, etc.
I've found that the most intellectually fun/challenging work was usually coupled with the most dysfunctional teams. It's likely just a coincidence, but it was a good lesson that other things matter at least as much.