В подавляющем большинстве проектов, куда вы придете работать – наткнетесь на нечто монструозное, с отсутствием документации. Это нормально, разобраться можно во всем, если есть стимул. Более того, осилив один такой проект вас не будут пугать другие.
Идеальные проекты такая же редкость как идеальные программисты. То, что в проекте использован популярный фреймворк не всегда гарантирует в итоге понятный код проекта, разве что только на базовом уровне MVC, равно как и самописная инфраструктура проекта не всегда признак быдлокода.
Модели, контроллеры, дата-мапперы и сервис-контейнеры – все это базовые (не очень сложные) паттерны программирования. Вам стоит подтянуться в этом плане, немного теории, немного практики с фреймворками типа Symfony, Zend - где использование подобных паттернов изобилует, придаст нужных навыков и знаний.
И этому никто не научит, пока сами с головой не окунетесь )