
Алгоритм С
Инженер-программист (Embedded, C/C++)
- C++
- С
- Git
- Python
- Микроконтроллер
- Встраиваемая система
- Embedded
- RTOS
- ОСРВ
- Linux
- Разработка ПО
- Алгоритмы и структуры данных
- CMake
- Оптимизация кода
- Рефакторинг кода
Команда "Алгоритм С" разрабатывает системы управления и диагностики ЖД-транспорта и ЖД-техники.
В нашей команде 140 инженеров и разработчиков, которые решают реальные задачи цифровизации транспортной инфраструктуры. Наши системы управляют поездами и контролируют состояние рельсов — то, от чего зависит безопасность и комфорт тысяч людей ежедневно.
В связи с расширением портфеля проектов мы ищем в команду инженера-программиста микроконтроллеров. Вам предстоит разрабатывать надежные электронные системы управления и диагностики для транспортной отрасли.
Почему мы:
- Работаем с реальным железом, а не только с кодом;
- Решаем нетривиальные инженерные задачи;
- Работаем над проектами, которые видны и важны;
- Тестируем не в симуляторах, а на устройствах в собственной лаборатории;
- В команде много опытных сотрудников, даже 6 кандидатов наук, — есть у кого учиться;
- Результаты работы видны в практическом применении, а не только на экране.
Мы предлагаем:
✅Оформление по ТК РФ с первого рабочего дня;
✅ Стабильный график 5/2 с гибким началом и окончанием рабочего дня;
✅ Возможность выбора офисного или гибридного формата работы;
✅ Расширенный ДМС со стоматологией;
✅ Оборудованное рабочее место в комфортном офисе в центре города;
✅ Обучение за счет компании - внутренний университет, внешние обучения и конференции;
✅ Сложные и интересные задачи - возможность внедрить новые идеи в транспортную отрасль страны;
✅ Профессиональный и карьерный рост;
Вам предстоит:
- Разработка технического задания (ТЗ);
- Программирование для микроконтроллеров: написание кода на языках C и C++ для управления микроконтроллерами;
- Проектирование архитектуры ПО: участие в создании структурной схемы и модульной организации программного обеспечения.;
- Поддержка и доработка существующего ПО: обновление, исправление ошибок и добавление новых функций в уже созданные программы;
- Разработка тестов: создание приемочных и модульных тестов для проверки работы ПО;
- Проверка опытных образцов: тестирование созданных прототипов и проверка их работоспособности;
- Создание прикладного ПО для отладки: разработка средств для диагностики и устранения неполадок в макетах электронных модулей;
Для успешного выполнения задач необходимы технические навыки:
➕Программирование на языках C/C++:
- Глубокое понимание синтаксиса и семантики языков.
- Опыт разработки программ для встраиваемых систем;
➕Знание архитектуры микроконтроллеров:
- Основы работы микроконтроллеров и их архитектуры (например, ARM, AVR).
- Понимание взаимодействия с периферийными устройствами;
➕Разработка и оптимизация алгоритмов:
- Способность разрабатывать эффективные алгоритмы.
- Оптимизация кода для работы в условиях ограниченных ресурсов;
➕Знание основ электроники:
- Понимание принципов работы электронных компонентов, умение читать схемы;
➕Знание операционной системы Linux:
- Опыт работы с основными дистрибутивами Linux;
- Умение настраивать и поддерживать рабочую среду Linux;
- Знание командной строки и опыт работы с shell-скриптами;
➕Умение работать с системами контроля версий:
- Опыт работы с инструментами, такими как Git, для ведения кода и совместной работы над проектами;
➕Разработка многопоточных приложений:
- Умение создавать и управлять потоками, а также использовать механизмы синхронизации;
➕Понимание принципов работы ОС реального времени (RTOS):
- Знание фреймворков реального времени, таких как FreeRTOS, VxWorks, Zephyr или других;
- Опыт проектирования и разработки приложений с учетом временных ограничений;
✨Будет плюсом знание других языков программирования (Python, Java) для создания скриптов и автоматизации процессов;
Откликайтесь! Станьте частью будущего транспортной индустрии страны!