Наша компанія — це місце, де інновації народжуються щодня. Ми працюємо в сфері робототехніки та є обʼєктом критичної інфраструктури.
Компанія стрімко масштабується та шукає Senior Software Developer (Python).
Основні обов’язки:
- Розробка асинхронних Python-сервісів для Raspberry Pi для збору телеметрії, моніторингу стану та допоміжних функцій керування, забезпечувати масштабованість та надійність.
- Інтеграція з ArduPilot через MAVLink.
- Побудова відеопотоків через GStreamer, накладання OSD-даних у реальному часі.
- Інтеграція алгоритмів для виявлення об’єктів.
- Налаштовування пайплайнів CI/CD, автоматизація тестів та впроваджування контролю якості коду.
- Забезпечення низької затримки у передачі даних та роботи системи в умовах нестабільного зв’язку.
- Участь у код-рев’ю, технічних обговореннях, менторство колег, підготовка документації й технічних специфікацій.
Що нам важливо в тобі?
- Основи комп’ютерних наук. Розуміння базових концепцій роботи операційних систем, знання складових компютера та його різницю від мікроконтролера.
- Патерни проєктування та архітектура API. Вміння застосовувати принципи ООП (4 pillars) та SOLID для розробки LLA та архітектурних підходів для розробки HLA. Розуміння відмінностей між монолітною та мікросервісною архітектурою, а також використання сервісів які забезпечують комунікацію між іншими сервісами. Знання основних груп патернів проєктування (напр., Creational, Structural, Behavioral).
- Python. Знання синтаксису, вбудованих типів даних та методів роботи з ними, досвід використання класів, знання концепції closure, а також відмінностей між процесами та потоками.
- Мережеві протоколи. Розуміння моделі OSI та її співвідношення з TCP/IP. Знання таких протоколів, як HTTP, WebSocket, TCP, UDP, DNS, DHCP, а також концепцій послідовної та паралельної комунікації.
- Бази даних. Розуміння концептів реляційних (RDBMS) та нереляційних (NoSQL) баз даних, а також їх ключові відмінності та сценарії застосування. Досвід роботи збереження даних в memory та storage (on disk).
- Контейнеризація. Розуміння концепцій віртуальних машин та контейнеризації, а також досвід роботи з Docker.
- Git. Розуміння стадій між внесенням змін та комітом (staging), відмінностей між fast-forward та no-fast-forward злиттям, а також сценаріїв використання git rebase. Знання та використання конвенцій найменувань гілок та комітів. Досвід використання стратегій роботи з Git (напр., GitFlow, Trunk-Based Development), а також розробка автоматизацій CI/CD.
Бажані вимоги (Nice to have)😉: - Інтеграція з ArduPilot через MAVLink.
- Побудова відеопотоків через GStreamer, накладання OSD-даних у реальному часі.
- Інтеграція алгоритмів для виявлення об’єктів.
Софт скіли:
- Комунікативні навички для ефективної співпраці з командами розробників, тестувальників і продакт-менеджерів.
- Навички вирішення проблем і аналітичне мислення.
- Гнучкість та здатність швидко адаптуватись до нових технологій і змін у проєкті.
Технологічний стек:
Python 3.10+, asyncio, FastAPI, C++, Bash, MAVLink (pymavlink), GStreamer (Python-обгортки) для відеопотоків, ZeroMq, Redis, pytest, mypy, ruff/black, pre-commit, Docker, compose,Prometheus, Grafana, CI/CD: GitHub Actions, Linux, Raspberry Pi, AWS, Gcloud, Airflow
Ми пропонуємо:
- Реальну можливість втілювати свої ідеї в масштабних проєктах, що змінюють стандарти галузі;
- Бронювання для військовозобов’язаних — твоя впевненість у завтрашньому дні;
- Роботу в дружній і професійній команді, де твій вклад дійсно має значення;
- Перспективи кар’єрного розвитку та постійного навчання;
- Офіційне працевлаштування та соціальний пакет — все, як має бути;
- Комфортний сучасний офіс у Києві з усім необхідним для продуктивної роботи;
- Доступ до передових технологій та можливість безперервно розвиватися.
Хочеш розвиватися та працювати в команді, яка змінює правила гри? Надсилай своє CV — і давай творити майбутнє разом.