Что это за работа? Инженер-электронщик умных устройств
Когда речь заходит об IT, мы в первую очередь вспоминаем программистов. Однако не менее важную роль играют инженеры, создающие сами гаджеты. Чем их работа отличается от разработки ПО и какие этапы проходит продукт от идеи до производства — рассказывает Алексей Фоменко, инженер-электронщик умных устройств Яндекса.
Инженер vs программист
Сегодня многие дома полны разных устройств — от датчиков влажности до умных колонок и телевизоров. Их разработкой занимаются аппаратные инженеры, и их профессия сильно отличается от других специальностей, которые сегодня существуют в IT. Это выражается в ряде особенностей:
- Высокая цена ошибки. Любая ошибка здесь может привести к задержкам разработки на недели и даже месяцы. Это связано с тем, что цикл разработки устройств сильно отличается от создания ПО, а ошибки нельзя выявить сразу при помощи, например, компилятора. Поэтому инженеры несут огромную ответственность за свои решения.
- Связь с физическим миром. Если вам нравится работа руками, аппаратная разработка даст массу интересных задач. Но стоит учитывать, что удаленная работа тут почти невозможна. Не получится искать проблемы влияния DDR-памяти на Wi-Fi, лежа на пляже с ноутбуком.
- Невозможность проведения OTA-обновлений. Неправильно подобранный резистор нельзя исправить «по воздуху». Важно заранее продумывать архитектуру и закладывать возможность всех будущих доработок.
- Высокий порог входа. Будущему специалисту обычно нужна практика, техническое образование, а для полноценной работы — еще и дорогостоящее оборудование. Это не то направление, которое можно на базовом уровне освоить за курсы длиной в пару месяцев.
Инженеры работают в условиях реального физического мира, где внешние факторы могут меняться в самых разных сочетаниях. И это накладывает серьезный отпечаток на то, как устроен их процесс работы.
Инженерный старт: разработка концепта
Инженеры, создающие умные устройства — от колонок до датчиков и телевизоров, — идут особым путём, который местами сильно отличается от работы программистов. Если в IT-разработке часто доминируют гибкие методологии (SDLC, Agile, Scrum и разные другие концепции), то инженерные проекты требуют более структурированного подхода.
Всё начинается с глубокого исследования: анализа рынка, целевой аудитории, ключевых характеристик продукта и его уникального предложения. Только после этого следует этап концептуальной проработки, когда команда создаёт прототипы, проверяет гипотезы и ищет оптимальные решения. Подготовка требует проверки всех компонентов будущего устройства. Например, для такого гаджета, как умная колонка, нужно предусмотреть:
- Акустические прототипы. Тестируются различные звуковые схемы: типы динамиков, формы рассеивающих линз и другие параметры.
- Световые прототипы. К примеру, умные колонки всегда оснащены индикацией — кольцевой подсветкой, светодиодным дисплеем или подсвеченным лого. Здесь проверяются варианты с разным количеством светодиодов и материалами.
- Функциональные прототипы. Многие вещи невозможно оценить через симуляции или расчёты. Это особенно касается сенсорного взаимодействия: объёмность звука в акустике, восприятие световых индикаций, тактильность сенсорных кнопок. Здесь только физические прототипы дают реальное понимание качества пользовательского опыта.
- CMF (Color, Materials, Finishing). Подбираются цветовые решения, материалы и покрытия корпуса — всё, что влияет на тактильные ощущения и восприятие устройства.
Этап концепта ближе всего к подходу Agile, который используется разработчики ПО: короткие итерации, постоянная обратная связь от стейкхолдеров и технологов. Выбранные решения здесь критичны: после них любые изменения потребуют полной переработки. Например, добавить динамик или заменить светодиодный дисплей будет невозможно без переделки конструкции и аппаратной части продукта.
На этом этапе инженер оценивает реализуемость функций, технологичность производства, а также стоимость будущего продукта. В результате концепта должен получиться утверждённый образ будущего устройства.
Инженерный образец: первая проверка железа на прочность
Самая ответственная часть — разработка первой полнофункциональной версии устройства. Инженерам нужно полностью продумать архитектуру и выполнить детальную проработку всех частей. Цель этого этапа — проверить работоспособность всех инженерных решений и убедиться, что все они соответствуют заявленным характеристикам. И здесь разница с остальным IT особенно заметна.
В своей работе программисты используют множество инструментов — компиляторы, интерпретаторы, системы тестирования и отладки. Стандартная последовательность действий выглядит так: сборка проекта, запуск тестов, исправление ошибок. Этот цикл не занимает много времени, а цена ошибки относительно невысока — баг можно быстро исправить и перезапустить процесс.
В инженерной разработке иные процессы. Здесь каждый цикл отладки может занимать дни или даже недели. Для тестирования требуется специализированное оборудование и глубокие знания. Ошибки в «железе» обходятся крайне дорого — как в прямом, так и в переносном смысле. Неверный расчёт или просчёт в прототипе может привести к необходимости переделывать дорогостоящие компоненты, заказывать новые образцы и повторять длительные тесты.
Допустим, инженер совершил просчёт при проектировании печатной платы. Назовём это «ошибкой», хотя это могло быть и осознанным решением, принятым в условиях той информации, что была на момент проектирования. Например, неудачно «чувствительная» трасса оказалась проведена вблизи «шумного» узла. После того, как плата ушла «в релиз», происходит следующее:
- Закупаются компоненты, которые необходимо установить на плату (обычно это более сотни позиций различных наименований).
- Одна фабрика изготавливает многослойную печатную плату, другая фабрика производит установку нескольких сотен компонентов на эту плату.
- Готовая плата высылается разработчику.
- Инженер «запускает» плату: подаёт питание, проверяет её работоспособность и внимательно тестирует все узлы схемы.
Это приводит к тому, что от того момента, когда была совершена ошибка, до того момента, как инженер убедился, что смог её исправить, порой проходит несколько месяцев. Представьте, что вы готовите торт Наполеон, а в один из десяти слоёв в крем случайно замешали вместо сметаны, скажем, майонез. В целом торт получится, но будет что-то не то. И поиск этой ошибки окажется довольно трудным — в конце придётся всё переделывать сначала. В разработке устройств это устроено аналогично.
Ключевая задача этого этапа — гарантировать стабильную и безотказную работу устройства при любых возможных комбинациях условий. Только после решения всех вопросов можно переходить к следующему этапу разработки.
Опытный образец: итоговое тестирование
Цель этого этапа — убедиться, что выбранные инженерные решения правильно реализованы, продукт соответствует характеристикам, а конструкция готова к массовому производству. Команда должна доработать узлы и детали, а также обеспечить контроль качества на производстве. В идеале после этого этапа в устройство не должно вноситься существенных изменений.
Важное отличие от предыдущего этапа — детали изготавливаются с применением технологий массового производства. Вместо 3D-печати теперь используются пресс-формы для отливки пластика на термопластавтоматах. Изготовление может длиться несколько месяцев — всё зависит от сложности и размера детали. Конструктору приходится учитывать массу ограничений. Вид детали не может быть произвольным — при литье пресс-форма должна свободно раскрываться, без мешающих элементов. К тому же стальные пресс-формы практически не поддаются доработкам: можно снять лишний материал, но добавить его уже не получится.
Здесь ключевое отличие от софтверной разработки заключается в нюансах обеспечения производства и контроля качества. При запуске мобильного приложения не нужно беспокоиться о том, что все его копии будут одинаковые. С потребительской электроникой иначе — нужно контролировать качество каждого устройства. Для этого важны технологичные процессы и тестовое оборудование, минимизирующие человеческий фактор.
Дополнительная сложность заключается в необходимости выполнять тестирование за меньшее время: чем дольше срок тестирования, тем больше аппаратов нужно будет ставить на линию. Иногда ритм производства достигает тысяч устройств в день. Инженерная команда разрабатывает не только продукт, но и технологическую оснастку для производства, которая будет обеспечивать высокое качество выпускаемой продукции.
Предсерийное производство
Эта стадия необходима для наладки производственной линии и для передачи дел командам производственного тестирования и контроля качества. Для начала выпускается пробная партия, оборудование калибруют под ритм, собирают статистику, определяют пороги тестов, а также создают «годные» и «бракованные» образцы.
Контроль качества — ключевой аспект массового производства. Инженеры должны разбираться не только в статистике, но и в физике процессов, технологиях. Даже после успешного пробного запуска работа инженеров продолжается — производство требует постоянного внимания.
Когда продукт «оживает»
После старта массового производства команда внимательно следит за производственной статистикой, оперативно устраняя отклонения и корректируя методики тестирования и ПО. Ошибки конструирования исключены — они были устранены на предыдущих этапах.
Даже после выхода продукта в продажу работа продолжается: инженеры анализируют обращения в поддержку и выявляют редкие проблемы, которые проявляются у пользователей. Например, если часы в темноте не гаснут до минимальной яркости — дорабатывается алгоритм датчика освещённости.
Несмотря на сложность и ответственность работы, инженеры испытывают особую радость, когда из набросков, схем на мониторе и графиков на осциллографе, у них на руках оживает то, во что они вкладывали душу все эти месяцы. Когда инженер щёлкает выключателем на розетке, а умная колонка начинает переливаться красками и вдруг говорит: «Привет, это Алиса!».