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

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

Почему 1С-программистов считают «не настоящими» программистами и где этот стереотип ошибается

Разбираем стереотип «1С-программисты — не программисты»: чем отличается разработка на платформе 1С, где миф справедлив, а где нет, и как оценить реальные навыки специалиста.

Спор «1С-программист — это программист или нет» ведётся в профессиональном сообществе давно. С одной стороны, разработчик на платформе 1С:Предприятие пишет код, проектирует структуры данных, оптимизирует запросы и решает алгоритмические задачи. С другой — он работает внутри закрытой платформы с собственным языком, не пишет на C++, Java или Python и часто не использует классические инструменты индустрии: Git, контейнеры, CI/CD.

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

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

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

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

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

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

Чем разработка на 1С действительно отличается от классической

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

Второе отличие — язык. Встроенный язык 1С по синтаксису напоминает BASIC, поддерживает русские идентификаторы и не имеет классов в привычном смысле. В нём нет наследования, интерфейсов, дженериков. Для человека, привыкшего к ООП-языкам, это выглядит примитивно. При этом язык выразителен в своей нише: работа с запросами, датами, табличными частями и объектами метаданных в нём сделана удобно.

Третье отличие — инструментарий. До появления EDT (среды разработки на базе Eclipse) конфигуратор не поддерживал ни нормального контроля версий, ни автоматизированного тестирования, ни статического анализа. Культура инженерных практик в сообществе формировалась медленнее, чем в открытых экосистемах, и до сих пор встречается неравномерно.

АспектКлассическая разработкаРазработка на 1С
АрхитектураПроектируется разработчикомЗадана платформой
Работа с БДSQL, ORM, миграции вручнуюАбстракция через метаданные и запросы
ИнтерфейсОтдельная задача (фронтенд)Генерируется из метаданных
Ключевой навыкАлгоритмы, технологии, стекПредметная область + платформа
Типовая задачаСервис, приложение, библиотекаУчётный механизм, интеграция, отчёт

Где стереотип справедлив: признаки формального специалиста

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

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

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

ЗапросыПишет «на глаз»

Не может объяснить план запроса и причину деградации производительности

ТранзакцииНе задумывается

Не знает, что такое управляемые блокировки и взаимоблокировка

КодКопипаст с форумов

Не способен адаптировать чужой фрагмент под свою задачу

ОбновленияБоится нетиповых конфигураций

Не владеет механизмами расширений и аккуратной доработки

Почему сложная 1С-разработка — это инженерная работа

Возьмём реальные задачи уровня крупного внедрения. Проектирование подсистемы расчёта себестоимости на высоконагруженном производстве требует понимания алгоритмов, структур данных и компромиссов между точностью и производительностью. Оптимизация проведения документов, которые при параллельной работе сотен пользователей вызывают взаимоблокировки, — это задача уровня middle-разработчика в любой экосистеме.

Отдельная область — интеграции. Обмен с внешними системами через REST и очереди сообщений, работа с форматами обмена, гарантии доставки, идемпотентность, разрешение конфликтов данных — всё это классические темы распределённых систем, только реализованные средствами платформы.

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

Самый надёжный способ отличить инженера от «настройщика» — попросить рассказать о самой сложной проблеме производительности, которую он решал. Инженер опишет симптомы, диагностику, гипотезы и итоговое решение. Формальный специалист ответит общими фразами вроде «почистил кэш».
ПЗ
Практическое замечание

Как оценить реальную квалификацию 1С-разработчика

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

Практические задачи на собеседовании должны быть близки к реальным: оптимизировать медленный отчёт, спроектировать структуру метаданных под описанный бизнес-процесс, найти причину взаимоблокировки по описанию симптомов. Ответы покажут и технический уровень, и умение рассуждать.

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

Как проверить компетенцию на собеседовании
  1. 1
    Попросите объяснить устройство регистров накопления и сведений и когда какой применять
  2. 2
    Дайте медленный запрос и попросите найти причину и предложить оптимизацию
  3. 3
    Спросите про транзакции, блокировки и типичные причины взаимоблокировок
  4. 4
    Обсудите, как он организует доработку типовой конфигурации без усложнения обновлений
  5. 5
    Попросите рассказать о реальном сложном проекте: задача, решение, компромиссы

Что делать 1С-специалисту, чтобы не попадать под стереотип

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

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

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

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

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

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

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

Можно ли из 1С-разработки перейти в «классическую» разработку?

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

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

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

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

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

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

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

Устареет ли профессия 1С-разработчика с развитием облачных сервисов?

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