В 1С нет разработки, но есть Разработчики. Моё расследование
Есть на свете такая профессия — разработчик 1С. Нет, не так… Есть на свете такая должность — разработчик 1С. Вакансии на эту должность есть. Люди на этой должности сидят, деньги получают. За ними охотятся, т.к. считается, что разработчик 1С — это прям чего-то о-го-го какое.
Однако, лет 15 назад никаких разработчиков 1С не было. А 1С была. Проекты внедрения были, программные продукты были, заводские программисты были. А разработчиков — не было.
Потом, вдруг откуда ни возьмись, возникла эта славная, феноменальная должность — разработчик 1С. Откуда? Зачем? В чём причина появления? Кто это придумал?
А главное: действительно ли разработчик 1С — разработчик? Или это какой-то вариант мимикрии? Я решил провести независимое исследование. Но выводы, как говорит один известный ведущий, делать только вам.
Исключение
Начну с исключения, чтобы вас во время прочтения статьи не мучало желание сразу написать мне гневный комментарий. Единственная отрасль 1С, где разработчики действительно есть, их много, и ничего необъяснимого в том нет — это разработка продуктов на платформе 1С. На этом рынке, действительно, сейчас много и компаний, и специалистов.
Раньше львиную долю продуктов, которые продавались на рынке 1С, создавали разработчики из самой фирмы 1С. Были несколько отраслевых продуктов от зубров рынка, но живые люди старались с ними не связываться.
Сейчас же отраслевых продуктов — пруд пруди. И создают их, действительно, разработчики 1С. Прям сидят целыми днями, и разрабатывают. Плюс-минус по тем же законам, что и любая другая продуктовая разработка.
Так вот, разработку продуктов 1С обозначим, как исключение, и не будем больше упоминать. Там разработчики 1С на своём месте и заняты своим делом — разработкой.
Объект расследования
Интерес данного расследования — разработчики 1С, которые сидят в фирмах-партнерах 1С (их называют «франчи») и разрабатывают что-то для клиентов. Это могут быть разовые задачи по разработке, но чаще — проекты внедрения, где нужно создавать много новой функциональности.
Так, стоп… Я использовал какой-то неведомый стереотип: на большом проекте внедрения надо много разрабатывать. Так ли это?
Сколько надо разрабатывать?
Измерить в каких-то объективных единицах вряд ли получится, но нам повезло — мы рассматриваем в сравнении. 15 лет назад точно так же шли проекты внедрения, там были точно такие же (даже «точно те же») заказчики, и всем нужны были доработки.
Может, объем и количество задач по разработке увеличилось? Увы, нет. Раньше разрабатывать приходилось намного — в разы больше. По нескольким причинам.
Во-первых, продукты 1С сейчас в более высокой степени готовности к эксплуатации, чем были тогда. Это не значит, что они стали лучше — просто стало меньше незаконченных кусков, отданных на откуп партнерам. Функциональность может быть кривой, неудобной, но она закончена. И «допиливать» её не надо.
Во-вторых, заказчики помнят, как им жилось на «перепиленных» продуктах. Собственно, многие с них и переходят на современные продукты — потому что переработанные в хлам продукты дорого, а то и невозможно поддерживать и развивать. Соответственно, требуют минимума изменений.
В-третьих, появилось огромное количество наработок и средств их распространения. Раньше всё надо было делать с нуля, теперь, в большинстве случаев, можно найти или готовое, или прототип. Например, это касается почти любых интеграций или узкоспециализированных участков учёта.
То, что объем разработки стал существенно меньше, видно невооруженным взглядом. Я приведу два критерия измерения.
Первый — % заказчиков, использующих полностью типовые программные продукты 1С, без доработок. Их стало в разы больше.
Второй — стоимость нетиповых обновлений (это когда 1С выпускает новую версию продукта, и надо её «натянуть» на предыдущую, доработанную под заказчика). Сейчас нетиповое обновление современной конфигурации делается, в среднем, по 1–5 часов за 1 шаг. Нетиповое обновление старых продуктов тоже стало дешевле, но по другим причинам — там изменений мало приходит.
А 10–15 лет назад нетиповое обновление вполне могло стоить 100 часов. Были случаи, когда за 1 шаг брали 500 часов — столько времени нужно было, чтобы хоть как-то увязать кучу изменений, сделанных 1С, с диким количеством доработок, выполненных на проекте внедрения.
Итак, объем разработки, т.е. выполнения работ по модификации текущей функциональности и созданию новой, существенно уменьшился. Но разработчиков стало больше.
Рассмотрим несколько версий произошедшего.
Разделение труда
Эта версия появления разработчиков 1С звучит чаще всего. 15 лет назад была одна профессия — программист 1С. Он и разрабатывал, анализировал, и проектировал, и обучал, и ковырялся, и обновлял, и переносы делал, и базы админил. Разработка была одной из функций программиста 1С.
Потом, согласно этой версии, объем разработки существенно вырос, и программиста пришлось разобрать на несколько функций. Так появились разработчики, аналитики, архитекторы, консультанты и даже слесаря.
Насчет возросшего объема консультаций и слесарного дела в 1С спорить смысла нет — его действительно стало много. Но вот незадача — именно этот объём вырос не вместе с разработкой, а вместо неё, т.е. более существенно изменилась структура работ, чем их объем.
Просто многие вопросы внедрения и сопровождения, которые раньше решались разработкой, теперь решаются консалтингом, настройкой или ковырянием.
Плюс, см. предыдущий раздел — объем разработки стал меньше. А разработчиков стало больше. Версия с разделением труда не годится, т.к. не объясняет фактов.
Технологии
Есть в этом мире 3–5 человек, которые утверждают, что разработчики 1С выделились из общей массы программистов 1С, потому что стали применять крутые технологии разработки, проектирования, тестирования и т.д.
И это действительно так. Это действительно 3–5 человек. Четверых я знаю по именам — Олег, Алексей, Андрей и Валера. Люди серьёзные, и убеждать их, что они не разработчики я не рискну. Поэтому честно признаю — да, есть в этом мире 3–5 человек, которые действительно являются разработчиками 1С.
Но не будем совершать ошибку выжившего, и просто внесём Олега, Алексея, Андрея и Валеру в исключения. Они пытаются донести свои подходы и технологии до остальных «разработчиков 1С», но пока получается плохо.
Поэтому версию массового появления разработчиков 1С через изучение и применение крутых технологий — отбрасываем.
Качество кода
Версия, схожая с предыдущей: разработчик 1С — это левел-ап по качеству. Программисты 1С, слесаря, заводские упыри — они пишут говнокод. А вот разработчик 1С знает стандарты, правила, рекомендации и, главное, строго им следует. И пишет качественный код.
Увы, эта версия разбивается о неумолимую реальность. Утверждение «разработчик 1С пишет качественный код» не верно. Утверждение «программист 1С пишет качественный код» — тоже.
Как 15, 20, 30 лет назад, так и сейчас верно одно утверждение: «Конкретный Вася пишет качественный код». Как он при этом называется — разработчик, программист, слесарь — не имеет значения.
Эту версию тоже придётся вычеркнуть.
Хитрый план 1С
Эта версия лично моя, если что. Ничьего мнения, кроме моего, здесь не содержится.
Несколько лет назад продукты 1С существенно изменились — стали намного сложнее внутри. Больше кода, объектов, связей. Прирост функциональности, однако, был не столь существенным. Сложность выросла в разы, функциональность — на десятки процентов, не больше. Грубо говоря, объем кода на единицу измерения функциональности стал существенно выше.
При этом, новые продукты стали «хуже» старых, с точки зрения функциональности. Это не объективная оценка, разумеется, а некое среднее мнение клиентов и партнеров, которые видели и старые, и новые продукты.
И вот дилемма. Продукты стали «хуже», при этом — дороже и сложнее внутри. Но продавать и внедрять их надо. Как? Нужны люди, которые будут пользоваться и нахваливать. Или просто нахваливать. Сравнительный анализ делать, убеждать, кричать на всех углах: новое лучше старого!
Но таких людей не было. Клиенты только-только внедрили старые продукты и выдохнули. Программисты, за время внедрений, изучили старые продукты и теперь стали ценными кадрами на рынке. Кто будет распространять славу о новых продуктах?
Раз среди старых людей нет подходящих, надо создать новых людей. Ими и стали разработчики 1С. Искусственная раса.
Им придумали название. Их сознательно и специально отделили от программистов и внедренцев. Их убедили в нужности и важности разработки 1С. Им показали, как сложно и круто теперь устроены продукты — только разработчик разберётся. Их назвали белой костью, голубой кровью.
Ну и нашли им «врага» — старые продукты и старых программистов. И рекомендовали со старыми продуктами не работать. А клиентов переводить на новые.
И пошло-поехало. Спроси практически любого разработчика 1С, какой продукт лучше — он назовёт новый. Посади его решать задачу по старому продукту — будет плеваться и тупить.
А главное, цель была достигнута. Это я прям ответственно заявляю. Любой «разработчик 1С», соприкасаясь с пользователями старого продукта, сам, без напоминания или приказа, по собственной воле и личной инициативе, говорит: вам срочно надо перейти на новый продукт.
Я понимаю, что по законам маркетинга, новый продукт надо выводить на рынок. Кто-то должен его продвигать. Но раньше это делали продавцы, а теперь разработчики 1С. И делают они это чаще, лучше и успешнее продавцов.
Браво, 1С.
«Хотим, как большие»
Эта версия — самая банальная. За пределами сферы 1С полно разработчиков, которые реально занимаются большой разработкой, и только ею. Не обучают пользователей, не чинят серверы и отчётность, не общаются с пользователями. Сидят и разрабатывают, за большие деньги.
Можно предположить, что некоторые программисты 1С тоже так захотели. Но вот незадача — в сфере 1С нет столько задач по разработке, как в большом мире. А разработчиками быть хочется.
Так, стоп… Почему «быть»? Зачем «быть»? Можно же «называться». А чтобы «называться» — надо «казаться».
Взяли фетиши, которые смогли, скопировали некоторые привычки и паттерны поведения, и стали называть себя разработчиками. Некоторые пошли чуть дальше, и немного изучили что-нибудь, кроме 1С — от банального html до js, C++ или php.
И теперь не прикопаешься. Человек знает несколько языков программирования, умеет на них что-то делать, и получается, что он — разработчик. И из всего своего стека сознательно выбрал 1С. Вроде как «я настоящий разработчик, пока на 1С сижу, а там посмотрим».
Некоторые, кстати, пока «получали корочку» других ЯП, так увлеклись, что ушли из 1С в эти самые ЯП. Это, пожалуй, тоже настоящие разработчики. Только уже не 1С, так что не являются предметов расследования.
Уставшие программисты 1С
Ну и последняя версия, которая подтверждается множеством примеров из жизни вокруг. Разработчики 1С — это уставшие программисты 1С.
Жили-были молодые и весёлые программисты-универсалы, которые умели всё. Но это «всё» отнимает много сил (хотя приносит много денег). Особенно раньше тяжко было, когда удалёнки не было — подавляющая часть работы делалась «в полях».
В полях программисты накопили колоссальный опыт по всем своим функциям — и код писать, и заказчика понимать, и анализировать, и продавать, и внедрять/запускать. Но устали и решили сесть ровно, чтобы поберечь пошатнувшееся здоровье. Кто дома, кто в офисе.
Но заниматься же чем-то надо? Перебрали свои прокачанные навыки и выбрали, то, что больше всего подходит для сидения на ровном месте — разработку. Остальные навыки тоже ценятся высоко, но там бегать надо, или хотя бы ходить. А для разработки — не надо.
Вот и сидят. Умеют всё, но занимаются только разработкой. Потому что отдохнуть хочется на старости лет.
Однако, эта версия не объясняет большого количества разработчиков. Тех крутых программистов-универсалов — мало. И тогда было мало, а сейчас — ещё меньше. Очень многие первопроходцы давно создали свой бизнес, иногда состоящий из одного человека.
Да и возраст «разработчиков 1С» (а им и по 20 лет бывает) однозначно говорит — не были они в полях. Они тогда в садик ходили. Откуда тогда взялись?
Ответ поищем в фонтанах на день ВДВ.
Прилипалы
Говорят, с каждым годом в день ВДВ на улицах в тельняшках разгуливает всё больше людей, не имеющих никакого отношения к ВДВ. Просто хочется людям праздника, когда можно бегать пьяным, купаться в фонтанах, бить почти любую морду — и всё это без последствий. Единственный день в году, когда такое позволено — день ВДВ. Как в фильме «Судная ночь».
Вот и прилипают к настоящим десантникам. Привлекает прилипал именно внешняя, видимая сторона этого праздника.
Аналогично поступают некоторые молодые люди. Приходят во франч 1С и видят разработчиков — серьёзных, умных, высокооплачиваемых дядей. И видят остальных — слесарей, как правило, которые всё время куда-то бегут, что-то чинят, в чём-то пытаются разобраться, и получается так себе.
Кем захочет быть молодая, ещё не сформировавшаяся душа? Тут и к бабке не ходи — разработчиком. Ну их и подсаживают, если есть хоть какие-то способности к программированию. Пусть старый разработчик учит нового.
Но, увы, ни черта не выходит. Старый разработчик стал таковым через личный опыт, который невозможно передать. Возвращаясь к аналогии с ВДВ, старый разработчик «воевал». Но рассказы о «войне» не могут передать её сути.
Поэтому молодой разработчик понимает и способен воспроизвести только внешнюю, видимую часть того, что делает старый. И разработчиком он не является, а называется.
Итого
Я привёл несколько версий появления феномена «Разработчик 1С». Уверен, что список не исчерпывающий, и вы сможете его дополнить. Какая версия верна — не знаю. Вам виднее.
Лично мне кажется, что верны все версии. Все приведённые факторы, события и тенденции имели место быть, и внесли свой вклад в формирование реальности.
А вы как думаете?