Skip to content
Разработка без техноязыка

Что на самом деле делалось
все эти месяцы

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

4 + 1рабочих программных контура
53–54 тыс.строк в четырёх основных частях
25–40человеко-месяцев по честной оценке
Состояние проекта и расчёт приведены на 23 августа 2026 года.

С чего всё начиналось

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

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

  1. 01
    Прототип научился выполнять основную функцию

    На этом этапе устройство уже можно было показать, но оно ещё не было продуктом.

  2. 02
    Один режим превратился в несколько

    Простого переключения стало недостаточно: потребовались точные правила работы и защиты от конфликтов.

  3. 03
    Проект переехал на новую электронику

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

  4. 04
    Лабораторная функция начала превращаться в изделие

    Появились питание от батареи, кнопка, индикация, память, обновления, восстановление и удобное управление.

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

Что в итоге пришлось построить

Не одну «прошивку», а пять связанных частей. Четыре основные входят в оценку 53–54 тысячи строк собственного кода. Производственный пульт считается отдельно.

01

Само устройство

Управляет тремя радиомодулями, кнопкой, светом и вибрацией, поиском сигналов, питанием, сном и сохранением настроек.

02

Связь и экран в телефоне

Отвечает за Wi-Fi, веб-интерфейс, обмен данными, обновления и восстановление после неудачной загрузки.

03

Редактор настроек

Готовит и проверяет полный пакет параметров, сохраняет его и безопасно загружает в устройство.

04

Автоматическая лаборатория

Устанавливает программы, запускает сценарии, управляет внешними приборами, собирает измерения и возвращает систему в исходное состояние.

05

Производственный пульт

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

53–54 тыс.Только собственный код четырёх основных частей. Готовые библиотеки, архивы и временные файлы сборки исключены.
83 точкиДатированные рабочие каталоги и контрольные точки с 19 июля по 22 августа, а не 83 одинаковые задачи.
Не вся историяДо этого периода сохранилось ещё 75 выбранных отчётов за май–июль. Числа нужны для масштаба, а не для рекорда.

Лабораторию тоже пришлось разработать

Испытательный стенд не стоял в углу готовым. Его придумали, физически собрали, соединили с устройством и измерительными приборами, а затем несколько раз переписали. Сначала он увеличил стоимость проекта, и только потом начал экономить время.

Ручная проверка не всегда отвечает на главный вопрос. Действие могло выполниться, а ответ в браузер потеряться. Внешний считыватель мог ошибиться. Измерительный прибор мог быть занят. Антенна могла лежать неудачно. Наконец, программа могла показывать нормальную работу, когда настоящий радиосигнал уже испорчен.

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

1 282старых разрозненных файлов стенда отправили в архив при чистой переработке
8основных файлов было в новой рабочей части на момент перехода
2 731строка составляла эта новая часть тогда; после перехода она продолжила развиваться

Почему старый код съедает месяцы

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

Большая часть этой работы не видна в финальном проекте. Её результатом часто становился не новый код, а доказанно удалённый старый.

4 319 → 902

Столько строк осталось в модуле поиска сигналов после переработки. Объём уменьшился примерно на 79%, а нужное поведение сохранилось.

−1 327 строк

Устаревшую диагностическую оболочку удалили, отдельно сохранив действительно полезную функцию.

334 файла

Исторические версии редактора настроек вынесли из рабочего каталога в архив.

Работало, но не принято

Одну часть переписали с нуля, проверили на 20 наборах настроек и 12 физических записях. Позже эксперимент всё равно отбросили и вернули проверенную основу.

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

Как прототип становился продуктом

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

Четыре разных значения слова «готово»

01

Можно показать

Устройство включается и выполняет основную функцию.

02

Работает в лаборатории

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

03

Можно испытывать как изделие

Проверены используемый режим сна STOP0, питание, память, обновление, нестандартные настройки и восстановление.

04

Можно поддерживать

Есть повторяемые проверки, сохранённые рабочие версии, измерения, документы и честно указанные границы знания.

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

Один пример: когда «всё зелёное» ещё ничего не значит

Сбой, который программа видела

Радиомодуль иногда переставал подтверждать готовность. Для такого случая сделали ограниченное автоматическое восстановление. В одном испытании устройство пережило 47 восстановлений за 30 секунд внешнего воздействия и продолжило работу. Финальная версия отдельно прошла ещё один прогон с 16 восстановлениями за 18 секунд.

Сбой, который программа не видела

В другом случае модуль принимал команды и выглядел исправным, но форма настоящего радиосигнала уже была неправильной. Автовосстановление первого сбоя этот дефект не обнаруживало. Увидеть его можно было только отдельным радиоприёмным прибором.

В повторных проверках проблема проявлялась около 868 МГц и не проявлялась около 910 МГц. Это важное наблюдение, но не доказательство причины: условия двух серий нельзя считать полностью одинаковыми. Опыт со сниженной мощностью тоже был лишь исторической проверкой, а не найденным объяснением дефекта; в текущей версии вернулись к прежнему уровню мощности.

Где обычный бизнес уже сдался бы

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

  1. 01
    Первый прототип уже показывал нужную функцию.

    Можно было оставить его лабораторным образцом и не превращать в самостоятельное изделие.

  2. 02
    Поиск сигналов уже работал на столе.

    Можно было прекратить улучшать скорость обнаружения и устойчивость к сложному эфиру.

  3. 03
    Переезд на новую электронику завершился.

    Можно было сохранить старую архитектуру, не распутывая накопленные зависимости.

  4. 04
    Управление с телефона и редактор настроек уже существовали.

    Можно было не сводить данные всех частей к одному понятному и безопасному состоянию.

  5. 05
    12 августа продукт прошёл формальную приёмку.

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

  6. 06
    Автовосстановление справилось с видимым радиосбоем.

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

  7. 07
    Чистая переработка прошла проверки, но вскрыла новый тихий дефект.

    Именно здесь дальнейшее исследование окончательно вышло за границу очевидной экономической выгоды.

Что делал человек, а что автоматизация

Инженер

Принимал решения в физическом мире

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

Codex и стенд

Ускоряли повторяемую работу

Сопоставляли большие объёмы кода и документов, запускали серии проверок, собирали результаты, помогали сохранять контекст и превращать найденный дефект в воспроизводимый тест.

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

Моя честная оценка

Это не табель рабочего времени и не попытка оценить проект по количеству строк. Диапазон 25–40 человеко-месяцев получен разложением всего пути на крупные виды работ.

Основное устройство, радио, поиск сигналов, питание и разбор наследия8–12 мес.
Связь, веб-интерфейс, обмен данными, хранение и обновления4–6 мес.
Редактор настроек и безопасная работа с пакетами3–5 мес.
Испытательная лаборатория, приборы и производственный пульт5–8 мес.
Опыты с железом, общая интеграция, приёмка и документация5–9 мес.

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

Повторить известное

Все ответы уже найдены

Трудозатраты
12–18чел.-мес.
Календарно
4–7месяцев
Стоимость
8–15млн ₽
Фактический путь

С наследием, лабораторией и неизвестными причинами

Трудозатраты
25–40чел.-мес.
Календарно
8–14месяцев
Стоимость
15–30млн ₽
Внешняя разработка

Под ключ и с ответственностью подрядчика

Трудозатраты
25–40чел.-мес.
Календарно
≈ 1 годкомандой
Стоимость
25–50млн ₽

Откуда взялись деньги в расчёте

По данным Хабр Карьеры, медианная зарплата в российском IT в конце 2025 года составляла около 183 тысяч рублей на руки. Это общая медиана по 52 123 анкетам, а не цена нужной нам команды.

Отдельное исследование по грейдам на меньшей выборке из 660 записей показывает ориентиры около 370–380 тысяч для сильного старшего специалиста и 540–570 тысяч для технического руководителя. Маленькая выборка означает, что это ориентир, а не точный тариф.

Оценка полной цены специалиста для компании0,5–0,8млн ₽ в месяц

Диапазон 0,5–0,8 млн рублей — уже моя оценка, а не число из исследований. Кроме зарплаты сюда входят налоги, рабочее место, приборы и инфраструктура, управление, простои между зависимыми этапами и риск исследовательской работы. Умножение на 25–40 человеко-месяцев даёт 12,5–32 млн рублей; округлённые 15–30 млн показывают порядок суммы, а не смету до рубля.

Что именно ускорили современные инструменты

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

По наблюдаемой скорости таких циклов механическая работа на стенде ускорялась примерно в 10–30 раз, чтение и сопоставление больших участков кода — в 5–10 раз, а весь проект с учётом неизбежной ручной работы — ориентировочно в 4–7 раз.

Где факты, а где оценка

Факты: состав системы, объём собственных файлов, датированные контрольные точки, архивы, результаты конкретных испытаний и сохранённые рабочие версии.

Инженерная оценка: человеко-месяцы по направлениям, полная стоимость специалиста для компании, стоимость внешнего контракта и коэффициенты ускорения.

Важные границы: 15-часовая проверка сна показала отсутствие заметного падения напряжения батареи с точностью отображения 0,001 В, но не была точным измерением тока. Успешные проверки около 910 МГц не доказывают причину сбоев около 868 МГц. Исторический опыт со снижением мощности не является текущей настройкой продукта.

Итог без героизации

Здесь нет истории о том, как один человек «заменил целый отдел». Есть история о проекте, в котором один человек сохранил единую картину устройства, современные инструменты помогли не утонуть в объёме, а физическая лаборатория не позволила принять красивый отчёт за работающий радиосигнал.

Без сопоставимой автоматизации и сохранения контекста такой путь разумно оценивать в 25–40 человеко-месяцев, или примерно в 15–30 млн рублей внутренней стоимости. Внешняя разработка с управлением, риском, маржой и ответственностью за результат могла бы стоить 25–50 млн рублей.

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