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

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

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

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

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

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

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

Откуда взялся стереотип о «ненастоящих» программистах

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

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

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

Пользователь / консультантНе программирует

Знает учётные процессы и типовую конфигурацию, код не пишет

Внедренец / настройщикМинимум кода

Настраивает типовые механизмы, пишет простые доработки и обработки

РазработчикПолноценная разработка

Проектирует подсистемы, оптимизирует запросы, строит интеграции

Архитектор / ведущий разработчикИнженерная работа

Проектирует решения под нагрузку, отвечает за производительность и отказоустойчивость

Чем платформа 1С отличается от «классической» разработки

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

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

Кроме того, современная экосистема 1С давно вышла за рамки «внутреннего языка»: интеграции через HTTP-сервисы и очереди сообщений, расширения конфигураций, EDT и работа с Git, автоматизированное тестирование, хранилище конфигураций и CI-практики — всё это инструменты, общие для индустрии.

Что реально делает 1С-разработчик уровня инженера

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

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

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

Как выглядит типичная инженерная задача в 1С
  1. 1
    Получить требование и спроектировать изменение метаданных с учётом существующих данных
  2. 2
    Написать код и запросы, проверить их на копии базы под нагрузкой
  3. 3
    Проверить поведение блокировок при параллельной работе пользователей
  4. 4
    Оформить доработку так, чтобы она не мешала будущим обновлениям (расширение, подписки на события)
  5. 5
    Передать изменение в рабочую базу и проконтролировать результат на реальных данных

Почему внутри профессии такой разброс уровней

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

Одновременно существует сегмент крупных внедрений — холдинги, производственные компании, розничные сети, — где требования к разработчику сопоставимы с любым enterprise-направлением. Проблема восприятия в том, что оба сегмента называются одним словом «1С-разработчик», и уровень зарплат, и требования в вакансиях отражают этот разброс.

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

Два полюса профессии

Доработчик типовых конфигураций

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

Разработчик на крупном внедрении

Архитектура подсистем, оптимизация под нагрузку, интеграции, ревью кода. Требования сопоставимы с enterprise-разработкой на других стеках

Как отличить программиста от «настройщика» при найме и в работе

Практический критерий — способность рассуждать о последствиях решений. Программист объяснит, почему он выбрал регистр накопления вместо регистра сведений, как его запрос отработает на больших объёмах и что произойдёт при параллельном проведении. Настройщик ограничится «в типовой так сделано».

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

Третий критерий — владение инструментарием за пределами конфигуратора: запросы и планы запросов на уровне СУБД, журнал регистрации и технологический журнал для диагностики, хранилище или Git для версионирования. Эти навыки отделяют разработку от «колдунства в конфигураторе».

Контрольные точки

Как проверить уровень 1С-разработчика

Объяснение выбора структуры данных
Норма

Обосновывает метаданные через сценарии использования и объёмы данных

Тревожный признак

Выбирает объекты «по привычке», не может объяснить альтернативы

Отношение к производительности
Норма

Спрашивает про объёмы данных и параллельность до написания кода

Тревожный признак

Считает оптимизацию лишней, пока «не начнёт тормозить»

Подход к доработке типовой конфигурации
Норма

Использует расширения и подписки, сохраняет обновляемость

Тревожный признак

Правит типовой код напрямую без фиксации изменений

Диагностика проблем
Норма

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

Тревожный признак

Метод решения — перезапуск сервера и «потом посмотрим»

Как 1С-специалисту вырасти в полноценного инженера

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

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

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

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

Ограничения и риски: где стереотип всё же частично прав

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

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

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

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

Можно ли из 1С-разработчика перейти на другой язык программирования?

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

Правда ли, что 1С-разработчики зарабатывают меньше «обычных» программистов?

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

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

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

Почему разработчики на других языках смотрят на 1С свысока?

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

Что важнее для карьеры: глубина в 1С или широта технологий?

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

Как понять, что задача требует именно разработчика, а не настройщика?

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

Итог

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

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