This blog by MJD changed how I feel when I see what seems at first to me like crazy bad code. Give the people who wrote what's already in place the benefit of the doubt. They may simply have landed on an inelegant approach to solving a more difficult set of issues than you're considering. Early on, learn about what is in place, why it is there, what decisions led to it, and how it solves the problems that you may not be weighing yet.
Only after you've taken the time to fully understand the thought process that led to the code you now see will you be able to maximize your own contributions. And at that point hopefully your patience and open mindedness will have won the respect of your team.