К статье
Практический материал

Разработка и Конфигурация · 13 мин

Почему специалистов 1С не считают программистами

Почему 1С-специалистов часто не считают программистами: чем занимается 1С-разработчик, какие навыки нужны и как перейти из 1С в классическую разработку.

Фразу «1С — это не программисты» можно услышать и от разработчиков на C++ или Java, и от самих 1С-специалистов — иногда с самоиронией, иногда с обидой. За ней стоит реальное различие в содержании работы: значительная часть специалистов по 1С не пишет код в классическом понимании, а настраивает типовые конфигурации, обновляет их, разбирает ошибки учёта и консультирует пользователей. При этом внутри профессии есть и те, кто ежедневно проектирует архитектуру, пишет сложные запросы и оптимизирует производительность — и отрицать их квалификацию как разработчиков некорректно.

Путаница возникает из-за того, что слово «1С-программист» объединяет несколько разных ролей: внедренца, консультанта, администратора, разработчика и архитектора. Внешний наблюдатель видит человека, который «что-то делает в 1С», и не различает, настраивает тот отчёт через конструктор или пишет механизм обмена данными между базами. Отсюда и стереотип.

Разобраться в вопросе полезно обеим сторонам: тем, кто выбирает профессию или думает о переходе в 1С, и тем, кто работает в 1С и хочет понять, как его навыки соотносятся с рынком разработки в целом. Ниже — конкретный разбор: чем отличается работа, какие навыки реально программистские, а какие — нет, и как выстроить развитие в любую сторону.

Откуда взялся стереотип «1С — это не программирование»

Главная причина — низкий порог входа в профессию. Чтобы начать зарабатывать на 1С, достаточно освоить типовую конфигурацию на уровне пользователя, научиться обновлять базы и делать простые доработки через конструкторы. Многие приходят в профессию из бухгалтерии, экономики или смежных областей, не имея технического образования, и успешно работают годами, почти не открывая модуль с кодом. Для классического разработчика, который начинал с алгоритмов и структур данных, это выглядит как «не настоящее программирование».

Вторая причина — визуальный характер платформы. Значительная часть работы в конфигураторе выполняется мышкой: добавить реквизит в справочник, нарисовать форму, собрать отчёт в конструкторе СКД. Со стороны это напоминает работу в конструкторе сайтов, а не в IDE, хотя за каждым таким действием стоит понимание модели метаданных и поведения платформы.

Третья причина — специфика встроенного языка. Язык 1С имеет русскоязычный синтаксис, однопоточную модель исполнения на уровне прикладного кода и не поддерживает ряд парадигм, привычных в «больших» языках: нет классов в классическом смысле, наследования, обобщённого программирования. Для разработчика на C# или Java это выглядит как упрощённый скриптовый инструмент.

Стереотип подпитывается и рынком: вакансии «1С-программист» часто по факту оказываются вакансиями «внедренец-консультант», где код занимает 10–20% времени. Кандидатам стоит внимательно читать описание задач, а не только название позиции.
ПЗ
Практическое замечание

Чем на самом деле занимаются разные роли в экосистеме 1С

Чтобы разговор был предметным, роли нужно разделить. Одна и та же должность «специалист 1С» в разных компаниях может означать принципиально разную работу.

  • Внедренец / консультант — настраивает типовую конфигурацию под процессы компании, обучает пользователей, переносит данные, пишет инструкции. Код почти не пишет.
  • Администратор 1С — отвечает за серверы, СУБД, обновления, резервное копирование, права доступа. Это инфраструктурная роль, ближе к системному администрированию.
  • Разработчик 1С — создаёт и дорабатывает объекты метаданных, пишет код на встроенном языке, строит запросы, проектирует обмены и интеграции. Это полноценная инженерная роль.
  • Архитектор / ведущий разработчик — проектирует структуру подсистем, следит за производительностью и стандартами разработки, проводит код-ревью.

Когда говорят «1С — не программисты», обычно имеют в виду первые две роли, которые по численности на рынке действительно значительны. Но обобщение на всю профессию некорректно: разработчик, который оптимизирует запрос, сканирующий таблицу на миллионы записей, решает ту же инженерную задачу, что и backend-разработчик в любой другой экосистеме.

Что в работе 1С-разработчика — настоящее программирование

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

Встроенный язык 1С — полноценный язык программирования с процедурами, функциями, коллекциями (массивы, структуры, соответствия, таблицы значений), обработкой исключений и модульной структурой. На нём пишутся сложные алгоритмы: расчёт себестоимости, распределение затрат, планирование производства, механизмы обмена с контролем целостности пакетов.

Отдельный пласт — язык запросов 1С, близкий к SQL. Работа с запросами требует понимания соединений таблиц, группировок, виртуальных таблиц и планов выполнения. Оптимизация тяжёлого отчёта — задача, где без знания принципов работы СУБД не обойтись.

Есть ли написание кодаКлючевой признак

Роль предполагает ежедневную работу в модулях: процедуры, функции, обработчики событий

Проектирование объектовПризнак разработки

Специалист сам создаёт справочники, документы, регистры и продумывает их связи

Работа с запросамиПризнак разработки

Требуется писать и оптимизировать запросы, понимать виртуальные таблицы

Только настройка типовойНе разработка

Работа ограничена настройкой прав, обновлением и консультированием пользователей

Чем встроенный язык 1С отличается от «классических» языков

Ограничения платформы реальны, и их честно стоит перечислить. В 1С нет объектно-ориентированного программирования в привычном виде: прикладные объекты создаются через метаданные, а не через классы и наследование. Нет обобщений, лямбда-выражений в полном смысле, многопоточности в прикладном коде. Экосистема библиотек ограничена — многие вещи, доступные в Python или .NET «из коробки», приходится реализовывать самостоятельно или через внешние компоненты.

С другой стороны, платформа берёт на себя огромный пласт инфраструктурной работы: ORM, веб-клиент, механизмы прав доступа, журналирование, планы обмена. Разработчик 1С не пишет эти вещи руками — он концентрируется на бизнес-логике. Это не «упрощение», а другой уровень абстракции, сопоставимый с фреймворками в других экосистемах.

Пример кода на встроенном языке

Типичная задача — обработка табличной части документа с расчётом суммы:

Для Каждого СтрокаТовара Из Объект.Товары Цикл

СтрокаТовара.Сумма = СтрокаТовара.Количество * СтрокаТовара.Цена;

СтрокаТовара.СуммаНДС = СтрокаТовара.Сумма * СтавкаНДС / 100;

КонецЦикла;

Синтаксис простой, но реальная сложность кроется не в нём, а в понимании того, когда этот код выполнится (клиент или сервер), как он повлияет на проведение документа и не сломает ли существующие движения по регистрам.

Почему предметная область важнее синтаксиса

Главная особенность профессии 1С-разработчика — требование глубоко знать предметную область: бухгалтерский и налоговый учёт, расчёт зарплаты, складской и производственный учёт. Ошибка в коде классического приложения приводит к багу; ошибка в коде 1С может привести к неверной отчётности в налоговую, искажённой себестоимости или неправильно начисленной зарплате — то есть к прямым финансовым и юридическим последствиям для компании.

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

Как 1С-разработчику усилить «программистские» компетенции

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

Такой набор делает специалиста востребованным и внутри экосистемы 1С (позиции ведущего разработчика и архитектора), и за её пределами, если возникнет желание сменить стек.

Типичные ошибки самооценки
01
Считать, что знание типовой конфигурации равно умению программировать — при смене работы это приводит к завышенным ожиданиям и провалу на техническом собеседовании
02
Игнорировать основы СУБД и алгоритмов, потому что «платформа всё делает сама» — при первой проблеме производительности такой специалист беспомощен
03
Учить только синтаксис встроенного языка без предметной области — без понимания учёта код формально верен, но бизнес-задачу не решает
04
Считать 1С «тупиковой» профессией и не развиваться — в результате через годы специалист остаётся на уровне обновления типовых баз

Как переходить между 1С и классической разработкой

Переход в обе стороны возможен, но требует восполнения разных пробелов. Разработчику из 1С, идущему в backend, нужно подтянуть: один мейнстрим-язык, ООП и паттерны проектирования, работу с Git в команде, HTTP и REST на практике, тестирование кода. Плюсом будет опыт оптимизации запросов и понимание транзакций — эти навыки переносятся напрямую.

Разработчику из другой экосистемы, приходящему в 1С, главный барьер — не язык, а предметная область и специфика платформы: модель метаданных, разделение клиентского и серверного контекста, управляемые формы, особенности проведения документов. Техническая база даёт быстрый старт, но без изучения учётных механизмов остаётся риск делать «правильный код, делающий неправильные вещи».

Маршрут решения

Как выбрать направление

Вам интересна бизнес-логика, учёт и быстрый видимый результат для реальных компанийРазвивайтесь в 1С-разработке, целясь в позиции ведущего разработчика и архитектора
Вам интересны алгоритмы, высокие нагрузки, распределённые системы и инфраструктураРассматривайте переход в классическую backend-разработку, начав с одного языка общего назначения
Хотите максимальную востребованность внутри 1СКомбинируйте: глубокое знание платформы плюс интеграции (HTTP, REST, внешние сервисы) плюс основы СУБД

Как оценить вакансию и свою позицию на рынке

При поиске работы ориентируйтесь не на название должности, а на содержание задач. Признаки настоящей разработки в вакансии: упоминание доработки нестандартных механизмов, интеграций, оптимизации производительности, работы с хранилищем или EDT, требования к знанию запросов и СКД на уровне ручной настройки. Признаки роли внедренца: акцент на обновления типовых конфигураций, консультирование пользователей, перенос данных, «знание типовых конфигураций на уровне пользователя».

Для самопроверки полезно честно ответить на вопросы: могу ли я спроектировать с нуля подсистему учёта (метаданные, проведение, отчёты)? Могу ли найти причину медленного запроса? Могу ли реализовать обмен с внешней системой через HTTP? Если да — вы разработчик, и стереотипы вас не касаются. Если пока нет — это конкретные точки роста, а не приговор.

Итог

Что важно запомнить

«1С — не программисты» — стереотип, выросший из того, что многие роли в экосистеме (внедрение, консалтинг, администрирование) не требуют кода. Настоящий 1С-разработчик проектирует модель данных, пишет бизнес-логику и оптимизирует запросы — это полноценная инженерная работа. Ценность специалиста определяется не ярлыком, а глубиной навыков: платформа, СУБД, интеграции и предметная область.

Частые вопросы

Можно ли работать в 1С, совсем не умея программировать?

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

Сложно ли перейти из 1С в «обычное» программирование?

Переход реален, но требует системной подготовки: один мейнстрим-язык, ООП, Git, HTTP/REST, основы тестирования. Опыт работы с запросами, транзакциями и бизнес-логикой переносится хорошо и часто становится преимуществом на позициях backend-разработки в enterprise-сегменте.

Правда ли, что язык 1С «не настоящий» из-за русского синтаксиса?

Нет. Язык поддерживает и русский, и английский синтаксис, а его выразительность сопоставима с другими прикладными языками: есть коллекции, обработка исключений, модульность. Ограничения касаются парадигм (нет классического ООП), а не «настоящести» языка.

Что важнее для 1С-разработчика: знать платформу или знать бухгалтерию?

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

Как понять на собеседовании, что вакансия — про разработку, а не про обновления?

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

Нужно ли высшее техническое образование для 1С-разработки?

Формально — нет, рынок оценивает навыки и опыт, а не диплом. Однако база, которую даёт техническое образование (алгоритмы, СУБД, сети), заметно ускоряет рост до позиций ведущего разработчика и архитектора, поэтому пробелы стоит закрывать самообразованием.