Алексей Дорогов инженер-разработчик

19 лет в разработке · программное обеспечение и электроника

Создаю программные системы и устройства — от идеи до запуска

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

Обсудить проект Читать заметки Отвечаю в течение дня, чаще — в течение часа
19 лет
Опыт разработки программных продуктов
Dev → CTO
Разработчик, руководитель и технический основатель
10
Своих проектов, запущенных и поддерживаемых в одиночку
< 24ч
Обычно отвечаю в течение суток

Направления работы

01 / Программное обеспечение

Веб-системы и приложения

Проектирую и разрабатываю веб-приложения, личные кабинеты, внутренние сервисы, API и интеграции. Беру на себя архитектуру, серверную часть, интерфейс и запуск.

Проектирование · разработка · запуск
02 / Электроника

Устройства на микроконтроллерах

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

Требования · прототип · прошивка
03 / Автоматизация

Системы контроля и управления

Объединяю оборудование, датчики, программное обеспечение и внешние сервисы в единую систему. Автоматизирую сбор данных, мониторинг и управление.

Оборудование · данные · программная логика

Как строится работа

01 / Требования

Разобраться в задаче

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

Результат — требования, план и оценка
02 / Реализация

Разрабатывать по этапам

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

Первый результат обычно через 1–2 недели
03 / Развитие

Запустить и развивать

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

Передача проекта или постоянная работа

Начало проекта

Сначала требования. Затем решение, сроки и стоимость

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

Обсудить проект
01 Собираем требования и определяем критерии готовности
02 Выбираем архитектуру, компоненты и способ интеграции
03 Делаем прототип и проверяем ключевые решения
04 Разрабатываем, интегрируем и тестируем систему
05 Запускаем, документируем и передаём результат

Инженерный подход

Решение должно работать не только на демонстрации

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

Я фиксирую важные решения, учитываю ограничения заранее и показываю промежуточные результаты. В итоге вы получаете не эксперимент, а систему, которую можно использовать, поддерживать и развивать.

Понятные требования

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

Проверка в реальных условиях

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

Передаваемый результат

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

Где я работал

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

2007 — 2013
Разработчик в агентствах и продуктовых командах
Делал клиентские проекты на разных технологиях. Научился быстро разбираться в чужом коде и быть полезным уже на той же неделе.
2013 — 2017
Ведущий разработчик
Отвечал за устройство продукта и запуски. Учил младших разработчиков. Делал так, чтобы обновления проходили спокойно и без сюрпризов.
2017 — 2020
Технический директор, молодые компании
Две компании — от прототипа до платящих клиентов. Нанимал людей, выбирал технологии
2020 — сейчас
Разработчик и технический основатель
Работаю напрямую с основателями и бизнесом. Разрабатываю и поддерживаю свои продукты.