I have somewhat recently started as a software development consultant at a new company through a 3rd party staffing company. I am working at a very large company, and work with other offices distributed across the US. It has been stated to me that I will be made an offer from the place where I develop after a 6 month period.
I work with 3 to 5 other developers on the same product, with similar sized teams residing in other states. The "managing developer" for this product sits in one of the other offices. The managing developer alone has final say on what pull requests are merged. I will call him "Ted".
Myself, and a few other newer engineers in this office, have noticed problems with the code coming from the other offices. There are frequently issues with the code - pull requests often contain code that will have no effect, or it is plain to see they will have no effect based on the description of the ticket. To further compound issues, many of these pull requests are made by a veteran dev, with a lot of tenure. I'll call him Dave.
The developers from my office frequently call out issues on Dave's code, and they are almost all ignored. Further, we have weekly calls to discuss these pull requests, and they often become heated, with Dave interrupting anyone he disagrees with, and frequently talking over others in defense of his stance. Sweeping architectural decisions are made by this person, and (I suppose you'll have to take my word for it) they frequently have large issues. A lot of this involves "re-inventing the wheel", diverging from known paradigms/structures/mature 3rd party libraries that solve simple problems more robustly than we could.
Compounding the issue, Ted will not intervene to stop Dave's unprofessional behavior. He is not that strong technically, and I think just defaults to following whatever Dave instructs due to familiarity (the pair are located in the same office across the country). Ted frequently merges pull requests that have a lot of valid, unresolved comments on them. Recently, we had a debate between two approaches, and we didn't end up going with Dave's approach. That night after we'd left the office (different timezones), Dave got Ted to merge his PR instead of the team's agreed solution.
I have researched this question, but it was closed for not having a goal. My goal is to have more productive conversations with these individuals, while at the same time not conceding that code quality is an issue that should be taken seriously, and that others have valuable input. Additionally, I am not sure if my position is different being technically an outsider (consultant).