Job Moscow HQ

Embedded software engineer

Ищем человека на должность программиста встроенных систем!


О нашем отделе embedded разработки:

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

Требования:
Не так важно, ты выпускник технической специальности ведущего ВУЗа или же электроника и программирование — то, что ты освоил самостоятельно, имеешь успешный опыт использования и хочешь двигаться дальше. Тебе надо уметь хорошо писать надежный код для embedded-проектов, а если более конкретно, то:
Обязательно:
  • Знание языка С/С++
  • Понимать специфику разработки embedded software (ARM Cortex M0/M3/M4 as general)
  • Понимать принципы работы основных интерфейсов взаимодействия с периферийными устройствами (I2C, SPI, UART, USB, CAN, etc.)
  • Читать принципиальные схемы целевой платформы для разработки ПО под неё
  • Технический английский (чтение документации)
  • Уметь разобраться в чужом коде, поддерживать единый стиль программирования внутри проекта, вести документацию
  • Опыт работы с FreeRTOS или другими real time OS. Понимать принципы совместной работы псевдопараллельных задач. Понимать концепцию межзадачных взаимодействий (семафоры, мютексы, очереди)
  • Опыт или общее понимание принципов работы со сложными интерфейсами io (USB, CAN, Ethernet, etc.)
  • Ведение проекта в Git, работа в системе управления проектами (Jira)

Желательно/дополнительно:
  • Опыт разработки и знания схемотехники (цифра, аналог), опыт самостоятельной трассировки ПП в Altium/Eagle/etc.
  • Понимание архитектуры компьютерных сетей и протоколов передачи данных (MQTT, HTTP, etc.).
  • Английский на уровне чтения документации, ведения переписки и участия в командных митапах
  • Понимание и опыт работы с беспроводными интерфейсами, модулями, микроконтроллерами (BLE, LoRa, ZigBee, Wi-Fi, Nordic Semiconductor, ESP8266/32)
  • Знание других языков программирования и сред разработки (Rust, Python, Matlab, SQL)
  • Опыт работы с сервисами AWS
  • Понимание работы GSM модемов, работа с GPS модулями

В свою очередь, мы обещаем тебе:
  • Наличие реальных прикладных задач, решение которых поможет развитию сервиса и удобству использования мобильных транспортных средств
  • Конкурентную белую зарплату
  • Трудоустройство по ТК РФ
  • Удобный офис-мастерскую на в 3х минутах от метро
  • Живой и творческий рабочий процесс, классная команда, комфортное рабочее место
  • Возможность стать соавтором интересного проекта
  • ДМС и промо-коды на поездки на наших самокатах
  • Возможность отдыхать и заниматься спортом вместе с командой ("вушница", волейбол, сквош итд)
Отправить заявку на вакансию