Most things that you state are not culture related. If communication is really troublesome, I understand that you would leave such a place. Better tooling and programming guidelines are things you can introduce. Especially if it is a small team. That's maybe why they hired you in the first place.