Разработка и Конфигурация · 12 мин
Программист 1С уровня middle: кто это и что он должен уметь
Кто такой middle-разработчик 1С: требуемые навыки, типовые задачи, отличия от junior и senior, как проверить уровень и вырасти до middle.
Middle-программист 1С — это разработчик, который самостоятельно ведёт задачи от постановки до внедрения: дорабатывает типовые конфигурации, пишет собственные подсистемы, разбирается в чужом коде и отвечает за работоспособность решения в продуктивной базе. В отличие от junior, ему не нужен постоянный контроль наставника, а от senior его отличает то, что он пока не проектирует архитектуру крупных решений и не выбирает технологическую стратегию.
Градация junior — middle — senior пришла в 1С из общей практики ИТ-рынка и не имеет жёсткого стандарта. В разных компаниях границы смещаются: где-то middle — это разработчик с двумя годами опыта на поддержке, где-то — специалист, способный вести проект внедрения целиком. Поэтому корректнее говорить не о сроке работы, а о наборе умений и уровне самостоятельности.
Тема важна обеим сторонам рынка. Соискателю нужно понимать, какие компетенции подтвердить на собеседовании, чтобы претендовать на middle-позицию и соответствующую оплату. Работодателю — как проверить уровень кандидата и не нанять «условного junior» на задачи, где ошибка в коде приведёт к повреждению учётных данных.
Что отличает middle от junior и senior
Junior-разработчик решает локальные задачи по подробному техническому заданию: поправить печатную форму, добавить реквизит в документ, написать простой отчёт. Его код обязательно проходит ревью, а доступ к продуктивной базе, как правило, ограничен. Он знает синтаксис встроенного языка, но плохо ориентируется в типовых механизмах и боится «сломать» конфигурацию.
Middle работает с задачами, сформулированными на языке бизнеса: «нужно автоматизировать расчёт бонусов менеджерам». Он сам уточняет требования, выбирает способ реализации, оценивает влияние доработки на смежные подсистемы и сопровождает изменение до продуктивной среды. Senior, в свою очередь, проектирует архитектуру: решает, что выносить в расширение, а что — в основную конфигурацию, как организовать обмены между базами, как обеспечить производительность при росте объёмов данных.
Сравнение уровней разработчиков 1С
Работает по детальному ТЗ, требует ревью кода, знает базовый синтаксис и простые объекты метаданных.
Самостоятельно ведёт задачи полного цикла, дорабатывает типовые конфигурации, понимает учётные механизмы и последствия изменений.
Проектирует архитектуру решений, оптимизирует производительность, выстраивает интеграции и стандарты разработки в команде.
Какие технические навыки обязательны для middle
Фундамент — уверенное знание встроенного языка 1С и объектной модели платформы: справочники, документы, регистры сведений и накопления, планы счетов и видов расчёта. Middle понимает, чем регистр накопления отличается от регистра сведений с точки зрения хранения и производительности, когда нужен подчинённый справочник, а когда — табличная часть.
Второй обязательный блок — язык запросов. Middle-разработчик пишет запросы с соединениями, группировками, виртуальными таблицами и понимает, почему запрос в цикле — это проблема. Он умеет пользоваться консолью запросов, анализировать план и видеть типовые причины медленной выборки: отсутствие индекса по полю отбора, соединение по вычисляемому выражению, выборка лишних полей.
Третий блок — система компоновки данных. Отчёты на СКД — основной инструмент аналитики в 1С, и middle должен уметь создавать отчёты без единой строки кода, настраивать варианты, ресурсы, параметры и отборы, а при необходимости — программно формировать результат и дорабатывать схему.
Модули объектов, менеджеров, общие модули, директивы компиляции
Понимание плана запроса и типовых причин медленной работы
Схема компоновки, варианты, программное формирование
Подписки на события, переопределяемые модули, расширения
Планы обмена, правила конвертации, веб-сервисы на базовом уровне
Работа с типовыми конфигурациями и расширениями
Большая часть задач middle связана не с написанием конфигурации с нуля, а с доработкой типовых решений: «Управление торговлей», «ERP», «Зарплата и управление персоналом», «Бухгалтерия предприятия». Здесь ключевой навык — умение вносить изменения так, чтобы конфигурация осталась обновляемой. Это значит: минимум правок в типовых объектах, максимум через расширения, подписки на события и переопределяемые процедуры библиотеки стандартных подсистем.
Middle понимает разницу между полной поддержкой, частичным снятием с поддержки и расширением. Он знает, что прямая правка типового модуля сделает обновление ручным и трудоёмким, поэтому сначала проверяет, нельзя ли решить задачу через расширение. При этом он понимает и ограничения расширений: не все объекты и методы доступны для переопределения, а заимствованные формы чувствительны к обновлениям поставщика.
Отдельный навык — чтение чужого кода. Типовые конфигурации содержат сотни тысяч строк, и умение быстро найти точку входа через отладчик, трассировать вызов и понять логику механизма отличает middle от разработчика, который «ищет по тексту модуля».
Типовые задачи middle-разработчика на практике
Рабочий день middle обычно состоит из задач нескольких классов. Первый класс — доработки по заявкам пользователей: новые отчёты, печатные формы, дополнительные проверки при проведении документов, автоматическое заполнение реквизитов. Здесь важно не только написать код, но и корректно встроиться в существующий процесс, не нарушив права доступа и последовательность документов.
Второй класс — обмены и интеграции: настройка синхронизации между «Управлением торговлей» и «Бухгалтерией», загрузка прайсов и заказов, обмен с сайтом или CRM, простые HTTP- и веб-сервисы. Middle не обязан быть экспертом по интеграционным шинам, но должен уметь отладить типовой обмен, найти причину незагруженного объекта и написать простую выгрузку в XML или JSON.
Третий класс — поддержка и диагностика: разбор ошибок пользователей, поиск причин расхождений в отчётах, анализ медленно работающих операций. Именно здесь проявляется зрелость разработчика: умение воспроизвести проблему на копии, локализовать её через отладчик и журнал регистрации, предложить исправление, которое не сломает смежные сценарии.
- 1Уточнить требование у постановщика и зафиксировать ожидаемый результат
- 2Изучить типовой механизм и выбрать способ реализации с минимальным вмешательством в типовой код
- 3Реализовать доработку на копии базы, покрыв основной и граничные сценарии
- 4Проверить результат на тестовых данных вместе с постановщиком
- 5Перенести изменение в продуктив в согласованное окно, при возможности — через расширение
- 6Проконтролировать работу после переноса и описать изменение для пользователей
Как проверить, что разработчик действительно middle
На собеседовании уровень проверяется не вопросами «знаете ли вы язык запросов», а практическими задачами и разбором опыта. Характерные признаки middle: кандидат объясняет, почему выбрал конкретное решение, называет альтернативы и их цену, помнит случаи, когда его доработка конфликтовала с типовым механизмом, и рассказывает, как это разрешил.
Полезные практические задания: написать запрос с виртуальной таблицей и объяснить его план; найти ошибку в фрагменте кода с запросом в цикле; предложить способ добавить проверку при проведении документа, не правя типовой модуль; объяснить, что произойдёт с обновлением конфигурации при разных вариантах доработки. Разработчик уровня junior обычно даёт правильный, но одномерный ответ, middle — рассуждает о последствиях.
Как отличить middle на собеседовании
Сначала рассматривает расширение или подписку на событие
Сразу предлагает править типовой модуль
Понимает виртуальные таблицы и влияние индексов
Пишет запросы в цикле и не видит в этом проблемы
Проверяет доработку на копии и граничных сценариях
Считает достаточным, что код запустился без ошибок
Использует отладчик, журнал регистрации, воспроизводит проблему
Исправляет методом проб и ошибок без локализации причины
Как вырасти с junior до middle
Переход на уровень middle происходит не по календарю, а через накопление самостоятельно закрытых задач. Практический путь выглядит так: сначала разработчик берёт задачи без детального ТЗ и учится сам уточнять требования, затем — задачи, затрагивающие несколько подсистем, затем — сопровождение изменений в продуктиве. Каждый этап добавляет ответственности и уменьшает потребность в ревью.
Ускоряют рост три практики. Первая — систематическое чтение кода типовых конфигураций и библиотеки стандартных подсистем: это главный источник «правильных» паттернов разработки на платформе. Вторая — ведение задач до конца, включая общение с пользователями: понимание учётных процессов отличает программиста 1С от кодера. Третья — разбор инцидентов: каждая ошибка в продуктиве, разобранная до первопричины, даёт больше опыта, чем десяток учебных примеров.
Сертификаты «1С:Профессионал» и «1С:Специалист» не заменяют опыт, но помогают структурировать знания и подтверждают базовый уровень при устройстве на работу. Для middle позиции работодатель в первую очередь смотрит на портфолио решённых задач и поведение на техническом интервью.
Работодатели чаще всего недовольны не нехваткой знаний у middle, а коммуникацией: разработчик молча делает задачу, не уточняет требования и не сообщает о рисках. Умение задать три уточняющих вопроса до начала работы экономит больше времени, чем любой технический навык.
Частые вопросы
Сколько лет опыта нужно для позиции middle в 1С?
Жёсткого срока нет: у разных работодателей планка колеблется примерно от полутора до четырёх лет практики. Решающим является не стаж, а способность самостоятельно вести задачи полного цикла — от уточнения требования до внедрения в продуктив. Бывают разработчики с пятью годами опыта на уровне junior, если всё это время они выполняли только простые правки по готовому ТЗ.
Обязательно ли middle-разработчику 1С знать другие языки программирования?
Нет, глубокое знание платформы 1С само по себе достаточно для позиции middle. Однако базовое понимание SQL, форматов XML и JSON, протокола HTTP заметно расширяет круг доступных задач — особенно в части интеграций и обменов данными, которые составляют значительную долю работы.
Чем middle в 1С отличается от middle в «классической» разработке?
Главное отличие — предметная область. Программист 1С обязан понимать учётные механизмы: проведение документов, регистры, закрытие периода, взаиморасчёты. Ошибка в его коде влияет не на интерфейс приложения, а на бухгалтерские и управленческие данные компании, поэтому требования к аккуратности и тестированию выше.
Нужен ли сертификат «1С:Специалист» для трудоустройства на middle?
Формально — нет, большинство работодателей оценивает практические навыки на собеседовании и тестовых заданиях. При этом подготовка к сертификации помогает систематизировать знания по платформе, а сам сертификат служит дополнительным подтверждением уровня, особенно при отсутствии длинного послужного списка.
Можно ли стать middle, работая только на поддержке одной базы?
Можно, если круг задач широкий: доработки, отчёты, обмены, разбор инцидентов. Если же работа сводится к мелким правкам печатных форм, роста не произойдёт — в этом случае стоит просить более сложные задачи или рассматривать проектную работу, где разнообразие сценариев выше.
Какие темы изучать в первую очередь после освоения основ языка?
Оптимальный порядок: язык запросов и виртуальные таблицы, система компоновки данных, механизмы проведения и движения документов по регистрам, подписки на события и расширения, затем — обмены данными и основы интеграций. Параллельно полезно читать код библиотеки стандартных подсистем как образец промышленной разработки.
Что важно запомнить
Middle-программист 1С — это самостоятельный разработчик, который ведёт задачи полного цикла, дорабатывает типовые конфигурации без потери обновляемости, уверенно владеет запросами и СКД и понимает учётные последствия своего кода. Уровень определяется не стажем, а набором подтверждённых навыков и ответственностью за результат в продуктивной базе.