Добрый день, уважаемые форумчане. Около 10 лет работаю в сфере web-разработки.
И за это время я обнаружил ужасающую статистику - почти ВСЕ проекты в которых пришлось участвовать состояли из изрядной порции говно- и быдло- кода, написанного, почти что "школьником". И это не сайты-визитки, это серьезный коммерческие проекты!
Даже если в списке технологий гордо звучит "Laravel", "ZendFramework", или Yii2, то ВЕЗДЕ где я сталкивался, данный фреймворк используется только как реализация MVC, и дальше валидации параметров роута никто не углубляется (а нет, иногда прикрутят какой-то middleware, в качестве гигантского суперкостыля). А кое-где и вообще доходит до чуть ли не fileputcontents/filegetcontents прямо в контроллере, и работа с GET|POST там же.
Вместо ООП длиннейшие if-else. Вместо кучи удобных функций ORM... ну вы поняли, апдейт в цикле, и да, о транзакциях никто не слышал.
Проектирование структуры БД вообще никто не уделяет внимания, тем более оптимизации запросов.
И так везде! Ни в одном проекте я не нашел грамотных решений, которые бы создавали квалифицированные программисты. Все происходит по шаблону - пишет "школьник", потом дают нормальному прогеру который плачет но убрать этот технический долг никак не может, потому что не выделяют ни денег ни времени, и всё что ему остается продолжать ставить костыли.
Это я не говорю еще об angular, с которым иногда приходится сталкиваться, в котором "рельсы" не такие строгие, там вообще иногда достается трэш-угари-и-содомия.
А иногда многие вообще гордятся тем что "мы перешли на php 7.1!", - "какой 7.1, чувак?! У тебя один и тот же запрос в коде в каждой функции написан, с 15 подзапросами, который выполняется 20 секунд! Ну да, зато теперь ты в него из поста переменную вставляешь через null-coalescing оператор".
Зачем вообще на всех собеседованиях спрашиваю - "знаете ли вы что такое композиция?", очень хочется спросить: "а ты вообще когда её последний раз применял???".
И вот у меня назрел вопрос, а может это специфика "рынка php"? Может у программистов на других языках таких проблем нет (java, Perl, Ruby)?
Неужели если открыть код какой-нибудь игры bethesda, или код google-docs, там будет такой же набор костылей?
Где работают квалифицированные php-разработчики который и пишут тот код который можно найти в исходниках symfony, laravel?
Стоит ли искать такую работу?
Стоит ли вообще набирать такую квалификацию - расти в высоту в PHP, или забить на это дело и расти в ширину - изучать новые новые технологии каждую на 10% выучил и всё, пишешь в скилах что великий знаток, а дальше как-нибудь склепаешь?
Спасибо за внимание.
|