Developers are testers - the QA department just does more uniform and consistent testing.
Developers talk about files, classes, or code
Huh? No. Good developers talk about test cases, business needs, and functional scenarios. You shouldn’t write a line of code without first knowing what the code is intended to do.
QA is the first and last step to writing good software and it should be evaluated throughout development to catch quality problems early.
It sounds like the places you work at only use it as the last step, which is just wrong. Fix that. Where I work there’s an expectation that pre-release QA never finds any problems, because they’ve already been identified and eliminated (or at least recognised and as accepted as a compromise) before it goes to QA.