1. The US engineering team is now treated like second class citizens. Knowledge is concentrated in the French teams to an extreme degree. We are perpetually excluded from technical design meetings and are not provided details on technical design, API contracts, etc, without constant begging (if we receive it at all). We are never asked for input despite our expertise in this industry.
When we finally receive the bare minimum of information that we need (often at the last minute), there are major issues which we could have helped identify earlier in the process. Instead we appear like the "bad guys" for either pushing the project deadline to request changes or have our team go over budget while working around all of the issues.
2. Code from the French teams are substandard. Zero internal documentation (on design, behavior, or implementation). No communal design for major services or API's takes place. Poor design decisions and implementations are everywhere leading to bugs, Poor error handling and reporting from the APIs and service.
3. Zero technical coordination between multiple engineering teams on complex projects. Architecture of complex systems is ad-hoc, resulting in major misses and inflexibility. We need to constantly reverse engineer other team's code to understand how to interface to it, what edge cases to expect, etc and can't trust that things won't change without us being informed.
4. Upper management requires too many major development projects in parallel, often with the same deadlines, so it's impossible to prioritize. This leads to delays of multiple projects and poor quality.