О компании:
Наша компания специализируется на разработке от идеи и проектирования печатных плат (PCB) до создания роботов и написания ПО. Мы не просто собираем чужие компоненты, мы создаем устройства с нуля. У нас вы увидите результат своей работы в «железе» — отладочная плата, робот или устройство, собранное в цеху, будут работать на вашем коде.
Мы ищем коллегу, для которого программирование — это не просто написание кода, а создание логики, архитектуры и алгоритмов, которые оживляют железо.
Чем предстоит заниматься:
- Вы будете заниматься полным циклом создания firmware — от проектирования структуры проекта и написания высокоуровневых алгоритмов до низкоуровневой оптимизации.
- Написание читаемого, поддерживаемого и хорошо документированного кода на С/С++ для микроконтроллеров.
- Настройка и использование периферии МК (UART, I2C, SPI, TIMERS, ADC, DAC, USB) через регистры и HAL для реализации программных задач.
- Разработка и реализация алгоритмов управления для робототехнических систем (логика работы, обработка данных с датчиков, управление моторами).
- Написание вспомогательного ПО на Python/C++ для ПК (тестовые утилиты, GUI для настройки, протоколы обмена данными) для отладки и взаимодействия с нашими устройствами.
- Использование Git, систем автоматической сборки (CMake), отладка с помощью JTAG/SWD, статический анализ кода.
Мы ждем, что вы — прежде всего сильный программист и обладаете следующими навыками:
- Глубокое знание языка C/C++: Понимание ООП, шаблонов проектирования, умение писать эффективный и переносимый код.
- Опыт разработки под STM32: Уверенное использование HAL/LL библиотек. Ценится понимание того, как работают низкоуровневые механизмы (прерывания, DMA, работа с памятью), даже если вы используете HAL.
- Опыт работы с Arduino-подобными платформами (как с использованием Wiring, так и с прямым программированием AVR).
- Понимание принципов Software Design: Умение проектировать модульную, слабосвязанную архитектуру, разделять код на абстракции.
- Владение инструментами: Опыт работы с Git, понимание CI/CD процессов для embedded будет плюсом.
- Навыки отладки: Умение пользоваться отладчиком (GDB), логировать работу системы, находить и исправлять сложные баги.
Ваша работа с железом будет заключаться в следующем:
- Умение читать схемы для понимания, как подключены датчики и периферия к МК.
- Использование базовых инструментов (осциллограф, логический анализатор) для верификации того, что ваш код работает правильно "на пинах" микроконтроллера.
Будет огромным плюсом:
- Опыт работы с Real-Time OS (FreeRTOS, Zephyr, etc.) и понимание концепций многозадачности.
- Навыки написания скриптов на Python для автоматизации задач.
- Базовое понимание сетевых протоколов (TCP/IP, MQTT) и опыта их реализации на МК.
- Любой опыт в робототехнике (ROS, PID-регуляторы, фильтрация данных).
Что мы предлагаем:
- Фокус на программировании. Ваша основная задача — писать код, а не паять или проектировать платы.
- Сложные и интересные задачи на стыке механики, электроники и программирования.
Возможность влиять на архитектуру и технологический стек проектов!
- График работы 5/2 с 9.00-18.00,
- Официальное трудоустройство по ТК РФ,
- ЗП от 200000 руб. на руки, высший уровень ЗП обсуждается на собеседовании с успешным кандидатом.