Алгоритм С

Инженер-программист (Embedded, C/C++)

До 200 000 RUR
  • Екатеринбург
  • Полная занятость
  • Полный день
  • От 3 до 6 лет
  • C++
  • С
  • Git
  • Python
  • Микроконтроллер
  • Встраиваемая система
  • Embedded
  • RTOS
  • ОСРВ
  • Linux
  • Разработка ПО
  • Алгоритмы и структуры данных
  • CMake
  • Оптимизация кода
  • Рефакторинг кода

Команда "Алгоритм С" разрабатывает системы управления и диагностики ЖД-транспорта и ЖД-техники.

В нашей команде 140 инженеров и разработчиков, которые решают реальные задачи цифровизации транспортной инфраструктуры. Наши системы управляют поездами и контролируют состояние рельсов — то, от чего зависит безопасность и комфорт тысяч людей ежедневно.

В связи с расширением портфеля проектов мы ищем в команду инженера-программиста микроконтроллеров. Вам предстоит разрабатывать надежные электронные системы управления и диагностики для транспортной отрасли.

Почему мы:

  • Работаем с реальным железом, а не только с кодом;
  • Решаем нетривиальные инженерные задачи;
  • Работаем над проектами, которые видны и важны;
  • Тестируем не в симуляторах, а на устройствах в собственной лаборатории;
  • В команде много опытных сотрудников, даже 6 кандидатов наук, — есть у кого учиться;
  • Результаты работы видны в практическом применении, а не только на экране.

Мы предлагаем:
✅Оформление по ТК РФ с первого рабочего дня;
✅ Стабильный график 5/2 с гибким началом и окончанием рабочего дня;
✅ Возможность выбора офисного или гибридного формата работы;
✅ Расширенный ДМС со стоматологией;
✅ Оборудованное рабочее место в комфортном офисе в центре города;
✅ Обучение за счет компании - внутренний университет, внешние обучения и конференции;
✅ Сложные и интересные задачи - возможность внедрить новые идеи в транспортную отрасль страны;
✅ Профессиональный и карьерный рост;

Вам предстоит:

  1. Разработка технического задания (ТЗ);
  2. Программирование для микроконтроллеров: написание кода на языках C и C++ для управления микроконтроллерами;
  3. Проектирование архитектуры ПО: участие в создании структурной схемы и модульной организации программного обеспечения.;
  4. Поддержка и доработка существующего ПО: обновление, исправление ошибок и добавление новых функций в уже созданные программы;
  5. Разработка тестов: создание приемочных и модульных тестов для проверки работы ПО;
  6. Проверка опытных образцов: тестирование созданных прототипов и проверка их работоспособности;
  7. Создание прикладного ПО для отладки: разработка средств для диагностики и устранения неполадок в макетах электронных модулей;

Для успешного выполнения задач необходимы технические навыки:

➕Программирование на языках C/C++:
- Глубокое понимание синтаксиса и семантики языков.
- Опыт разработки программ для встраиваемых систем;

➕Знание архитектуры микроконтроллеров:
- Основы работы микроконтроллеров и их архитектуры (например, ARM, AVR).
- Понимание взаимодействия с периферийными устройствами;

➕Разработка и оптимизация алгоритмов:
- Способность разрабатывать эффективные алгоритмы.
- Оптимизация кода для работы в условиях ограниченных ресурсов;

➕Знание основ электроники:
- Понимание принципов работы электронных компонентов, умение читать схемы;

➕Знание операционной системы Linux:
- Опыт работы с основными дистрибутивами Linux;
- Умение настраивать и поддерживать рабочую среду Linux;
- Знание командной строки и опыт работы с shell-скриптами;

➕Умение работать с системами контроля версий:
- Опыт работы с инструментами, такими как Git, для ведения кода и совместной работы над проектами;

➕Разработка многопоточных приложений:
- Умение создавать и управлять потоками, а также использовать механизмы синхронизации;

➕Понимание принципов работы ОС реального времени (RTOS):
- Знание фреймворков реального времени, таких как FreeRTOS, VxWorks, Zephyr или других;
- Опыт проектирования и разработки приложений с учетом временных ограничений;

✨Будет плюсом знание других языков программирования (Python, Java) для создания скриптов и автоматизации процессов;

Откликайтесь! Станьте частью будущего транспортной индустрии страны!