I'm a senior software engineer working for a tech company. I've been in the same company for more than two years. There are lots of interesting problems to solve that I love.
I'm super happy to have some super smart coworkers, they can understand and solve the hardest problems. However there's a huge problem: they write the worse code I've ever seen. Everything is solved with more if lines, duplicated code, non descriptive variable names, long methods, global variables and everything you can imagine. It's devastating seeing that I've spent two weeks doing a refactor to later see that a coworker completely broke the new abstraction I've added copying and pasting code instead of using it. I could expect this from junior developers, but they aren't.
I've discussed this with my manager in a 1:1 and he completely agrees with me. He encourages us to take as much time we need to deliver something good, we are not a startup anymore. The problem is nobody cares, we have code reviews but, for example, if I ask to add a test, they will ignore my comment and get an approval from another person. Basically, they write code that just work but sucks and I feel there's nothing I can do to improve this.
I guess that I'm not a good fit for this team and the culture doesn't match what I like, but I live in a third-world country where there aren't many jobs and leaving the company is not an option.