Мы ищем специалиста в команду embedded разработки на должность инженера-программиста микроконтроллеров.
О нашем отделе embedded разработки:
- Отдел embedded разработки занимается задачами низкоуровневого программно-аппаратного обеспечения средств индивидуальной мобильности (СИМ)
- Мы занимаемся разработкой электронных устройств, их окружения и поддержкой работоспособности всех программно-аппаратных систем в целом
- Мы самостоятельно прорабатываем архитектуру будущего решения, находим оптимальные пути реализации и воплощения проекта в жизнь. Гибкость и нацеленность на результат — одни из важнейших критериев наших процессов
- Мы сами собираем макеты и прототипы продукта: трассируем, заказываем печатные платы и компоненты, паяем, собираем и отлаживаем дизайн, пишем встроенное ПО, тестируем и запускаем в массовое производство
- Мы точечно реализуем бэкенд-микросервисы для поддержки работы устройств, собираем данные и проводим аналитику, внедряем процессы тестирования, разрабатываем и верифицируем алгоритмы обработки данных. Если твой код работает на столе, он должен работать еще на нескольких десятках тысяч устройств в разных часовых поясах, в разных городах
- Мы не забываем о поддержке и документировании наших разработок: если сделан классный функционал, о нем должны знать те, для кого он сделан, проблемы в его работе должны быть отловлены и донесены до автора, а другие участники проекта должны иметь возможность быстро найти и изучить всю существующую документацию
- Мы внедряем в embedded ci/cd практики, чтобы сборка проекта и его деплой на многотысячный флот были максимально надежны и прозрачны, а разработчики спали по ночам спокойно
Мы работаем над IoT модулями, что позволяют самокатам оставаться онлайн 24/7, проектируем системы менеджмента батарей, тестируем контроллеры бесколлекторных двигателей, работаем над проектами в области компьютерного зрения, обвешиваем самокаты десятками разных сенсоров; не забываем как про RnD исследования, так и про тестирование, производство и ввод в эксплуатацию разных устройств. Мы находимся в постоянном контакте с бизнесом и другими отделами внутри компании — по работе с данными, бэкендом, разработкой мобильных приложений, операционными командами в полях, сервисом по ремонту электроники и т.д.
Помимо задач поддержания и развития экосистемы встроенного ПО, мы предлагаем участие в проекте, где присутствует множество технологий и стеков разработки, из сочетания которых собирается итоговый продукт. Помимо интересных задач по железу, есть еще много смежных направлений, освоение которых принесет пользу продукту и даст возможность прокачать свои навыки.
Требования:
Не так важно, ты выпускник технической специальности ведущего ВУЗа или же электроника и программирование — то, что ты освоил самостоятельно, имеешь успешный опыт использования и хочешь двигаться дальше. Тебе надо уметь писать надежный код для embedded проектов, а если более конкретно, то:
Обязательно:
- Знание языка С/С++
- Понимание специфики разработки embedded software (arm cortex m0/m4/m7 as general)
- Чтение принципиальных схем, базовые навыки работы с электроникой, работа с аппаратными средствами отладки
- Понимание принципы работы основных интерфейсов взаимодействия с периферийными устройствами (i2c, spi, uart, etc.). Опыт или общее понимание принципов работы с более сложными интерфейсами io (usb, can, ethernet, etc.)
- Опыт работы с FreeRTOS или другими real time os. Понимание принципов совместной работы псевдопараллельных задач. Понимать концепцию межзадачных взаимодействий (семафоры, мютексы, очереди). Понимание проблем атомарного доступа, состояния гонки и умение проектировать потокобезопасный код
- Понимание принципов работы систем сборки (make/cmake), систем контроля версий (git), принципов и инструментов ci/cd (Docker/Gitlab/Jenkins);
- Готовность работать в системе управления проектами (Jira/Notion)
- Технический английский (чтение документации)
- Умение разобраться в чужом коде, поддерживать единый стиль программирования внутри проекта, вести документацию и т.д.
Желательно/дополнительно:
- Опыт разработки и знания схемотехники (цифра, аналог), опыт самостоятельной трассировки ПП в (Altium/EagleCad/KiCad).
- Понимание архитектуры компьютерных сетей и протоколов передачи данных (mqtt, http, etc.)
- Опыт работы с системами управления с замкнутым контуром и обратной связью для двигателей переменного тока и BLDC
- Опыт работы с системами с питанием литий-ионных батарей
- Английский на уровне чтения документации, ведения переписки
- Знание других языков программирования и сред разработки (rust, python, matlab, sql, vscode)
В свою очередь, мы предлагаем тебе:
- Принять участие в разработке транспорта будущего, стать соавтором интересного проекта. Наличие реальных прикладных задач, решение которых поможет развитию сервиса и удобству использования мобильных транспортных средств
- Удобный график работы. Если вы из тех, кто соскучился по "офисной жизни" - рады сообщить, что у нас есть lounge-зона с настолками и PS5, чтобы расслабиться после работы
- Адекватное профессиональное руководство, живой и творческий рабочий процесс, классная команда, комфортное рабочее место, отсутствие дресс-кода
- Удобный офис-мастерскую в 5-ти минутах от метро, график работы: 5/2 (09-18:00 или 10:00-19:00)
- Полностью белую, конкурентную ЗП (отталкиваемся от ваших ожиданий), трудоустройство по ТК
- ДМС и современную корп. культуру
Если есть желание работать в большой компании с душой технологического стартапа в области транспорта - тебе к нам!