Битрикс Для Программиста И Менеджера: Любовь И Ненависть

Привет. Давно не писал на PHP, но время от времени сталкиваюсь с интернет-магазинами, использующими систему управления контентом Битрикс.

И я помню свое исследование.

Битрикс любят не так сильно, как Москву начала 2000-х: успешный и прибыльный проект, который объективно не сделал ничего, чтобы заслужить свой успех.

Разработчиков объединяет одно: для одних это объект ненависти, а другие смотрят со снисхождением и отмечают, что это самая коммерчески успешная система управления контентом.

Мои публикации о Битриксе не могли понравиться ни тем, ни другим: одной стороне противно само упоминание Битрикса, а другой не нравится незнание официальных рекомендаций по разработке для Битрикс.

И это все очень интересно.

Joomla заставляет меня смеяться.

WordPress удивляет. Битрикс ненавистный.

Почему? Я хотел ответить именно на этот вопрос, и этот ответ был неожиданным.



Несоблюдение рекомендаций разработчика Битрикс

Шесть лет назад я прошел курс разработчика Битрикс.

Поначалу я честно пытался следовать рекомендациям и настраивать стандартные модули, но требуемых задач они не выполняли.

Потом я начал использовать низкоуровневые функции системы, но они тоже странно работали.

Постепенно я добавил нормальный шаблонизатор, перешёл на чистый SQL и вообще отказался от самой архитектуры, которую предлагает эта система.

По сути, мои разработки были уже не Битриксом, а какой-то надстройкой к базе данных с предсказуемой структурой.

На некоторых проектах панель управления также почти не использовалась, поскольку были установлены импорт товаров в интернет-магазин и экспорт заказов в 1С, экспорт списка магазинов из 1С на сайт и тому подобное.

По сути, от Битрикса осталась только база данных.

Я обосновал это для себя оптимизацией.

Но настоящая причина раскрылась лишь спустя некоторое время.

И она совсем из другой области.





Обманутый

Ненависть рождается от обманутой любви, а любовь – это взгляд с экрана.

Выбирая систему для проекта, вам, заказчику, обещают золотые горы, а как программисту вы, конечно, ожидаете прорывную архитектуру, которая доставит вам чистое удовольствие от программирования.

Но чем дальше вы погружаетесь в работу, тем больше вы разочаровываетесь.

И деньги уже заплачены, усилия уже вложены.

Но только это не породило бы такой ненависти.

С кем бы это ни случилось, он облажался, как и все остальные.

Но это только начало.

После покупки вас продолжают убеждать, что все так и должно быть.

Ваш стиль программирования — отражение вашего видения мира.

Вас призывают заменить его.

А это уже приводит к столкновению внутри вас.

Вы не можете принять этот стиль, но вы должны его принять или отказаться от работы.

А если вы попытаетесь отстоять свою точку зрения, то вдруг окажетесь в меньшинстве, даже если формально вы абсолютно правы.





Бизнес-обоснование работы с Битрикс

С точки зрения бизнеса оставить систему без изменений, максимально следовать рекомендациям производителя системы, использовать стандартные решения – это надежный путь – непрофильная компания доверяет известному ИТ-производителю с огромным сервисным парком.

А на другом конце — доверие к собственному наемному программисту, качество решений которого невозможно проверить и который может уволиться в любой момент. Если сайт тормозит, нужно купить сервер помощнее: это понятное и простое решение.

А оптимизация привязана к решениям конкретного программиста.

Представьте, они вас боятся.

Программисты мыслят парадигмами, а менеджеры — бюджетами.

Они общаются с теми же менеджерами компаний-поставщиков.

Они говорят друг с другом на одном языке, но могут просто не понять ваших слов, если они не переведены на деньги.





Внутренний конфликт разработчиков при работе с Битрикс

Если посмотреть на проблему с этой стороны, легко понять, почему лидеры не на нашей стороне.

Менеджеры не видят технических тонкостей, купили систему и платят вам деньги.

Им легко и просто обосновать затраты для директоров и владельцев.

Но для программиста все это провоцирует внутренний психологический конфликт.



Почему технические специалисты проигрывают?

Но почему проходят годы, а Битрикс все еще в продаже? Поражение противников Битрикса рождается из неправильной постановки вопроса.

Да, вы технически более грамотны, но не вы принимаете решение о покупке, иначе вы сами были бы менеджерами.

И развитие Битрикса определяется именно этим мелким противостоянием руководства и технических специалистов, каждое решение о покупке лицензии.

Вы играете на том поле, на котором вам предлагают сыграть.

Вы говорите об оптимизации - но она не очевидна, и польза не перевешивает. Вы говорите об удобстве использования — а свою панель управления под один проект не сделаете? Даже под несколькими.

Вы говорите, что интеграция «из коробки» — это миф, но, во-первых, у других она не лучше, а во-вторых, зачем заморачиваться? И, самое главное, ты говоришь об архитектуре — и тебя не понимают. Все ваши аргументы из технической области.

Но вы технический специалист, а значит, ваша задача убедиться, что технически все работает. Вот что они вам говорят. Менеджеры хорошо умеют работать со словом.

Кроме того, их обычно несколько.

И вам нужны очень веские аргументы, чтобы убедить их, даже если они с вами посоветуются.

Но вы проиграете в этом споре.

Обычно программисту на этом этапе не хватает технического, управленческого или просто жизненного опыта, чтобы вступать в подобные противостояния.





Технические аспекты претензий к системе управления сайтом Битрикс

Технические аргументы кажутся несостоятельными, почти на каждый из них можно ответить, а остальные вопросы можно просто проболтать, а опыт словесных противостояний у стандартного программиста меньше, чем у менеджера.

Обычно к системе поступает множество индивидуальных и мелких претензий, на которые можно ответить при должном уровне подготовки.

На все эти мелкие споры тянутся оппоненты Битрикса, и в этих спорах они проигрывают. Но давайте попробуем выделить главное.

— В системе нет единой точки входа.

Это означает, что точку входа можно разместить где угодно: в запутанной структуре каталогов можно спрятать файл, авторизующий кого угодно в качестве администратора сайта.

И само это безумное вложенность подкаталогов как будто специально создано для таких реализаций.

— В системе есть модули, дублирующие друг друга, и ни один из них невозможно настроить под свои нужды без внесения изменений, несмотря на то, что они имеют десятки(!) настроек.

А наличие этих настроек сбивает с толку: кажется, что все функции предусмотрены, но на самом деле это лишь иллюзия, созданная намеренно.

— Чтобы получить доступ к данным, нужно вызывать много разных функций, при этом все это можно уместить в один простой SQL-запрос.

В системе есть даже стандартные инструменты для работы с базой данных, так зачем тогда все эти различные модули и функции? Чтобы выставить напоказ и замять вопрос оптимизации.

— «Той же целью является так называемое трехуровневое кэширование и другие подобные функции, которые технически совершенно бесполезны и были введены исключительно ради включения загадочного, а потому привлекательного термина в рекламную кампанию.

И теперь, видя, что столько усилий прилагается именно для того, чтобы представить систему как многофункциональную, современную и универсальную, не должны ли опытные менеджеры усомниться в том, что все остальные аргументы продавцов — того же плана?.





Аргумент новой версии

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

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

Это было ново и хорошо два-три года назад.



Причина, по которой разработчики ненавидят Битрикс

Подводя итог, можно выделить несколько аспектов: Неважно, какого качества система — главное, чтобы она продавалась, а потом, когда ее купят, программист разберется.

- пренебрежение своей работой Недостаточно просто дать вам это, нужно потребовать, чтобы вы делали именно то, что рекомендовано, чтобы вы продолжали поддерживать эту неправильную архитектуру.

- психологическое насилие Но именно архитектура порождает проблемы.

Выигрывает именно там, где все не так.

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

За загадочными и привлекательными маркетинговыми названиями псевдоновых технологий скрываются технически совершенно бесполезные функции.

- разочарование в ожиданиях Технически неверно, но с точки зрения рынка – гениально.

И вы, совершенно технически, ничего с этим поделать не сможете.

- бессилие.

Как видите, чисто технических причин здесь нет. Поэтому реакция такая эмоциональная.





Методы программирования в системе управления сайтом Битрикс

Мы разобрались, почему Битрикс вызывает ненависть.

Тем, кто вынужден модифицировать эту систему, получил ее по наследству или установил по решению руководства, предоставляется возможность выбора.

Вы можете следовать всем рекомендациям разработчика Битрикс.

Трудно было действовать по-другому, потому что — неодобрение со стороны сообщества разработчиков и менеджмента — недостаточно информации об альтернативных способах работы Эта статья поможет устранить противоречия первого пункта, хотя бы ваши внутренние.

А последующие публикации, которые, надеюсь, мне позволят сделать лень, занятость и наличие аудитории, дадут ответы на второй пункт.



Ищем программиста Битрикс

Посмотрите на рынок программистов Битрикс.

В среднем они самые дешевые.

А дешевле – значит ниже уровень.

Существуют специальные ускоренные курсы для разработчиков Битрикс практически с нуля.

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

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

В известной партнерской компании 1С, официальном дистрибьюторе Битрикс, сразу после моего обучения там открылась вакансия Битрикс-разработчика.

И предложили мне денег в полтора раза меньше, чем у меня было на тот момент на нынешнем месте работы – и это лидер рынка! Да, процесс найма такого сотрудника достаточно прост, поскольку требования к нему формализованы.



Если ваш собственный программист выходит за рамки требований к разработчику Битрикс, понятно, что в будущем вам нужно будет составлять свои требования к программисту, и этот легкий вариант найма для вас исчезнет.

Но просто замените его другой квалификацией: знанием SQL. Этого достаточно, чтобы человек мог разобраться и нормально работать с любой системой, в том числе и с Битриксом.





Работа напрямую с базой данных Битрикс не позволяет обновлять систему

Вы можете обновить систему или нет. Если вы не используете модули, для вас это ничего не изменит. Не будет новых функций, которые программист не сможет реализовать.

Но вы можете получить возможные проблемы несовместимости даже в тех модулях, которые вы никогда не трогали.

Не бойтесь изменений в базе данных: в основных таблицах их не будет; эти изменения слишком дороги для системы с таким большим багажом обратной совместимости.

Главное, что обновление системы — это повод продать вам так называемую «подписку», без которой обновление будет невозможно.





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

Невозможно долго идти против себя.

Но важно понять причины, чтобы сделать осознанный выбор, который, как всегда, остается за каждым.

Теги: #Управление проектами #Битрикс #1С-Битрикс

Вместе с данным постом часто просматривают: