Найти в Дзене
АХ - АнтиХрюня

Шпаргалка HR #3 что в образе твоем? - Битрикс!

Сразу хочу оговориться, что ничего не имею против Битрикс, считаю, что этот программный продукт имеет свою аудиторию и назначение, и от многих пользователей, которые работают с Битрикс, лично слышал положительные отзывы. Здесь буду излагать ситуацию, которая прилетает ко мне с определенной периодичностью, на протяжении нескольких лет, связанную с поиском работодателями специалистов по Битриксу. Пытался отдельно объяснять каждому HR, какую ошибку они допускают, но появляются через некоторое время новые ..., и всё повторяется. Прежде всего надо понимать, почему работодатели контактируют со мной по этому поводу. Как я уже неоднократно указывал на этом канале (Антихрюня) - я занимаюсь WEB-программированием, с использованием, в том числе, и языка программирования PHP. Битрикс тоже написан на РНР, и чтобы вносить какие-либо правки, осуществлять доработки, надо как минимум знать этот язык. Приведу пример, одна недавняя встреча с работодателем, которая подвигла меня на написание этой Шпаргалк
Мауриц Корнелис Эшер - Рука с отражающим шаром. Автопортрет в сферическом зеркале. (из свободных источников сети Интернет)
Мауриц Корнелис Эшер - Рука с отражающим шаром. Автопортрет в сферическом зеркале. (из свободных источников сети Интернет)

Сразу хочу оговориться, что ничего не имею против Битрикс, считаю, что этот программный продукт имеет свою аудиторию и назначение, и от многих пользователей, которые работают с Битрикс, лично слышал положительные отзывы. Здесь буду излагать ситуацию, которая прилетает ко мне с определенной периодичностью, на протяжении нескольких лет, связанную с поиском работодателями специалистов по Битриксу. Пытался отдельно объяснять каждому HR, какую ошибку они допускают, но появляются через некоторое время новые ..., и всё повторяется.

Прежде всего надо понимать, почему работодатели контактируют со мной по этому поводу. Как я уже неоднократно указывал на этом канале (Антихрюня) - я занимаюсь WEB-программированием, с использованием, в том числе, и языка программирования PHP. Битрикс тоже написан на РНР, и чтобы вносить какие-либо правки, осуществлять доработки, надо как минимум знать этот язык. Приведу пример, одна недавняя встреча с работодателем, которая подвигла меня на написание этой Шпаргалки. На работном сайте появилась вакансия "РНР - программист" со следующими требованиями:

реальная вакансия "РНР программист" на работном сайте
реальная вакансия "РНР программист" на работном сайте

Вроде бы ничего не предвещало никакого подвоха, и мне показалось, что моих компетенцийй вполне достаточно, чтобы попытать судьбу :). Связался с HR и договорился о встрече.

Морально всегда готовлю себя к худшим вариантам развития событий, чтобы потом не расстраиваться, а то и в депрессию можно впасть - видел у многих друзей-знакомых такую проблему. Поэтому обратил внимание на отстутствие уровня оплаты, подумалось, что компания либо еще не определилась в цене на рынке (значит будут выпытывать сколько я хочу), либо не готова платить конкурентную зарплату и отлавливают тех, кто согласится на их заранее подготовленное предложение.

Но, подвох оказался в другом :)

При встрече на собеседовании девушка HR задавала мне много уточняющих вопросов связанных с моей трудовой биографией не отраженной в резюме (это и понятно, она ведь не специалист в ИТ, ей скорее надо понять адекватность кандидата), потом решила рассказать о вакансии, и ..., что тут же показалось мне странным, начала с конкретной з/п:

у нас заработная плата по это вакансии ... (много тыр.)

где подвох, стрельнуло у меня...

мы сейчас приняли от компании разработчика корпоративную систему Битрикс, разработанную для нас, и ее надо будет поддерживать и дорабатывать!!!

Вот и подвох, т.е. кто-то (какой-то разработчик) взял коробочный Битрикс, настроил стандартные функции, потом кто-то в компании все это дело принял (и вероятно хорошо оплатил), а теперь ищут на кого переложить ответственность за работу всего этого "чуда", плюс и устранять косяки дорабатывать - реализовывать нестандартные функции, которые не входят в коробочное решение. Сумма во "много тыр." сразу скукожилась в моем представлении, т.к. задача неадекватна сумме...

Естественно, что я отказался от такого "интересного" предложения. Правда HR рекомендовала, на всякий случай, пообщаться с их Директором IT, пообщался, и еще больше укрепился в своем мнении - нужен "козел отпущения" ответственный.

Подобную ситуацию с Битрикс наблюдаю довольно часто, можно сказать, что каждый год, а то и два раза в год, ко мне прилетает волна предложений по вакансиям Битрикс-разработчика. Причем сумма предлагаемой зарплаты раньше была неимоверно низкой, в последнее время, становится все более и более весомой. Хотя предварительные зарплатные предложения редко совпадают с реальностью, но тем не менее ситуация изменяется.

Вот наиболее типичная вакансия по Битрикс:

часто встречающиеся требования по вакансии Битрикс разработчик
часто встречающиеся требования по вакансии Битрикс разработчик

Когда в первый раз ко мне прилетела эта волна - каждое второе предложение было по Битриксу, я озадачился таким большим спросом и решил выяснить, что это за "зверь" такой :). Посмотрел пару видеороликов от разработчиков Битрикс. Они (видеоролики) мне показались настолько невнятными и туманными, что заключительные слова - "Если вам что-то не понятно, то обращайтесь к нам за консультациями", натолкнули на мысль - специально все "мутно", чтобы потом зарабатывать на консультациях.

Немного взглянул на ситуацию с кодом в Битрикс, и обнаружил, что идет рассогласование принятой стилистики и стандартов в Битрикс со стандартами продвигаемыми сообществом языка РНР.

Простой пример:

Рекомендация для разработчиков Битрикс, как правильно оформлять код
Рекомендация для разработчиков Битрикс, как правильно оформлять код

Cтандарт PSR (PHP Standards Recommendations или стандартные рекомендации PHP) предполагает несколько другой синтаксис подобной структуры кода:

рекомендации стандарта PSR-12
рекомендации стандарта PSR-12

Из этого простого примера видно, что разработчики в Битрикс не придерживаются стандартов языка PHP, и есть еще более значимые расхождения, чем приведенный здесь синтаксис (но это тема отдельной статьи).

К тому же, есть очень серьезные требования к серверным ресурсам у системы Битрикс:

требования по ресурсм для Битрикс24
требования по ресурсм для Битрикс24

получается очень интересная ситуация - большинство сайтов, которые создаются на Битрикс и занимают, как указано в рекомендациях, от 10 Гб, при создании на нативных языках могут занимать в 10-20 раз!!! меньше места. Также есть ограничения по применяемой СУБД, и много других дополнительных ограничений, которые создает эта система.

Встает вопрос, надо ли изучать все эти ограничения системы Битрикс, которые скорее мешают разработчику, а не помогают?

Одним из плюсов, который помог Битрикс продвинуть на отечественном рынке, является его возможность интегрироваться с 1С. Сейчас 1С фактически бухгалтерский стандарт в России и некоторых странах СНГ и включение в Битрикс функционала обмена данными с 1С, который не требует разработки/доработки, позволило захватить существенную долю рынка сайтостроения. Еще один важный момент сыгравший весомую роль в продвижении Битрикс на рынке - импортозамещение. Продукт отечественного производства, поэтому госструктуры более благосклонно воспринимают Битрикс для приобретения и использования, чтобы соответствовать требованиям законодательства.

Как я уже указывал в начале этой статьи, есть пользователи, которым Битрикс нравится и он их устраивает. У некоторых пользователей мне удавалось выведать уровень использования функционала Битрикса. Зачастую это были небольшие компании, которым сделали и установили Битрикс один раз, установили шаблонный макет, и он устроил их по дизайну и функционалу, наполнили некоторым содержимым о компании и бизнесе. Количество страниц на сайте этих компаний небольшое - около 30-50 страниц. Обработка данных в основном стандартная: получение заявок, загрузка/выгрузка в 1С.

Но на мой взгляд, использование функционала возможностей Битрикс реализовано на 5-10%, то есть эта система для таких компаний избыточна по своему функционалу, с таким же успехом можно было использовать и другие аналогичные системы, и здесь Битрикс ни в чем не выигрывает. Просто так удачно получилось, что разработчики убедили заказчика ставить именно Битрикс для решения бизнес-задач, и смогли настроить систему под заказчика приемлемым для него образом.

Теперь посмотрим с позиции разработчика. Как я уже указал, система накладывает определенные ограничения на использование ресурсов и функционала РНР, знакомство с этими ограничениями с одной стороны заставляет использовать только определенные функции языка, разрешенные в системе - сужает возможности программиста, не дает развиваться с учетом развития языка РНР, с другой стороны вводит свои понятия и сущности, которые в других системах не используются или используются в другом качестве/виде - это форматирует подходы к программированию у разработчика, локализует понимание внутри одной системы. В аналогию можно привести программистов 1С, которые пишут программы на встроенном языке 1С, с учетом требований системы 1С. Программистам 1С очень сложно работать с другими системами не только, да и не столько, из-за незнания других языков, сколько из-за подходов принятых в системе 1С - это особая среда и логика. Конечно что-то подобное можно сказать и о других фреймворках (Yii, Symfony, Laravel, Laminas, etc), здесь я хочу лишь поставить акцент на том, что система Битрикс имеет свои особенности и требует углубленного, а не поверхностного изучения, чтобы осуществлять в этой системе разработку и доработку.

Мне понравилось описание требований специалиста по Битрикс на одном из сайтов для разработчиков:

описание Bitrix-разработчика
описание Bitrix-разработчика

Что стоит выделить в этом описании:

  • Битрикс-разработчик - программист с узким профилем деятельности, т.е. надо четко специализироваться на этой системе, углубленно изучать ее ограничения, и придерживаться стилистики программирования, которая, как было показано выше, отличается от стандарта PSR;
  • Есть две группы программистов Битрикс, функционал которых кардинально отличается - собственно "разработчики" в среде фреймворка Битрикс, создающие новый (не стандартный) функционал, и "внедренцы", которые настраивают стандартные (коробочные) решения Битрикс под требования заказчика.

К сожалению, вакансии, за редким исключением, сваливают все требования воедино, хотят видеть отличное владение РНР и в тоже время отличное владение Битрикс, а это на практике все-таки не совсем одно и тоже - есть отличия. И еще один немаловажный нюанс - "один за всех!", т.е. специалист должен быть универсален, и "внедренец", и "разработчик", а таких людей скорее всего очень мало - отсюда и недостаток кандидатов (люди с опытом реально оценивают свои возможности) и рост зарплатных предложений в публикуемых вакансиях.

Мое пожелание HR-специалистам - четко формулировать потребности, подбирать для работы с Битрикс не просто программистов РНР, а тех, кто выбрал специализацию - изучение и работу именно с этой системой. Конечно, если вы столкнетесь с отсутствием откликов на объявленную низкую зарплату или слишком раздутый функционал, то будете вынуждены собирать всех, чтобы демонстрировать свою активность руководству, и возможно скрывать, что в компании стоит именно Битрикс, с которым надо работать программисту. Но это все вскрывается, и реальные, понимающие программисты, будут распространять не очень положительную информацию о вашей компании по сарафанному радио... Лучше, если информация компании будет прозрачной, а не закамуфлированной - это позволит не тратить время (а собеседования кандидатам не оплачиваются) и не будет формировать негатив вокруг вашей компании.