惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Stack Overflow Blog
Stack Overflow Blog
Simon Willison's Weblog
Simon Willison's Weblog
B
Blog
V
Visual Studio Blog
G
Google Developers Blog
云风的 BLOG
云风的 BLOG
S
SegmentFault 最新的问题
博客园 - 司徒正美
博客园 - 【当耐特】
T
Tenable Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
宝玉的分享
宝玉的分享
N
Netflix TechBlog - Medium
S
Secure Thoughts
Hugging Face - Blog
Hugging Face - Blog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
IT之家
IT之家
Google DeepMind News
Google DeepMind News
Last Week in AI
Last Week in AI
大猫的无限游戏
大猫的无限游戏
PCI Perspectives
PCI Perspectives
H
Hackread – Cybersecurity News, Data Breaches, AI and More
阮一峰的网络日志
阮一峰的网络日志
P
Privacy International News Feed
N
News and Events Feed by Topic
H
Hacker News: Front Page
MongoDB | Blog
MongoDB | Blog
Google DeepMind News
Google DeepMind News
F
Full Disclosure
Google Online Security Blog
Google Online Security Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
H
Heimdal Security Blog
Project Zero
Project Zero
C
CERT Recently Published Vulnerability Notes
MyScale Blog
MyScale Blog
AI
AI
月光博客
月光博客
C
Cyber Attacks, Cyber Crime and Cyber Security
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
WordPress大学
WordPress大学
L
Lohrmann on Cybersecurity
TaoSecurity Blog
TaoSecurity Blog
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
C
CXSECURITY Database RSS Feed - CXSecurity.com
Spread Privacy
Spread Privacy
Apple Machine Learning Research
Apple Machine Learning Research
GbyAI
GbyAI
SecWiki News
SecWiki News
C
Cisco Blogs
The Last Watchdog
The Last Watchdog

Все публикации подряд на Хабре

Ловим музу за клавиатуру: как айтишнику стать автором Что умеет Midjourney в 2026? Мой немного грустный разбор этого шикарного инструмента Никто не любит писать тесты, но ИИ может исправить это IPv8 выглядит как мечта. Поэтому почти наверняка не взлетит Производители вернули в продажу материнки с DDR3. Что происходит? Управление агентом с телефона через Telegram теперь в KodaCode От координации к лидерству: как меняется роль руководителя разработки Я сделала родителям бизнес вместо пенсии: зарабатываем 70 тысяч, мама не даёт продать В три раза быстрее приемка товара и оптимизация трудозатрат на 73%: как «РСТ-Инвент» помог Gulliver Group ИИ-шечный мир победил? О влиянии искусственного интеллекта на игропром Кремль снижает давление на Телеграмм пока Европа строит интернет по паспорту Как CEO, CTO и CIO за 8 часов собрали ИИ-директора, который умеет держать позицию под давлением Как (не) потерять домен за выходные Вместо 8 разных VPS: как я организовал практику студентам на одном сервере Почему твой Open Source проект не замечают? R&D: искусство управления неопределенностью в разработке AI-дефляция: вакансий для разработчиков больше, а рост зарплат — худший за 15 лет Мы отдали управление роботами OpenClaw. Что из этого вышло Галактический ID: система идентификации для всех форм разумной жизни Шесть основ бизнес-анализа: начинаем с вопроса «Кто в игре?» Код-ревью, в котором дело не в коде Данные переехали. Команда — нет Системной подход к сдаче OSWE в 2025 Почему комната управления реактором покрашена в цвет морской пены 4 YAML-файла вместо PySpark: как аналитикам строить пайплайны без разработчиков LLM-агент для поиска свободных доменов: автоматизируем подбор Когда, зачем и как правильно начинать новую сессию в Claude Code? Как я заставил нейросеть писать макросы для FreeCAD Анатомия ИИ‑агента для подбора персонала. От тысячи резюме к топ‑10 за минуты Опыт разработчика как экономика внимания Автономность как точка невозврата: кто будет субъектом в цифровом будущем Обучение ИИ в «диких» условиях: как рутинные действия превращаются в датасеты Как измерить LLM для задач кибербеза: обзор открытых бенчмарков Где хранить код? Сравнение GitHub, GitLab и Bitbucket Математика объясняет, почему нормальное распределение встречается повсюду Почему ваш FinOps не работает: 12 тезисов от практиков Как подписать проектную документацию УКЭП с использованием бесплатных лицензий Pilot Адаптивное администрирование Sigla Vision Я грузил уран в бочки, а потом 20 лет строил ИТ в атомной отрасли Чем позвонить с Эвереста? История и обзор спутниковой связи. Часть 2 Как языковая модель помогает контролировать качество инструктажей по охране труда в металлургии Как не передать на desktop свой IP в РКН Анатомия SAP Privileges: как устроено управление правами в macOS MoneyDev: Сказка про три главных слова Обновлённый токенизатор видео K-VAE 2.0 от Сбера Как сделать диспетчеризацию дома на 1284 квартиры почти бесплатно Как мы разогнали железную дорогу Мы дали агентам рутину. Теперь надо решить — что делать с освободившимся временем Токсичный контент, промпт-хакинг и защита ИИ — всё о Guardrails для LLM Умный город начинается с точного взгляда: как «Фалькон Тех» меняет пространство к лучшему Навайбкодил приложение для анализа графов Почему Дюну так интересно читать? Упрощаем работу с рутиной или как стать Гендальфом Белым Деконструкция Go: CPU, RAM и что там происходит. Go Assembler база. Часть 1.1 Какие профессии исчезнут из-за ИИ, а какие появятся? И что с этим делать Как мы построили IT-отдел, где хочется расти: архитектурные встречи, прозрачные метрики и книжные подарки Rufler: Делаем из Claude Code автономный рой через один YAML-конфиг Sing-box и белый список приложений Как построить надёжный обмен сообщениями в микросервисах: лучшие практики для enterprise OpenAI строит MLM-пирамиду, а McKinsey и Accenture помогают ей в этом Дом, который не построил Фишер (Часть 2) «Сверхзвуковой математик» против «Вдумчивого логиста»: битва алгоритмов 3D-упаковки Мультимодальные модели – грубый и дорогой инструмент Разговоры ничего не стоят. Код тоже Проверки физических лиц: с кого начнет ФНС Топ-10 бесплатных нейросетей для создания видео в 2026 году Первые слои кода: как наши решения сегодня определяют архитектуру ИИ на десятилетия Разработка нового статического анализатора: PVS-Studio JavaScript Поиск уязвимостей ПО: базовый минимум или роскошный максимум Почему оценка персонала не работает как инструмент управления Как мы разработали ИИ-ассистента и сократили рутину продуктовой команды на 50% Как я ушел из найма, нажарил косточек и продал на маркетплейсах на 168 млн в год Когда 1С:ERP уже внедрена, а нормального производственного плана всё ещё нет Как я сделал Claude мультимодальным, подключив к нему Qwen Omni Как приглашение на вакансию мечты превращается в атаку Infrastructure as Code: философия и лучшие практики IaC Тестируем Yandex Code Assistant на задаче, в которой нужно хранить секреты nxs-universal-chart v3.0: новое поколение универсального Helm-чарта Callback Injection: Техника, которая отправила Microsoft Defender в глухой нокаут «Все идеи на стол»: митап как способ вывести проект из тупика Сегодня я узнал нечто новое о GPU благодаря багу в своей игре Как заставить LLM ̶ ̶г̶а̶л̶л̶ю̶ ̶ эволюционировать Карта событий как фундамент аналитики: практический кейс для E-commerce Что выбрать для AI: x86, ARM или RISC-V? Дайджест железа за март Роль соматических мутаций в развитии аутоиммунных заболеваний: путь к избирательной терапии Mythos от Anthropic — тревожный сигнал для всех, а не только для банков Guardrails для LLM на Java: как приручить промпт‑инъекции и токсичные ответы Green-VLA: как мы собрали VLA-модель для реального антропоморфного робота и не потеряли обобщение Финансовая гонка вооружений: почему умные люди добровольно в ней участвуют Эра ИИ-агентов наступила: выбираем лучшего цифрового сотрудника # Практический опыт внедрения WinCC Redundancy на производственном предприятии Сделал MVP за 3 дня, а потом неделю прикручивал оплату. Оно того стоило? Физика против Маска: почему Starship V3 может оказаться ещё одной катастрофой Нефть Венесуэлы: крупнейшие запасы в мире, но не крупнейшая нефтяная держава JPA 4. Переосмысление Hibernate Почему зеркальная фотокамера Nikon D5 десятилетней давности идеально подошла для миссии «Артемида-2» Проект «Уровень-Спутник» или как мы сделали платформу для гидрологов «Замедлиться, чтобы ускориться»: почему ИИ повышает цену ошибок в требованиях и архитектуре Как с нуля поднять трафик IT-компании на 1657% при бюджете 55 тыс. и выжить Pixel-perfect Downsampling — идеальная отрисовка 50 миллионов точек без потерь
Зачем бигтеху своя школа кодинга для сотрудников: как в Контуре сделали образовательный проект на 430+ учеников
KsuBelk (Кон · 2026-04-16 · via Все публикации подряд на Хабре

Уровень сложностиПростой

Время на прочтение8 мин

Охват и читатели5.8K

Кейс

Привет, Хабр! Меня зовут Ксения Луткова, я ведущий инженер-программист в Контуре — занимаюсь разработкой модулей 1С для интеграции с сервисами Контура. А еще с 2019 года развиваю «Школу шКодинга» — внутренний проект, в котором внедренцы совместно с командой разработки учатся писать код для продакшена.

За семь лет школа прошла путь от разбора кода вшестером до собственного сервиса обучения на 1С с 11 курсами. Я написала этот сервис с нуля за три месяца, протестировала его, сама преподавала, а потом ко мне присоединились коллеги. 

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

Контекст: что такое внедрение в Контуре и при чём тут код

Контур — экосистема сервисов для бизнеса. Один из них — Диадок, система электронного документооборота: компании обмениваются через неё счетами-фактурами, актами, накладными.

Чтобы с Диадоком можно было работать из 1С, наша команда разработки создаёт модуль. Он завязан на API Диадока, покрывает типовые сценарии и работает у клиентов одинаково. Но бизнес-процессы у каждой компании свои — например, бухгалтеру нужно, чтобы при отправке документа автоматически подтягивались дополнительные данные из 1С. Для таких доработок существуют внедренцы — они пишут подключаемый модуль (ПМ), надстройку над основным модулем.

Код ПМ открыт — программист клиента может в него заглянуть. Основной модуль написан по стандартам фирмы 1С, а ПМ — внедренцем. Если код неоптимальный, тормозит работа в 1С, а клиенту кажется, что плохо работает Диадок в принципе — для него это единый продукт, а не три компонента по отдельности.

Внедренцы в Контуре — отдельная роль на стыке разработки и консалтинга. Они глубоко знают предметную область, понимают процессы клиента, умеют настраивать продукт. Но программирование для многих из них — не основная специализация, а инструмент: кто-то перешёл из поддержки, кто-то из аналитики или проджект-менеджмента, кто-то самостоятельно освоил 1С уже в процессе работы или в программировании совсем недавно. В какой-то момент ребята сами захотели разобраться в программировании системно, а не собирать знания по кусочкам.

Как зародилась идея «Школы шКодинга»

До 2019 года я занималась тем, чем и должен заниматься разработчик, — писала код модуля для Диадока. Потом ко мне пришли коллеги из внедрения этого же продукта: сказали, что хотят разобраться в программировании глубже. Мне всегда было важно, чтобы продукт был качественным на всех уровнях, поэтому я согласилась помочь. Команда и тимлид поддержали и выделили время, которое я посвятила организации проекта.

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

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

Так появилась «Школа шКодинга» — сначала как кодовое название программы обучения, потом как полноценный бренд.

Эволюция: от разборов кода до собственной платформы

Каждый следующий этап развития школы возникал из ограничений предыдущего.

Этап 1. Телеграм-бот (2019–2020 годы)

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

Решение. Я написала телеграм-бота. Через него шла рассылка материалов, заданий на программирование, викторин на знание модуля. Добавила балльный рейтинг с призами по итогам квартала.

Масштаб. Подключились внедренцы из других продуктов: EDI, Меркурия, Взаиморасчётов. Появились ещё три преподавателя — по одному от продукта.

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

Этап 2. Свой сервис на 1С (2020 год)

Проблема. Бота было недостаточно для желающих учиться, материалы разбросаны, преподавателям неудобно работать.

Почему не готовое решение. Я посмотрела, какие платформы для построения образовательных программ есть на рынке и внутри Контура. Готовые LMS не закрывали наши потребности: в них много лишнего, мало нужного. 

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

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

Решение. Написала сервис с нуля на платформе 1С, самостоятельно. На всё ушло три месяца. Вот как это выглядело по шагам:

Этап

Что делала

Концепт

Продумала объекты и связи между ними в xMind. Ключевое требование — универсальная архитектура: тесты и опросы должны работать и отдельно, и внутри итераций и курсов; материалы — переиспользоваться между активностями.

Прототипы

Делала сразу на 1С, а не в Figma — чтобы интерфейс был приближен к конечному и наработки можно было использовать при разработке. Прототипы прошли юзабилити-тестирование на двух учениках и ревью от преподавателей.

ТЗ

По итогам обратной связи — полноценное техническое задание на все функции сервиса.

Разработка

Самый трудоёмкий этап. Интеграция с подсистемами БСП, отправка встреч и приглашений в Outlook из 1С, отправка сообщений в Telegram из 1С.

Альфа-тест

Прошла экспресс-курс по тестированию ПО, разработала сценарии, протестировала всю функциональность сама. Я была разработчиком и тестировщиком в одном лице — при обнаружении бага тестировщик во мне радовался, а разработчик грустил. Зато оба ликовали после фикса.

Бета-тест

Отдельные краткие сценарии: тестировали те же ученики, что участвовали в юзабилити.

Подготовка к запуску

Руководства пользователей (для ученика и преподавателя), настройка сервиса, создание учётных записей, массовая рассылка о старте.

Немного о том, почему я решила писать сервис самостоятельно

Может показаться странным — пилить целый сервис в одиночку, когда рядом команда. Но я понимала, что с командой выйдет дольше. Обучение шло квартальными циклами, к новому кварталу сервис должен был работать — и у меня было три месяца. 

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

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

Этап 3. Курсы (2020 год)

Проблема. За первые кварталы накопилось много материалов по основам программирования. Они выдавались порционно, но новым сотрудникам были недоступны — нужен был способ сохранить и структурировать знания.

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

Этап 4. Потоки обучения (2021–2022 годы)

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

Решение. Придумали формат потоков — квартальный цикл, в котором сочетаются разные виды активностей:

  1. Курс — самостоятельное изучение теории.

  2. Онлайн-встреча — закрепление материала, вопросы. Чтобы держать вовлечённость, в любой момент мог прозвучать вопрос к конкретному участнику.

  3. ДЗ на программирование — с продуктовой привязкой. Сквозной пример: один «клиент» на весь поток, каждое ДЗ начинается с исправления ошибок в предыдущем, потом — новая задача.

  4. Индивидуальная обратная связь — видеокомментарий преподавателя к коду ученика: что сделано хорошо, что переделать и почему.

Таким было расписание потока обучения в 2021 году

Таким было расписание потока обучения в 2021 году

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

А вот так выглядит страница с домашними заданиями на платформе

А вот так выглядит страница с домашними заданиями на платформе

Этап 5. Школа живёт сама (2022–сейчас)

Когда я только начинала, команды разработки и внедрения мало пересекались. Мы делали модуль, они дорабатывали его под клиентов — каждый занимался своим кусочком работы. Школа это постепенно изменила.

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

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

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

Как «Школа шКодинга» устроена сейчас

Архитектурно сервис — это конструктор активностей. Ключевое проектное решение: разделить данные на два уровня — компоненты (атомарные единицы контента) и активности (учебные события, которые их используют).

Типичный путь ученика такой:

  1. Курс по устройству модуля — как он работает, как устроен подключаемый, где и что можно дорабатывать. Все новички начинают с него.

  2. Курсы по основам программирования — пять курсов, от базовых конструкций до работы с запросами.

  3. Поток обучения — если формируется группа: квартальный цикл с теорией, онлайн-встречами, ДЗ и индивидуальной обратной связью.

  4. Курсы от внедренцев — стандарты разработки, специфика продуктов, перевнедрение.

Ещё несколько решений из сервиса:

  • RLS на уровне записей. Ученик видит только назначенные ему активности. Руководитель — только результаты своих подопечных. Преподаватель видит оценки коллег, чтобы понимать калибровку. 

  • Автоназначение и автозавершение заданий по дате. Готовишь активность заранее, ставишь дату старта — она запускается сама, не нужно ничего контролировать.

  • Умные уведомления. Напоминания о дедлайне уходят только тем ученикам, кто ещё не сдал задания. Звучит как мелочь, но когда у тебя четыре группы с разным прогрессом, это избавляет от ручной работы каждую неделю.

  • Приглашения на очные встречи из сервиса. Преподаватель создает встречу — сервис сам определяет список участников по группе обучения и рассылает приглашения в Outlook. Не нужно каждый раз вспоминать, кто в какой группе.

Промежуточные итоги проекта

«Школа шКодинга» работает семь лет. За это время через неё прошли 430+ учеников из 11 отделов, на платформе опубликовано 11 курсов, обучение ведут пять преподавателей из разработки и внедрения Контура. А ещё в школе обучаются коллеги из других отделов, например, клиентской поддержки.

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

Оглядываясь назад, я понимаю, что всё это получилось, потому что в Контуре поддерживают инициативы сотрудников. А потом рядом со мной оказались люди, которым это тоже стало важно, и мы продолжили развивать проект командой единомышленников.