Position: Embedded Developer (OS Malevich)
Company: Ajax Systems
Category: C++
Experience: 3y

За розробку пристроїв у Ajax відповідає R&D-департамент, який складається з чотирьох команд: System, Devices, Automation та QA.
Команда System робить пристрої розумними, перетворюючи їх на повноцінний IoT. Учасники команди створили й розвивають OS Malevich (модульна RTOS для різних апаратних платформ) і хмарний сервіс Ajax Cloud (Java 12, AWS, Akka). Для керування, обслуговування та моніторингу системи користувачами, інсталяторами й інженерами охоронних компаній розроблені застосунки для iOS (Objective-C, Swift), Android (Java, Kotlin), Windows/macOS (Python, QT, QML).
У нас багато пропрієтарних технологій. Так, ми впроваджуємо в ДНК продукту можливості й технології, копіювання яких є настільки трудомістким процесом, що просто не має сенсу. Такими розробками стали радіопротоколи Jeweller і Wings, операційна система OS Malevich, алгоритми датчиків і багато іншого. Саме в команду розробки OS Malevich ми шукаємо Embedded-інженерів, які готові покращити нашу систему разом з нами.

Вимоги:
- досвід розробки комерційних продуктів IoT від 3-х років;
- досвід написання ПЗ під FreeRTOS, TIrtos, etc або під baremetal;
- досвід роботи з процесорами STM32;
- відмінне знання embedded coding techniques, інтерфейсів (SPI, I2C, UART) та підсистем;
- досвід роботи з архітектурою ARM Cortex;
- впевнені знання мови програмування C;
- розуміння операційних систем: досвід програмування у embedded Linux або подібних вбудованих операційних системах (розуміння понять потоків, задач, нам важливий досвід з Real-time operating system);
- досвід наладки та валідації складних embedded system та робота з протоколом стеку

Буде плюсом:
- досвід програмування RF-модулів та розробки бездротових рішень для низького енергоспоживання;
- знання скриптових мов (Python, Bash);
- мультизадачність, можливість ефективно і швидко переключатись між різними проектами;
- основи електроніки: наші Embedded інженери використовують осцилографи, логічні аналізатори та мультиметри

Обов’язки:
- активна участь у повному циклі розробки ПЗ для embedded: проектування, впровадження, рев’ю коду, документування, тестування та валідація;
- бажання і наполегливість знаходити справжнє джерело проблеми, що прийшла як від користувачів, так і від команди QA;
- співпраця з інженерами-електриками для перевірки нового обладнання з точки зору software team;
- модернізація фреймворка під нові пристрої, участь у релізах ОС Malevich;
- робота з високими технічними вимогами до досліджень та розробок нового функціоналу;
- участь у прийнятті дизайнерських рішень щодо розробки високопродуктивних та надійних embedded систем;
- створення модульних та функціональних тестів

Пропонуємо:
- свободу приймати рішення та втілювати ідеї;
- можливість впливати на продукт і виробництво замість монотонного закриття задач;
- роботу в мотивованій команді та zero bullshit culture;
- гнучкий графік в офісі;
- турботу та медичне страхування