Разработка и Конфигурация · 12 мин
Почему 1С-специалистов часто не считают программистами
Почему 1С-разработчиков часто не считают «настоящими» программистами: причины стереотипа, чем платформа отличается от классической разработки и как оценивать компетенции.
В профессиональном сообществе давно существует устойчивый стереотип: специалист по 1С — это «не настоящий программист». Его повторяют и разработчики на других языках, и сами 1С-ники в самоиронии, и работодатели, формируя вакансии с заниженными требованиями. При этом на практике внутри профессии есть огромный разброс: от пользователя, который умеет только проводить документы, до инженера, проектирующего высоконагруженные учётные системы на десятки тысяч пользователей.
Стереотип возник не на пустом месте, но и не отражает реальность целиком. Он сложился из специфики платформы, порога входа в профессию и исторических особенностей рынка. Разобраться в вопросе полезно и тем, кто выбирает карьерный путь, и руководителям, которые нанимают 1С-специалистов, и самим разработчикам, планирующим развитие.
Ниже разобраны причины стереотипа, реальное содержание работы 1С-разработчика и критерии, по которым можно отличить инженерную работу от рутинного администрирования.
Откуда взялся стереотип о «ненастоящих» программистах
Главная причина — массовость платформы и низкий порог входа. Встроенный язык 1С прощает многое: нет строгой типизации на старте, не нужно управлять памятью, конфигуратор сам генерирует формы и структуру базы данных. Человек без профильного образования может за несколько недель научиться добавлять реквизиты и писать простые обработки. Из-за этого в профессию приходит много людей без фундаментальной подготовки, и по ним судят всё направление.
Вторая причина — путаница ролей. Слово «1С-ник» в обиходе означает кого угодно: бухгалтера, который хорошо знает программу, внедренца, настраивающего типовую конфигурацию, консультанта по учёту, администратора баз и собственно разработчика. Из этих ролей программированием занимается только последняя, но внешнему наблюдателю границы не видны.
Третья причина — прикладной характер задач. 1С-разработчик решает задачи учёта, а не «алгоритмические»: проведение документов, расчёт остатков, формирование отчётов. Со стороны это выглядит как «кручение готовых механизмов», хотя за каждым механизмом стоят нетривиальные решения по блокировкам, транзакциям и производительности.
Знает учётные процессы и типовую конфигурацию, код не пишет
Настраивает типовые механизмы, пишет простые доработки и обработки
Проектирует подсистемы, оптимизирует запросы, строит интеграции
Проектирует решения под нагрузку, отвечает за производительность и отказоустойчивость
Чем платформа 1С отличается от «классической» разработки
1С — это не просто язык, а полноценная платформа со своей моделью данных, встроенным языком запросов, системой компоновки данных, механизмами прав доступа и средствами кластеризации. Разработчик работает на более высоком уровне абстракции: он не пишет ORM, не настраивает веб-сервер и не реализует авторизацию с нуля — платформа даёт это из коробки.
Именно высокий уровень абстракции и создаёт ощущение «примитивности». Но обратная сторона — разработчик обязан глубоко понимать, как платформа исполняет его код: какие запросы генерируются к СУБД, где возникают управляемые блокировки, почему проведение документа вдруг стало занимать минуты вместо секунд. Ошибка на этом уровне обходится дороже, чем в типичном прикладном коде, потому что страдает работа всей учётной системы компании.
Кроме того, современная экосистема 1С давно вышла за рамки «внутреннего языка»: интеграции через HTTP-сервисы и очереди сообщений, расширения конфигураций, EDT и работа с Git, автоматизированное тестирование, хранилище конфигураций и CI-практики — всё это инструменты, общие для индустрии.
Что реально делает 1С-разработчик уровня инженера
На зрелых проектах содержание работы мало отличается от любой enterprise-разработки. Типичные задачи: проектирование структуры метаданных под требования бизнеса, разработка механизмов обмена с внешними системами, оптимизация запросов и регистров, рефакторинг legacy-кода типовых конфигураций, расследование взаимоблокировок и деградации производительности.
Отдельный пласт — работа с нагрузкой. Когда в базе одновременно работают сотни пользователей и ежедневно проводятся десятки тысяч документов, разработчик обязан понимать индексы СУБД, планы запросов, уровни изоляции транзакций и очереди фоновых заданий. Это классические инженерные компетенции, просто приложенные к специфической платформе.
Ещё одна зона — сопровождение нефункциональных требований: обновление сильно доработанных конфигураций без потери доработок, организация тестовых контуров, контроль качества кода, ревью. Всё это требует дисциплины, которую в индустрии принято называть инженерной культурой.
- 1Получить требование и спроектировать изменение метаданных с учётом существующих данных
- 2Написать код и запросы, проверить их на копии базы под нагрузкой
- 3Проверить поведение блокировок при параллельной работе пользователей
- 4Оформить доработку так, чтобы она не мешала будущим обновлениям (расширение, подписки на события)
- 5Передать изменение в рабочую базу и проконтролировать результат на реальных данных
Почему внутри профессии такой разброс уровней
Рынок 1С исторически вырос из автоматизации малого бизнеса, где заказчику нужно было «быстро и недорого». Это сформировало огромный сегмент задач, не требующих глубокой разработки: добавить печатную форму, поправить отчёт, перенести данные. Такие задачи выполняют специалисты начального уровня, и их доля на рынке велика.
Одновременно существует сегмент крупных внедрений — холдинги, производственные компании, розничные сети, — где требования к разработчику сопоставимы с любым enterprise-направлением. Проблема восприятия в том, что оба сегмента называются одним словом «1С-разработчик», и уровень зарплат, и требования в вакансиях отражают этот разброс.
Дополнительный фактор — сертификация. Наличие сертификата «1С:Специалист» подтверждает знание платформы, но не гарантирует умение проектировать решения. Поэтому оценивать компетентность по формальным признакам — путь к ошибкам и в найме, и в самооценке.
Два полюса профессии
Печатные формы, простые отчёты, переносы данных. Низкий порог входа, но ограниченный рост без развития инженерных навыков
Архитектура подсистем, оптимизация под нагрузку, интеграции, ревью кода. Требования сопоставимы с enterprise-разработкой на других стеках
Как отличить программиста от «настройщика» при найме и в работе
Практический критерий — способность рассуждать о последствиях решений. Программист объяснит, почему он выбрал регистр накопления вместо регистра сведений, как его запрос отработает на больших объёмах и что произойдёт при параллельном проведении. Настройщик ограничится «в типовой так сделано».
Второй критерий — отношение к сопровождению. Инженер думает об обновляемости, читаемости кода и тестировании; исполнитель без инженерной базы решает задачу «здесь и сейчас», оставляя после себя прямые правки типового кода, которые сломаются при первом обновлении.
Третий критерий — владение инструментарием за пределами конфигуратора: запросы и планы запросов на уровне СУБД, журнал регистрации и технологический журнал для диагностики, хранилище или Git для версионирования. Эти навыки отделяют разработку от «колдунства в конфигураторе».
Как проверить уровень 1С-разработчика
Обосновывает метаданные через сценарии использования и объёмы данных
Выбирает объекты «по привычке», не может объяснить альтернативы
Спрашивает про объёмы данных и параллельность до написания кода
Считает оптимизацию лишней, пока «не начнёт тормозить»
Использует расширения и подписки, сохраняет обновляемость
Правит типовой код напрямую без фиксации изменений
Использует технологический журнал, планы запросов, замеры
Метод решения — перезапуск сервера и «потом посмотрим»
Как 1С-специалисту вырасти в полноценного инженера
Первый шаг — фундамент вне платформы: основы реляционных СУБД, транзакции и блокировки, базовые структуры данных и алгоритмическая сложность. Эти знания напрямую переносятся на работу с запросами и регистрами и сразу меняют качество решений.
Второй шаг — инженерные практики: версионирование, код-ревью, автоматизированные проверки качества кода, осмысленные сообщения об ошибках и журналирование. Даже на небольшом проекте эти привычки формируют профессиональный стандарт.
Третий шаг — широта: опыт интеграций с внешними системами, знакомство с архитектурными подходами (очереди, сервисная модель, разделение контуров), чтение чужого кода в типовых конфигурациях как источника эталонных решений. Именно этот багаж позволяет при желании перейти на другой стек — язык меняется, инженерное мышление остаётся.
Ограничения и риски: где стереотип всё же частично прав
Честности ради стоит признать ограничения направления. Платформа закрыта и привязана к одному вендору: значительная часть накопленной экспертизы не переносится на другие технологии напрямую. Рынок вакансий географически и отраслево уже, чем у универсальных языков, а потолок сложности задач на небольших проектах достигается быстро.
Есть и риск профессиональной деградации: специалист, годами выполняющий однотипные доработки без развития, действительно перестаёт быть разработчиком в инженерном смысле. Стереотип опасен тем, что становится самосбывающимся пророчеством — если окружение считает работу «не программированием», снижаются и требования к себе.
Вывод из этого практический: принадлежность к профессии программистов определяется не названием платформы, а содержанием ежедневной работы — проектированием, ответственностью за качество и производительность, инженерной дисциплиной.
Частые вопросы
Можно ли из 1С-разработчика перейти на другой язык программирования?
Да, и такие переходы происходят регулярно. Переносятся знания СУБД, транзакций, интеграций и предметной области учёта. Основной объём доучивания — синтаксис и экосистема нового языка, алгоритмическая база и инженерные практики, если они не были освоены раньше. Проще всего переход даётся тем, кто работал с интеграциями и оптимизацией, а не только с прикладными доработками.
Правда ли, что 1С-разработчики зарабатывают меньше «обычных» программистов?
Разброс доходов внутри 1С-направления очень велик. Начальный сегмент (простые доработки) действительно оплачивается ниже среднего по индустрии, но разработчики на крупных внедрениях, архитекторы и специалисты по производительности получают вознаграждение, сопоставимое с enterprise-разработкой на других стеках. Разница определяется уровнем задач, а не самой платформой.
Нужно ли высшее техническое образование для работы в 1С?
Формально — нет, значительная часть специалистов пришла из смежных областей: учёта, экономики, внедрения. Однако фундаментальные знания (СУБД, алгоритмы, сети) придётся освоить в любом случае — вопрос лишь в том, получены они в вузе или самостоятельно. Без этой базы потолок развития достигается быстро.
Почему разработчики на других языках смотрят на 1С свысока?
Причины преимущественно социальные: закрытость платформы, русскоязычный синтаксис встроенного языка, прикладная «бухгалтерская» репутация и большая доля низкоквалифицированных задач на рынке. Технических оснований считать работу на высокоуровневой платформе «не программированием» нет — по той же логике «не программистами» были бы и разработчики на фреймворках, скрывающих низкоуровневые детали.
Что важнее для карьеры: глубина в 1С или широта технологий?
Зависит от цели. Для роста внутри экосистемы 1С решающее значение имеет глубина: производительность, архитектура, знание типовых решений. Для страховки и долгосрочной мобильности полезна широта — общие инженерные навыки и знакомство с другими стеками. Практически устойчивый вариант — глубокая экспертиза в платформе плюс фундамент, переносимый на любую технологию.
Как понять, что задача требует именно разработчика, а не настройщика?
Признаки «разработческой» задачи: нужно проектировать новые объекты метаданных, требования затрагивают производительность или параллельную работу, требуется интеграция с внешней системой, изменение влияет на существующие данные и обновляемость конфигурации. Если задача сводится к настройке существующих механизмов типовой конфигурации без написания кода — достаточно консультанта или внедренца.
Что важно запомнить
Стереотип «1С — не программирование» вырос из низкого порога входа и смешения ролей, но не выдерживает проверки содержанием работы: проектирование, оптимизация под нагрузку и интеграции — это инженерные задачи. Уровень специалиста определяется не платформой, а глубиной понимания СУБД, блокировок, архитектуры и дисциплиной разработки.