Мы ищем инженера-программиста, который специализируется на стыке софта и «железа». Вам предстоит разрабатывать и сопровождать программно-аппаратный комплекс, предназначенный для тестирования электронных модулей и устройств на производственной линии. Ключевая задача — писать код, который оживляет «железо», проверяет его корректность и выявляет дефекты.
Обязанности
1. **Разработка ПО для тестирования:** Создание, поддержка и рефакторинг программного обеспечения для автоматизированного тестирования аппаратного обеспечения (Hardware-in-the-Loop).
2. **Разработка ТЗ на тестовую оснастку:** тестовые адаптеры, механические стенды с использованием пробников-иголок (pogo pins)/гибко-жестких кабелей.
3. **Анализ схемотехники:** Изучение принципиальных электрических схем, даташитов на компоненты и технической документации для написания корректных тестовых сценариев.
4. **Разработка методик тестирования и их реализация:** Создание новых и адаптация существующих методик проверки функциональности устройств (функциональный контроль, параметрические измерения, граничное сканирование по стандарту IEEE 1149.1/6) и разработка тестов по ним.
5. **Интеграция:** Стыковка программной части с измерительным оборудованием (осциллографы, логические анализатиоры, генераторы, мультиметры, источники питания) и контроллерами.
6. **Отладка:** Локализация неисправностей на уровне кода и аппаратуры, взаимодействие с разработчиками «железа» для исправления ошибок.
7. **Разработка документации на ПАК.**
8. **Ввод новых ПАК на производственную линию/ поддержка ранее введенных.**
Требования
**Обязательные требования:**
· **Опыт:** От 3-5 лет в разработке ПО для тестирования оборудования или в смежных областях (встраиваемые системы, автоматизация КИП).
· **Знание схемотехники:** Умение читать принципиальные электрические схемы, понимать логику работы цифровых и аналоговых узлов (интерфейсы I2C, SPI, UART, GPIO, питание).
· **Языки программирования:** Хорошее владение **Python** (middle) и/или (**C**/**C++/Rust)**, использование системы контроля версий при разработке (**Git, SVN, Gerrit**).
· **Опыт автоматизации рутинных задач:** написание скриптов для ОС Linux (**Bash**) и Windows (**PowerShell**/Batch).
· **Понимание процесса тестирования HW:** Опыт разработки тестовых прошивок, скриптов, работы с логами, верификации результатов.
· **Опыт работы с Linux**
**Будет преимуществом (плюсом):**
· **Опыт программирования микроконтроллеров (MCU):** Написание прошивок для ARM Cortex (STM32), AVR, PIC или ESP. Понимание регистров периферии.
· **Опыт работы с контроллером граничного сканирования (Boundary Scan):** Знание стандарта IEEE 1149.1/6 (JTAG), работа с системами типа **Corelis**, **XJTAG**, **ASSET ScanWorks** или аналогами. Умение разрабатывать тесты на межсоединения (interconnect tests), а также функциональные тесты с устройствами, не входящими в JTAG цепочку.
· **Работа с измерительным оборудованием:** Написание ПО для удалённой работы с приборами через VISA, LXI по GPIB, RS-232/485, Ethernet.
· **Знание графического языка программирования LabVIEW**.
Условия
- Гибридный формат работы, комфортный офис на Кутузовском 32.
- Ежегодный пересмотр зарплаты, годовая премия. Уровень дохода обсуждаем с успешным кандидатом, исходя из его опыта и навыков.
- Корпоративный спортзал и зоны отдыха
- Расширенный ДМС, льготное страхование для семьи и корпоративная пенсионная программа
- Бесплатная подписка СберПрайм+, скидки на продукты компаний-партнеров.

