Пока я работал на заводах, мир 1С сильно изменился. А мне ничего не сказали. Поэтому я, вернувшись в мир 1С, продолжил пользоваться старой терминологией и, в частности, устаревшим классификатором профессий.
Я считал, что главный в мире 1С – программист. Позже в жёлтый мир пришли новые профессии, из большой разработки – аналитики, архитекторы, разработчики, даже тестировщики. Но я, как упрямый баран, называл эти профессии ненужными, вынужденными. Это просто неудавшиеся программисты, говорил я. Не можешь программировать – иди в аналитики. Боишься разговаривать с директором – иди в разработчики. Вообще ничего не умеешь – иди в тестировщики.
Но даже такая картина мира 1С не могла до конца объяснить происходящего. Аналитиков, архитекторов, разработчиков, сервис-инженеров и даже программистов в нашей отрасли – мало. А людей – много. Кто они?
За два с лишним года наблюдений, исследований и выращивания 1Сников я понял, что подходящего названия их профессии сейчас просто нет. Оттого постоянно возникает путаница, завышенные ожидания, неверные направления подготовки. Поэтому пришлось придумать название профессии самостоятельно.
Разрешите представить: Слесарь 1С. Без стёба. Статья – абсолютно серьёзная.
Кто такой Слесарь 1С?
Слесарь 1С – это человек, который обслуживает базу 1С клиента. Больше всего он похож на деревенского сисадмина – знает немного обо всём на свете, но ничего в деталях.
Что в Слесаре от сервис-инженера: установка и обновление 1С, подключение онлайн-сервисов, вроде проверки контрагентов, загрузка классификаторов, перенос баз, публикация на веб-сервере и т.д.
Что в Слесаре от консультанта: запоминает, как делать основные типовые операции в 1С, и обучает пользователей клиентов. Не может провести обучение по целому контуру, только конкретной, достаточно узкой функциональности.
Что в Слесаре от аналитика: тут надо уточнить. У вас, в большом мире, аналитик – это серьёзный, умный, уважаемый человек. У нас, в мире 1С, аналитик – человек, который поговорил с клиентом, внимательно записал требования, добавил к ним шапку и подвал, и получилось ТЗ. Второй вид деятельности аналитика – искать в интернете ответы на вопросы по 1С.
Так вот, Слесарь 1С занимается второй частью – ищет в интернете ответы на вопросы. Благо, этого добра в интернетах сейчас навалом.
Что в Слесаре 1С от программиста: может выполнять несложные доработки, в том числе – делать заплатки (подробнее – ниже по тексту).
Профессия Слесарь 1С – собирательная, но не искусственная. Это – результат эволюции рынка 1С, его детище. Квинтэссенция самых востребованных компетенций.
Я не шучу. Самый востребованный человек на рынке 1С – Слесарь. Ибо 1С сама того хотела.
Изменения в 1С
Сразу скажу – ни я, ни кто другой за пределами фирмы 1С не знает, чего они там задумали. Закрытость – давно известная, понятная и всеми уже принятая черта вендора. Они до сих пор ЗАО.
Судить о намерениях можно только по результатам их реализации. Видишь, что происходит, и понимаешь – а, так вот чего они сделать-то хотели. Судить по планам, которые 1С иногда озвучивает, смысла нет – точность реализации очень низкая. Единственный чуть более достоверный метод понять, что изменится в 1С – инверсия отказов. Если кто-то из 1С говорит, что того-то и того-то НЕ будет, то с высокой вероятностью оно появится.
Итак, судим только по тому, что видим в реальности.
Главное: продукты 1С теперь – не фреймворки для адаптации по месту, а законченные решения. Законченные – это не более качественные, а более завершённые, цельные. Это не набор кубиков, из которых можно строить учёт на конкретном предприятии, а готовый продукт. Как браузер, MS Office или AIMP.
Есть на свете люди, которые пишут и отлаживают код браузера или макросах MS Office, но их доля – микроскопическая, по сравнению с количеством обычных пользователей. Соответственно, усилия разработчиков направлены, в первую очередь, на потребности большинства. А большинству нужен готовый к эксплуатации продукт. Этой же стратегии теперь придерживается 1С (с оговорками из первых двух абзацев).
Если у пользователя на заводе не работает браузер или ворд, никакой здоровый на голову ИТ-специалист не полезет в исходный код. Потыкается, поищет ответ в интернете, или просто переустановит. Ровно так же делает Слесарь 1С, потому что и у него голова в порядке.
Архитектура и код программных продуктов 1С не только способствует, но и подталкивает к подобному поведению.
Во-первых, 1С внутри становится всё сложнее. Ещё раз повторю: не качественнее, а сложнее. Не алгоритмы сложнее, а их расположение, разветвлённость, обвес, вызовы. Если раньше функциональность обеспечивалась 1000 строк кода, которые лежали в одном модуле, то теперь это 10 000 строк, разбросанных по 20 модулям.
Во-вторых, в коде 1С стала появляться самозащита от некачественных изменений. Буквально так: пишете вы код, который меняет настройки конечной формы отчёта или заполнение таблицы, а дальше лежит код 1С, который проверяет, соответствует ли результат исходной задумке разработчиков. И если не соответствует – ваши изменения не просто игнорируются, а удаляются.
В-третьих, код и архитектура решений 1С постоянно меняется, под действием разных сил. Тут и изменения в законодательстве, и изначально неоптимальная архитектура некоторых решений, которую вынужденно и постепенно исправляют разработчики, и постоянное пополнение обязательных ИТ-сервисов государства – в основном это маркировка.
Такая стратегия приводит к парадоксальным изменениям рынка услуг 1С. Слесарь теперь решает проблему быстрее и дешевле, чем программист.
Стоимость услуг
Как ни больно это признавать, но слесаря действительно решают большинство проблем клиентов быстрее и, соответственно, дешевле, чем программисты, аналитики или консультанты. Это вывод из практики, а не теоретическое умозаключение.
Когда я начинал работать программистом 1С, самым быстрым способом разобраться в проблеме была отладка. Потому что документация была так себе, интернета было мало, да и не было в нём ничего толкового. Плюс, что немаловажно – не было удалёнки. Надо было ехать пешком к клиенту и сидеть за компьютером вместе с ним. Хочешь, не хочешь – а полезешь в код. Не идти же в браузер при всём честном народе.
Сейчас Слесарь просто слушает клиента, кладёт трубку и идёт в интернет. Параллельно открывает копию базы клиента, чтобы ставить в ней эксперименты – пробовать лайфхаки, которые нароет в Сети. В код полезет в крайнем случае. И это будет очень дорого для клиента.
А может и никогда не полезет. Только не смейтесь, но я всё чаще слышу фразы вроде: «я попробовал всё, что нашёл в интернете, но, похоже, проблема где-то в коде, я не смогу разобраться».
Пока, на данный момент, очень опытный программист разбирается в проблеме быстрее Слесаря. И, разумеется, намного качественнее. Но очень опытных программистов 1С – единицы процентов. Есть клиенты, которые хотят работать только с программистами 1С, но они вынуждены стоять в очень длинной очереди.
Рынок же ждать не может. Поэтому рынком теперь заправляют Слесаря.
Сказанное актуально и для небольших конфигураций 1С, и для флагманов вроде ЕРП. Я в этом убедился за последние несколько месяцев. И, если честно, до сих пор не могу в это поверить, но Слесаря действительно справляются. И по соотношению цена/качество/скорость намного превосходят программистов, особенно начинающих.
И начинающим программистам от засилья Слесарей ой как не сладко.
Программист/слесарь
Молодым людям, которые приходят в мир 1С, сейчас приходится делать выбор, кем быть: программистом или слесарем. Большинство, правда, обманывают себя, полагая: вот поработаю слесарем, потом в программисты или разработчики подамся.
Корень проблемы кроется в KPI, принятых в фирмах-партнёрах 1С. Ключевой показатель там – закрываемые часы, т.е. время специалиста, оплаченное клиентом. От часов зависит и зарплата специалиста, и его увольнение за плохую работу.
Слесарь взлетает очень быстро. Буквально с первого месяца он начинает приносить прибыль, т.к. основной навык – поиск в интернете – он освоил ещё до трудоустройства. Чему-то целенаправленно учиться не нужно – просто работай, и опыт будет копиться. Постепенно научишься какие-то проблемы решать даже без интернета.
Программисту намного сложнее – надо и учиться, готовиться, тренироваться, и, одновременно – работать. В первые месяцы результаты работы программиста напрямую зависят от его способности к самообучению. Которая, увы, не так часто встречается.
Поэтому программистам тяжело, а слесарям – легко. Программисты это видят и серьёзно задумываются, правильно ли выбрали вектор развития. Сидящий рядом Слесарь хорошо загружен работой, пользуется успехом у клиентов, неплохо зарабатывает, сыт и доволен. Программист же, как настоящий студент – тощий и вечно голодный. Единственное, что его греет – мысль о будущих успехах и доходах.
Однако, вынужден огорчить – путь до толкового программиста исчисляется годами, с обязательной сменой нескольких мест работы. Поэтому многие сдаются и становятся Слесарями. Хотя продолжают называть себя программистами.
Но код пишут и слесаря.
Заплаты
Тут важно отметить ещё одно изменение в платформе 1С, которое сыграло двоякую роль. Во-первых – узаконило говнокод, устав с ним бороться. Во-вторых – как могло обезопасило продакшн от этого говнокода. Речь о механизме расширений.
Раньше, если ты хотел что-то поменять в конфигурации 1С, нужно было лезть в основной код и архитектуру. Исключения составляли внешние обработки, печатные формы и отчёты – это способы расширить функциональность, ничего не меняя в архитектуре и исходном коде. Так появлялись «в хлам перепиленные конфигурации», «необновляемые монстры» и «не смотрите в код, я был молод и глуп».
Сейчас появились расширения. Это конфигурации-заплаты, которые накладываются сверху на основную архитектуру, а пользователи работают с результатом компиляции основной конфигурации со всеми заплатами. Расширения позволяют вносить достаточно широкий спектр изменений – и типы объектов создавать, и добавлять свойства в существующие, и интерфейсы переделывать, и добавлять свои обработчики, и даже дополнять или заменять типовые куски кода.
Ключевое свойство расширений – они снаружи, как и положено заплатам. Соответственно, их можно в любой момент как модифицировать, так и отключить. Все, кто раньше боялся лезть в код, теперь могут это делать безбоязненно. В том числе – говнокодить.
Думать, анализировать, проектировать, прогнозировать больше не нужно – это ведь всего лишь заплата. Она не должна быть крутой, дорогостоящей, продуманной и оптимальной. Клиенту надо, чтобы она была дешёвой. Тем более, что все заказчики давно знают – расширения (почти) безопасны. Поэтому требования к их качеству равны нулю – «лишь бы работало».
Так вот, расширения-заплаты – практически единственный продукт программирования руками Слесаря. Обычно там – дичайший говнокод. Но он работает. И в большинстве случаев – безопасно. А если перестаёт работать – можно просто выключить или удалить. Как надоевшее приложение в смартфоне.
И чё, как быть?
Лично меня, вообще, этот вопрос беспокоит с одной единственной стороны: подготовка новых специалистов, ибо этим я, в основном, занимаюсь на работе. Я собеседовал людей, ища в них задатки программистов. Я давал задачи людям так, чтобы они научились программировать. Я обучал людей программированию в 1С. Я заставлял людей читать и писать код.
Теперь же честно признаю: я был не прав. Миру больше не нужны программисты 1С, по крайней мере в таком количестве. Все мои фантазии и высказывания на тему превосходства программистов над остальными профессиями в мире 1С – не более чем больные фантазии. Неправильно заставлять людей напрягаться годами, чтобы превзойти слесарей.
Поэтому, как ни прискорбно, я честно, без стёба и сарказма, признаю: ключевая профессия в мире 1С – Слесарь. Компаниям, которые занимаются 1С, надо пересматривать программы подготовки, процессы, требования к кандидатам, схемы мотивации, скрипты продаж, принципы управления и мотивации. И штатное расписание, разумеется.
Ну и начать называть всё своими именами.
А мне, и таким, как я – увы, придётся уходить из мира 1С. Программирования там скоро не останется.
13werwolf13
Меня всю дорогу удивляет что до сих пор не появилось какого-то открытого аналога OdinAss… Есть аналоги отдельных конфигураций но не всей системы в целом…
А ведь это просто офигенная ниша именно для опсорса.
nmivan Автор
Они и были, и есть. Но массовому клиенту они не нужны.
13werwolf13
Хм, с ходу не гуглится ничего внятного. Не подскажете пару названий?
И я на всякий случай уточню: я имею ввиду именно аналог 1С а не какой нибудь конфигурации типо "1С бюстгалтерия" или "1С склАД".
nmivan Автор
openconf, onescript, metadata.js
Woffko
SAP САПФИР
CrushBy
https://habr.com/ru/company/lsfusion
Drakosh
Ключевое слово -поддержка законодательства. Никакое открытое сообщество, к сожалению, не уследит за законодательными инновациями, не реализует все печатные формы и отчетности в госорганы, да еще и в сжатые сроки.
GerrAlt
А было бы круто если бы эти самые новые формы само разрабатывающее их ведомство публиковало сразу и в каком-нибудь открытом машинночитаемом шаблонном формате, xml-xsd / JSON-SCHEMA и т.п., выглядит как чуточка стандартизации, и очень большая экономия трудозатрат
McStrauth
Я тут давеча залез на сайт не кого-нибудь, а целой ФНС РФ. Целью был справочник лицензируемых видов деятельности «для посмотреть». Так вот… Он там есть, вполне без СМС и регистрации. В архиве. ARJ. Кто-нибудь ещё помнит этот архиватор? А давно вы его видели вживую на работающих по делу компьютерах?
Так что, я бы сказал, молитесь, чтобы у них руки до этой стандартизации и экономии не дошли. Не то такой машиночитаемый формат получите, что до конца дней себя же проклинать будете. Да ещё и обязательным к использованию сделают.
GerrAlt
А какая разница какой архиватор, если он работает и задачу выполняет? 7zip, например, без проблем открывает такой архив
nordfox
Почти дошли и уже давно. Обновляем список банков а 1С и тут два раза удивляемся. ARJ и поднятие привелегий. Как и зачем??? У меня бухи в терминальной среде и это бесит. Получается что если человек в привелегиями админа не на месте, то обновить банки никак. 2021 год на дворе. Есть куча технологий безопасно всосать пару десятков килобайт без таких извращений.
Heavyside
Спасибо! вы мне показали ещё одно место использования ARJ. Я полагал, что он только в ЦБ используется для обмена сообщениями с ФОИВами и банками. Причём в одном процесс взаимодействия они умудряются использовать как gzip так и ARJ
nordfox
Дебилы бл… (С) Лавров С.
Big-Bag
Плохая ниша. Потому что типичному клиенту нужны в первую очередь готовое решение (допиленное под него) и постоянная качественная поддержка. Первую проблему опенсорс еще как-то в состоянии решить (фриланс), то со второй будут серьезные проблемы.
Paskin
Ха-ха, ведь в мечтах "отцов" опенсорса планировалось зарабатывать именно созданием решений и кастомизацией...