I just made a move to a small (~1000 people company) from Google and I feel you. The code quality is terrible, they do not write maintainable/modular code and worse, they do not do design. They suffer from this(there is always another corner case that they did not take into account because they did not communicate well with the customer) but they still do not take any steps towards the right direction.