Разработка и Конфигурация · 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Попросите объяснить устройство регистров накопления и сведений и когда какой применять
- 2Дайте медленный запрос и попросите найти причину и предложить оптимизацию
- 3Спросите про транзакции, блокировки и типичные причины взаимоблокировок
- 4Обсудите, как он организует доработку типовой конфигурации без усложнения обновлений
- 5Попросите рассказать о реальном сложном проекте: задача, решение, компромиссы
Что делать 1С-специалисту, чтобы не попадать под стереотип
Первый шаг — закрыть фундаментальные пробелы. Основы реляционных баз данных, принципы работы индексов, транзакции и уровни изоляции, базовые алгоритмы и структуры данных — это общий фундамент, который платформа не отменяет, а скрывает. Понимание того, что происходит «под капотом», резко повышает качество решений.
Второй шаг — освоить инженерный инструментарий: EDT и Git, практики код-ревью, автоматизированное тестирование хотя бы для критичных механизмов, регламентные проверки качества кода. Это не только повышает профессиональный уровень, но и делает навыки переносимыми — при желании перейти в другую экосистему фундамент останется с вами.
Третий шаг — развивать смежные компетенции: SQL на уровне конкретной СУБД, основы интеграционных протоколов, знакомство с другими языками программирования. Специалист, который понимает и платформу, и мир за её пределами, перестаёт быть «заложником платформы» — а это и есть главная претензия, стоящая за стереотипом.
Что важно запомнить
Противопоставление «1С-программист vs настоящий программист» — это стереотип, выросший из низкого порога входа и закрытости экосистемы. Профессия определяется не языком, а глубиной понимания: специалист, владеющий фундаментом, инженерными практиками и предметной областью, остаётся полноценным разработчиком независимо от платформы.
Частые вопросы
Можно ли из 1С-разработки перейти в «классическую» разработку?
Да, и такие переходы случаются регулярно. Проще всего тем, кто уже владеет фундаментом: базами данных, SQL, пониманием архитектуры и инженерными практиками. Основной объём доучивания — конкретный язык, фреймворки и экосистема. Опыт проектирования прикладных решений и работы с требованиями переносится полностью.
Правда ли, что встроенный язык 1С — это «не настоящий» язык программирования?
Нет. Это полноценный интерпретируемый язык со своей системой типов, механизмом обработки исключений, коллекциями и богатой библиотекой. Ограничения у него есть — нет классического ООП и статической типизации, — но это делает его специализированным, а не «ненастоящим». По той же логике «ненастоящим» пришлось бы признать и SQL.
Почему зарплаты 1С-разработчиков сопоставимы с зарплатами в других стеках?
Потому что ценность определяется задачами и дефицитом квалифицированных кадров, а не модностью технологии. Сильный специалист, способный проектировать учётные механизмы и оптимизировать высоконагруженные системы, редок на рынке, и бизнес готов платить за надёжность критичных процессов: расчёта зарплаты, налогов, себестоимости.
Нужно ли 1С-разработчику высшее техническое образование?
Формально — нет, в профессии много самоучек и людей из смежных областей (бухгалтерии, экономики). Но фундаментальные знания, которые даёт техническое образование, — алгоритмы, базы данных, архитектура — придётся освоить в любом случае, если цель уровень выше типовых доработок. Вопрос лишь в форме получения этих знаний.
Устареет ли профессия 1С-разработчика с развитием облачных сервисов?
Радикальных признаков этого нет: учётные системы глубоко встроены в процессы компаний, а миграция на другие решения дорога и рискованна. Меняется скорее форма работы — растёт роль интеграций, облачных режимов работы и инженерных практик. Специалисты, которые развиваются вместе с платформой, остаются востребованными.