How do you avoid joining companies with bad engineering culture?

Posted by mr_poopybuthole69@reddit | ExperiencedDevs | View on Reddit | 57 comments

I spent 5 years at a large local telecom company after university. It was honestly a great place to start because I got strong mentorship, learned a lot, and built a solid technical foundation.
Eventually I felt like people still saw me as “the junior,” so I decided it was time to move on. I joined a sub company of a very well known enterprise software organization, something similar to an SAP style corporate environment. The interviews went great, but after joining, the reality has been pretty rough.
There’s almost no documentation, and the only “docs” we really have are Jira tasks. It’s hard to understand the full system or even trace how things are supposed to work. Tests are flaky, integration tests are run locally, there’s commented out code everywhere without explanation, and a lot of the system feels like workarounds built on top of older workarounds. Whenever these things come up, the answer is usually “we’ll fix it later,” but that never actually happens.
What frustrates me most is that during technical discussions people often agree on hardcoded solutions that require rebuilds and redeployments for things that should clearly be configurable. I’ve raised concerns multiple times, but nobody really seems to care.
At this point I feel like I’m no longer learning good engineering practices, and I’m worried my skills are stagnating. I’ve started looking for another job, but now I’m paranoid that the next company will be exactly the same.
For people who’ve worked at multiple companies, how common is this kind of environment? Are there certain types of companies that tend to have healthier engineering cultures? Do consulting companies generally have better engineering practices, or does client pressure usually make things worse? And how do you evaluate code quality and engineering culture during interviews before joining?