Всем привет! Недавно мы запустили новый курс — «Разработчик 1C». В процессе его подготовки мы изучили рынок и увидели, что зарплаты разработчиков 1C выросли почти в два раза за последний год. Эта статья будет интересна тем, кто хочет узнать больше про этот язык программирования, проследить путь специалиста, пришедшего в профессию, а заодно избавиться от стереотипа о том, что 1C — просто «программа для бухгалтеров».
Что такое 1С и чем он интересен
С 1С работают большинство компаний в России, поэтому найти работу на свой вкус не составит труда. Несмотря на то что у многих 1С ассоциируется только с бухгалтерией, на деле это лишь распространенное заблуждение — можно годами работать с 1С и не пересекаться с этой профессией. К примеру, вы можете сконцентрироваться на написании мобильных приложений. Да, на 1С можно писать приложения — как мобильные, так и десктопные. Единственный минус «мобилок» на 1С — ограниченный интерфейс, но если наружная красота важна, то никто не мешает реализовать её с помощью HTML + JavaScript, а на бэке оставить всё на 1С.
Многие статьи и видео описывают 1С как что-то скучное и несовременное. В реальности это совсем не так, поэтому давайте попробуем вместе разобраться в некоторых моментах.
Некоторые называют 1С low-code платформой. Наверное, в каком-то смысле они правы: здесь не всегда можно и не всегда нужно писать код, однако вся соль в том, что написание кода убрано там, где он действительно не нужен. К примеру, в других языках программирования вам придётся вручную описывать все атрибуты классов (то есть их поля), писать скрипты для создания таблиц в базе данных, а потом эту базу данных и обновлять (это называется миграцией). Всё это абсолютно рутинная работа, которая вряд ли принесёт большое удовольствие, а уж если что-то на этапе миграции пойдет не так, то разбираться с этим точно не особо приятно. От всего этого 1С вас избавит: здесь вы можете сконцентрироваться конкретно на реализации бизнес-логики и на построении необходимых для решения задач алгоритмов. И здесь кода будет уже много, хватит и вам, и вашим коллегам. А вся та рутина, от которой в недалеком будущем коллег других стеков избавит ChatGPT, в 1С убрана изначально.
Важный плюс: в 1С весь код пишется на русском. На самом деле это не обязательно, все операторы имеют двуязычный синтаксис. Международные конфигурации 1С (да, такие существуют) написаны полностью на английском языке, но в странах СНГ действительно используется в основном русскоязычный синтаксис. Если вы программируете на других языках, это может показаться непривычно: вместо «self» и «this» вы пишете «ЭтотОбъект» или «ЭтаФорма». Представьте, как ощущают себя англоязычные программисты — вероятно, написание кода на родном языке не слишком и смущает.
Но если кто-то стесняется программирования на русском языке, вот вам быстро написанный пример работы с многомерным массивом на «католической» латинице:

Базы 1С могут быть открыты прямо в браузере. Вот пример бесплатной облачной демонстрационной базы 1С:УправлениеТорговлей, которой могут воспользоваться все желающие: trade.demo.1c.ru/tradebasicedition/

Путь разработчика 1С: высоконагруженные системы или чаепития в бухгалтерии
Плюс 1С в том, что специалист всегда может выбрать себе работу по душе. Кому-то нравится регламентированный учёт; другого драйвит оптимизация высоконагруженных систем и работа с базами данных — и тут тоже огромный пласт работ для 1С разработчика, особенно сейчас, когда всё больше крупных компаний в качестве ERP-системы используют именно 1С. Вы можете разрабатывать системы WMS (управление складом), TMS (управление транспортом) или производства — везде пригодятся навыки специалиста 1С.
Важно понимать, что от вас самих зависит, где и как вы будете работать. Да, программист 1С может быть трудоустроен на заводе, работать с бухгалтером Галиной Павловной и помогать коллегам в освоении компьютера. Но абсолютно также может работать и любой другой IT-специалист. Для многих такой график будет привлекательным: работать неполный день и пить чай с коллегами за зарплату в 3—5 раз выше средней по стране, почему бы и нет?
Если же программист 1С хочет активнее развиваться, то у него есть все возможности для этого. Стек технологий, связанных с 1С, большой. Начиная с привычного всем разработчикам GIT и заканчивая брокерами сообщений и базами данных вроде ClickHouse. Кстати, одинэсники часто знают SQL лучше других, так как частью языка 1С являются запросы, которые представляют собой практически дословный перевод SQL на русский.
Можно углубиться в статью про пути развития специалиста 1С от одного из авторов курса.
Как построен рабочий процесс
В целом работа программиста 1С в крупной компании будет примерно такой же, как у любого другого айтишника.
Есть какой-либо трекер (например, Jira, Redmine или Yandex Tracker) для фиксации задач, которые оцениваются либо руководителем, либо самим программистом.
Объём взаимодействия с пользователем определяется обычно размером организации, в которой работает программист: в крупных компаниях с заказчиками общаются бизнес-аналитики или продакт-менеджеры, которые выясняют все потребности и впоследствии доносят их до разработчика 1С; в более скромных по размерам организациях программистам часто приходится самим выяснять конкретные вопросы по задаче.
Процесс постановки задач достаточно индивидуален для каждой компании: где-то используется скрам с грумингом бэклога, рефайментом и планированием, где-то оценка архитектора/тимлида. В маленьких компаниях, где 1—2 разработчика, задачу может приносить и сам пользователь, после чего специалист покорно идёт работать. Или пить чай, в зависимости от ограниченности времени на его текущие задачи.
Основная среда разработки в 1С называется «Конфигуратор». В этом плане платформа 1С аналогична западному аналогу, системе SAP: среды разработки, отладки и выполнения объединены и поставляются в рамках одной единой платформы.
Сам интерфейс конфигуратора переведён на многие языки. Вот, к примеру, вариант конфигуратора на китайском:

Впрочем, развитие не стоит на месте: сейчас многие технологические компании ведут разработку в IDE под названием EDT — Enterprise Development Tools. Это современная среда разработки, созданная фирмой 1С на основе Eclipse, которая предоставляет многие полезные функции, такие, например, как работа с GIT и контроль качества кода прямо в IDE.
Хороша ли EDT — вопрос спорный, однако сама фирма 1С действительно создаёт свои флагманские продукты в этой среде разработки, и будущее у неё точно есть. EDT выглядит так:

Помимо официальных сред разработки, в экосистеме 1С есть энтузиасты, которые создают замечательные opensource-проекты.
Самый известный подобный проект — OneScript. Это скриптовый язык с синтаксисом 1С, но не привязанный к платформе. С его помощью можно писать код на языке 1С, даже не устанавливая платформу на компьютер: средой разработки в таком случае может выступать, например, всем известный Visual Studio Code или даже простой текстовый редактор. OneScript также используется для организации контуров CI/CD в компаниях, избавляя разработчиков от рутинной работы обновления тестовых баз или выкатки релизов.


Это, пожалуй, наиболее бесполезное применение OneScript, однако надо же чем-то себя занять, пока ваши релизы сами по себе выкатываются на прод по расписанию?
В 1С есть дымовые-, юнит- и интеграционные тесты. Раньше всё это входило в компетенции программиста 1С, однако в последние годы в экосистеме 1С появилась и отдельная специальность тестировщика. Здесь так же, как и везде: есть мануальные тестировщики, есть автоматизаторы, которые пишут автотесты, проверяющие код перед релизом. Для тестирования в 1С используются такие фреймворки, как Vanessa Add и Vanessa Automation, а также не столь известные — например, «Сценарное тестирование» от фирмы 1С.
Есть те, кто в комментариях возразят, что процент компаний, использующих все перечисленные выше технологии, достаточно мал. К сожалению, это правда, но также правда и то, что количество таких компаний постоянно увеличивается. Сейчас уже не только IT-компании развивают технологии 1С, но и крупные retail- и производственные компании активно внедряют все новшества, признав их пользу.
Вместо выводов
Путь в 1С может быть разнообразным. Вы можете стать аналитиком, хорошо разбирающимся в определённой области, или даже методологом, выстраивающим бизнес-процессы большой компании. Можете быть специалистом по интеграции, разработчиком прикладных программ, техническим или функциональным архитектором. Из 1С-разработчиков получаются прекрасные IT-директора, потому что бизнесу на уровне менеджмента уже не нужно знание алгоритмов, зато очень нужно разбираться в общей архитектуре системы и самой специфике бизнеса. В этом как раз обычно очень хороши специалисты 1С.
Как и в любом программировании, в 1С нужны усидчивость и трудолюбие — учиться придётся часто и много. И не только в начале: 1С не стоит на месте в плане технологий, постоянно появляются новые версии конфигураций и библиотек, и за этим желательно следить.
Стоит отметить, что полным интровертам в 1С всё же будет достаточно сложно, потому что эта область очень тесно связана с бизнес-заказчиками. Хотя если вы сразу попадёте в компанию с хорошего уровня аналитиками или продакт-менеджерами, то этой проблемы может и не быть.
Гуманитариям, конечно, будет сложнее, чем людям с математическим образованием. Однако 1С действительно имеет достаточно низкий порог на вход. Освоение этой платформы доступно практически всем.
Итак, каков ваш путь? Выберите сами и удачи!