Привет друзья. Хочу затронуть одну душещипательную тему, которая касается всевозможных сообществ разработчиков. В большей степени русскоязычных, так как в "буржуй нэт" с этим гораздо попроще. Статья затронет некоторые неприятные моменты и вскроет гнойники нашего общества. Посвящается, как новичкам в программировании, так и тем, кому уже под 40 лет, и кто постоянно переучивается всю свою жизнь, чтобы быть в тренде.
Итак, началось все буквально неделю назад, когда я решил стать членом сообщества Ларавел. Полноценного сайта сообщества, который бы ломился от наплыва желающих связать свою жизнь с Ларавел, к сожалению нет. Есть сайт Ларавел.ру, который к сообществу не имеет отношения, и сайт сообщества Ларавел.су, который пока не может похвастаться сверх популярностью и посещаемостью. Поэтому информация на нем устаревшая, которая при таком активном выпуске релизов от Тейлора, не обладает уже практической ценностью.
У сообщества есть своя группа в контактах (vk.com/laravel_rus). Назвать эту группу сообществом у меня не поворачивается язык. Так, как сообщество должно обладать определенным набором характеристик и целей. А именно: иметь свою цель по продвижению идей популяризации Laravel в массы, иметь свой устав, уделять много времени на подготовку новых разработчиков, или переподготовку тех, кто пришел с других систем или технологий, готовить интересные материалы и т.д.
Но этого не происходит. Группа в ВК напоминает мне небольшой междусобойчик, где тусуются люди, которые каким-либо образом связаны с Ларавел. Например, очень сильный разработчик на Ларавел, или тот, кто включает умняка в свои 19 лет, мол он гуру, хотя еще не научился грамотно писать по русски. В общем, такая себе компания для тусни.
В группе, как правило, публикуются ссылки на статьи на английском языке, что не несет ни просто практической пользы, а вообще какого либо смысла. Так как в том же Гугл можно найти все, и даже немножко больше. Найти помощь, понимание или адекватное отношение не стоит. Вы его не найдете. Так как это, как я уже сказал, не сообщество со своей целью, а междусобойчик разношерстных людей.
Это проблема номер один. А именно, не ищите того, чего вы там не найдете. Есть и вторая проблема, которая касается уже непосредственно самого кодинга. А именно, твой код говно!
Вторая проблема частично выплывает из первой. Если говорить на языке разработки, наследует первую проблему и привносит уже новую. Многие программисты из сообщества стали изучать Ларавел, как первый фреймворк (а может и PHP) в своей жизни. За несколько лет они научились следовать Laravel way. И очень самонадеянно решили, что они уже программисты, гуру и корифеи разработки. Это выглядит со стороны, как минимум, смешно. Такие люди не могут и не хотят понять, что то что они выучили - это не истина последней инстанции, это не есть вершина любого программиста, к которой они стремятся всю жизнь. Это означает только одно. Что такие люди "схитрили" и не пробежали весь 15 километровый марафон, а просто выскочили из-за угла и пробежали 100 метров до финиша. И самонадеянно считают, что они уже достигли житейской мудрости. Поэтому, если такого программиста кинуть в проект, сделанный на другой технологии, а может и другом языке программирования, то они будут в ступоре! Так как они самонадеянно решили, что их скилы в Ларавел - это заветный пропуск в мир профессионалов. От сюда и выплывает этот жуткий троллинг и бахвальство, неприятие другой точки зрения и постоянное битье себя пяткой в грудь, по поводу своей великой значимости.
Есть и третья проблема. В сообществе есть очень сильные разработчики. И эти люди, как правило, не пишут всякие сайты и интернет магазины с каталогами. Они работают в энтерпрайз секторе. Очень часто на симфони, в крупных компаниях, где в штате большое количество профессионалов. Сам энтерпрайз выдвигает очень строгие требования к коду и организации архитектуры. Компания очень сильно натаскивает своих специалистов именно для серьезных приложений крупного корпоративного сектора. И такие люди добиваются очень серьезных успехов в организации грамотного кода, гибких и сложных интерфейсов, слабосвязанной архитектуры и т.д.
Но, научившись видеть мир, через призму энтерпрайз решений, такие люди не понимают, искренне не понимают, что писать такой код для блога, гостевого сайта и т.д. вообще на фиг не нужно! Потому что клиент не выдвигает вам таких требований к коду и слабосвязанной архитектуре, как корпорации добра/зла. Что клиент платит вам деньги за готовое решение, а не супер спроектированную архитектуру и вылизанный до совершенства код. Ему нужно за разумные сроки получить готовое решение. И денег на проект у него в обрез! Ведь реальный мир устроен совсем иначе, и все не так там гладко и хорошо, как должно быть в идеале. Но на такое положение вещей есть вполне объективные причины, и их все же нужно понимать.
Поэтому, получается совершенно безрадостная картина. Если в группу попадает зеленый новичок, который учит PHP и попутно изучает Ларавел. Или уже знает PHP и хочет изучить первый свой в жизни фрэйемворк, то первая категория разработчиков, которые сами такими были еще вчера, открыто начинает троллить новичка, а то и вовсе оскорблять, что просто деморализует и заставляет подумать о других сообществах, а значит и других технологиях. Или вторая группа, очень крепких энтерпрайз разработчиков, начинает учить с лету новичка миллионам паттернов, энтерпрайз коду и т.д. Просто напросто взрывая мозг человеку, который точно так же начнет искать альтернативу.
И именно при таком положении дел, как я описал выше, сообщество должно на самом деле называться "Анти сообщество Ларавел", так как цели по популяризации этого замечательного фрейворка достигаются обратно противоположные.
Есть в сообществе и очень грамотные и приветливые люди, которые мне смогли помочь, реагировали на меня дружественно и приветливо. Я им очень сильно благодарен, и теперь они превратились в моих друзей. Но на фоне такого большого количества озлобленных человек, это капля в море, которая не в состоянии обточить камни и привлечь огромную популярность к действительно отличному фреймворку.
Написал я эту статью по нескольким причинам. Первая, я просто люблю писать, поэтому и создал свой блог, где делюсь своими мыслями. А вторая причина - сделать небольшую встряску, которая может быть хоть как-то поможет немного пересмотреть свои цели и подходы, стать немного терпимее и добрее.
Это сугубо мое личное мнение, которое я никому не навязываю. Всем успешного роста над собой. До новых встреч.
Комментарии (21):
А что касается вопросов в сообществе, так вы ведь не знаете предыстории. Я вопросов не задавал, а опубликовал ряд статей и опен сорс решение. Вместо дельных замечаний (было всего от пары человек), я получил тонны помоев. Как в итоге выяснилось, больше всех лили те, кто только начал что-то изучать. Просто не приятно такое отношение, не больше, не меньше. Поэтому и написал эту статью, как некий выход своего эмоционально напряжения :)
В ЦМС или в бложике простом, возвращать в методе массив - это нормальное явление. А в симфони - не допустимое. Нужно делать новый класс, внедрять зависимость в которую передавать возвращаемые значения метода. А потом обращаться не к ключу массива, а к методу. Внедрение IoC DI в сайтике на пару страничек - это просто круто, но зачем? Можно, конечно, и в лендинге бабахнуть доктриной, но в чем смысл? Можно для двух разделов сайта написать несколько слоев абстракций, предусмотреть возможность роста сайта из лендинга в Инстаграм и т.д.
Вы понимаете о чем я говорю? При чем тут понятный и логичный код с комментариями, до кода энтерпрайз уровня? В мелких сайтах нет никакого смысла продумывать сложную и независимую архитектуру, строить слои абстракций делать декомпозицию, соблюдать большинство паттернов проектирования, кроме основных, и еще миллион чего!
Все же, кто мне что-то доказывает, уверяют меня, что они все, как один, из энтерпрайз! А пишут такие комментарии, что я в полных непонятках.
Если вы начнете изучать, к примеру, машиностроение, придете на крупный завод, слегка почитавши теорию, а вам махнут рукой на цех со станками и склад металла, и даже дадут чертежи танка, то вам это не поможет. Начнется ваше обучение с того, что вам покажут, как просверлить в монетке дырочку. А дальше - много лет тяжелого обучения, в процессе которого придет реальное понимание, как все устроено.
В этом-то и проблема с такими профессиями, как программисты. Написал пару классов и уже программист. А поработал пару лет на крупном проекте, то уже сениор. А приведет к такому сениору его начальник клиента и попросит поработать с клиентом. Предложить, как минимум, стек технологий для решения бизнес задач. И давайте угадаем, что предложит этот сениор? Ну конечно же, именно те технологии, с которыми он уже два года работает. Будет ли это решение объективным и верным? Скорее всего нет. А почему произойдет именно так? А потому что сениор ничего другого не знает. Вот такая проза жизни. Кругом одни профи и сениоры, а в какой проект не попадешь, начинаешь невольно подозревать, что мир как-то иначе устроен.
А если я по-другому не умею? Да, лично мой код далек от совершенства, но следуя этому мнению и текущий мой код уже не подходит для блогов, гостевых сайтов и прочего, так как "слишком мудрен" для них. Подумаешь, всё логически выстроено, присутствуют комментарии везде, где они необходимы. Зачем это все? Помогать тому, кто будет после меня поддерживать сей проект? Зачем?)))
2. "...вторая группа, очень крепких энтерпрайз разработчиков, начинает учить с лету новичка миллионам паттернов, энтерпрайз коду и т.д."
Не зная основ строительства, невозможно построить дом. В программировании та же песня. Некоторые новички, в силу малого количества практического опыта, пытаются изобрести велосипед из палок, веревок да скотча, а именно те "крепкие энтерпрайз разработчики" показывают им где лежит железо, инструмент и даже подробная схема сборки с указанием всех размеров, скажем, горного велосипеда. Что дальше? А дальше два пути: первый - когда "юнец" берет схему, изучает ее, берет материал, собирает по схеме горный велосипед и довольный едет кататься; второй - когда "юнец" говорит "многа букав" и поливает чем-нибудь тех, кто ему схему эту дал и на путь истинный направил.
Но есть еще и другие товарищи. Они либо вообще ничего не умеют, либо начинают только учится (как правило, это пацанва от 17 лет и выше). При этом, за кем-то начинают повторять бред, мол модуль отстой, код говно, и т.д. Аргументов и конкретики конечно же нет. А потом заходишь на другую ветку, и этот же самый человек уже задает детские вопросы: "А как подключить jquery? И где можно устроиться джуном на PHP?". Такие люди составляют подавляющее большинство сообщества. И взрослеют они в таком сообществе не в духе профессионального роста, а в духе низкокачественного тролля и очередного диванного воина. Это реально раздражает. И это по всему интернету так!