Разработка системного ПО для низкоуровневых компонентов вычислительных платформ.
Обязанности:
- Разрабатывать и модернизировать низкоуровневые программные компоненты на C.
- Поддерживать и развивать кодовую базу для различных аппаратных платформ.
- Работать с инициализацией оборудования и взаимодействием ПО с аппаратными компонентами.
- Анализировать аппаратные архитектуры и учитывать их особенности при разработке.
- Исследовать и устранять ошибки на границе программного и аппаратного обеспечения.
- Подготавливать и поддерживать техническую документацию.
Требования:
- От 7 лет опыта системной разработки на C.
- Глубокое понимание архитектуры процессоров x86/x86-64 (AMD64) и современных вычислительных платформ.
- Знание взаимодействия операционной системы с процессором, чипсетом и периферийными устройствами.
- Практический опыт Embedded-разработки и Bare-metal программирования без полноценной операционной системы.
- Навыки низкоуровневой разработки и отладки на границе программного и аппаратного уровней.
- Умение читать электрические принципиальные схемы и работать с аппаратной документацией.
- Технический английский для чтения спецификаций и документации.
- Навыки систематизации технической информации и документирования решений.
Будет преимуществом:
- Assembler, анализ машинного кода и Reverse Engineering для x86.
- Опыт работы с UEFI, BIOS и другими компонентами платформенного ПО.
- Разработка низкоуровневых драйверов для Linux, Windows и других ОС.
- Знание аппаратных интерфейсов PCI/PCIe, I2C, SMBus, SPI, LPC и USB.
- Опыт работы с Jira, Confluence и аналогичными системами.
- Экспертиза в аппаратных архитектурах, системном программировании и встроенном ПО.
Условия: полностью удаленный формат, оформление по договору ГПХ, стабильный долгосрочный проект с современным стеком технологий. Зарплата до 270 тыс. рублей net.