Кто такой embedded-программист (разработчик) и как им стать

KEDU
Автор статьи

Содержание

Дата публикации 01.08.2022
Главная картинка статьи Кто такой embedded-программист (разработчик) и как им стать
Designed by drobotdean/freepik

Embedded-разработчик относится к категории IT-специалистов, однако, он не пишет привычный нам софт, мобильные приложения или серверы. Его задача создавать ПО, которое скрыто от глаз пользователя, но без которого не может работать ни одно электронное устройство. Кто же такой embedded-разработчик и как им стать?

Что такое embedded ПО?

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

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

В наши дни embedded ПО не ограничивается только локальными устройствами, поскольку есть множество облачных сервисов, благодаря которым устройства умеют обмениваться данными между собой и хранить нужную информацию. Эта система называется «интернетом вещей» (Internet of Things) и требует достаточно продвинутого софта.

Чем конкретно занимается embedded-разработчик?

Embedded-разработчик (embedded developer) — это специалист с инженерным образованием, который пишет управляющее ПО для различных устройств и гаджетов. Если IT-разработчик создает логику софта, с которым взаимодействует пользователь, то embedded-программист отвечает за работоспособность гаджета. Код он пишет преимущественно на C++ и C#. Это два основных языка, которые нужно знать embedded-разработчику, хотя могут быть нюансы.

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

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

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

  1. Приемка платы или микроконтроллера в работу, проверка компонентов на дефекты и скрытый брак;

  2. Написание кода (прошивки устройства);

  3. Отладка, проверка на работоспособность и устранение ошибок;

  4. Сопровождение написания ПО для устройства и помощь в интеграции;

  5. Консультирование коллег-программистов;

  6. Составление смет и технических заданий по проекту;

  7. Анализ работы устройства и оптимизация.

Как выучиться на embedded-разработчика

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

Специально embedded-программистов в России не учат, но ими часто становятся выпускники радиотехнических и математических вузов. Примерный перечень специальностей:

  1. Информатика и вычислительная техника;

  2. Управление в технических системах;

  3. Электроника, радиотехника и системы связи;

  4. Конструирование и технология электронных средств;

  5. Робототехника.

Требования к знаниям embedded-разработчика

Учиться в вузе требуется 4 года по программе бакалавриата и нередко, чтобы добрать знаний, выпускники проходят ещё и магистратуру. Тем не менее на производстве ценятся специалисты с реальными знаниями и умениями, поэтому, как уже было сказано, embedded-разработчику нужно основательно освоить языки программирования.

Примерный перечень знаний, необходимых специалисту:

  1. Знание объектно-ориентированных языков программирования (ООП);

  2. Знание C++, C#, Arduino, Python и других языков;

  3. Архитектура ЭВМ, устройство ПК и специализированных устройств;

  4. Периферия и интерфейсы UART, I2C, SPI, DAC/ADC;

  5. Знание работы промышленных протоколов передачи данных, таких как EtherCAT, CANopen;

  6. Умение читать техническую документацию и разбираться в спецификациях железа;

  7. Владение техническим английским (уровень не ниже Upper Intermediate).

Вакансии для embedded-разработчиков в России

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

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

Зарплаты embedded-разработчиков в 2022 году

Учитывая сложность и востребованность профессии, заработок embedded-разработчиков весьма высок. Среднее предложение по зарплате начинается от 180000 рублей и достигает 250000 рублей в месяц. В некоторых компаниях специалистам готовы платить до 300000 рублей в месяц, однако, чаще это предложение для senior разработчиков, то есть руководителей команды разработки.

Плюсы и минусы профессии embedded-разработчика

Плюсы:

  • Востребованность;

  • Высокая зарплата;

  • Официальное трудоустройство;

  • Возможность работы на крупные международные компании;

  • Карьерные перспективы.

Минусы:

  • Высокие требования к техническим знаниями и навыкам;

  • Длительное обучение;

  • Требуется опыт работы при трудоустройстве;

  • Небольшое количество мест учебы.


Читайте также
Все статьи