Middle Python-разработчик (IoT/Embedded) (удаленная работа)

15 января 2025

Уровень зарплаты:
з.п. не указана
Требуемый опыт работы:
Не указан

Вакансия: Middle Python-разработчик (IoT/Embedded)

Описание вакансии

Мы ищем Middle Python-разработчика (IoT/Embedded) для работы над проектом по созданию IoT-приложений для автоматизированного управления и оптимизации процессов добычи нефти и газа на основе физ-мат. моделей (Model predictive control).


Обязанности:
  • Написание и оптимизация кода для приложений, которые будут работать на устройствах с ограниченными ресурсами;
  • Адаптация и рефакторинг кода в условиях динамично изменяющихся требований;
  • Разработка и тестирование прототипов на Python для проверки гипотез и функционала;
  • Анализ предметной области моделирования и оптимизации технологических процессов добычи, первичной переработки и транспорта нефти и газа;
  • Тесное взаимодействие с аналитиками для определения требований к разрабатываемому функционалу;
  • Участие в планировании и оценке задач, оценка сложности и времени выполнения;
  • Оптимизация производительности приложений;
  • Проектирование функциональной архитектуры системы, логической модели данных;
  • Подготовка Python-кода к последующему переносу на C++ или Rust, включая использование расширений на C/C++ при необходимости.
Требования:
  • Опыт разработки приложений с нуля:

    - уверенное знание Python и способность писать чистый и поддерживаемый код без использования готовых фреймворков;
    - опыт создания приложений с нуля и разработки архитектуры для решения специфических задач;
    - понимание принципов модульности кода и способности проектировать код таким образом, чтобы он был легко адаптируемым под меняющиеся требования;
  • Глубокие знания в области асинхронного программирования
    - умение писать асинхронный код с использованием asyncio, async/await, а также знание особенностей работы этих инструментов в Python;
    - опыт написания и оптимизации многопоточных и многопроцессорных приложений с использованием библиотек multiprocessing;

  • Оптимизация кода и работа с ограниченными ресурсами;
    - способность анализировать производительность кода и проводить его профилирование с целью выявления узких мест;
    - опыт написания кода, который экономно использует ресурсы CPU и памяти;

  • Опыт работы с базами данных: настройка и интеграция SQL/NoSQL баз данных, написание запросов;

  • Уверенные навыки работы с системой контроля версий Git, опыт проведения code-review и создания pull request'ов.


Будет плюсом:

  • Опыт работы с embedded-системами и понимание принципов работы железа;
  • Знание протоколов связи для IoT (Modbus (и его реализации), OPC UA и т.д.);
  • Знание и опыт разработки на одном из языков - C/C++/Rust;
  • Опыт написания Python-расширений на C/C++, Cython или Rust;
  • Опыт в создании и работе с тестовой средой для эмуляции работы на реальном железе.


Условия:

  • Интересные задачи и возможность профессионального роста;
  • Высокий уровень дохода (мы готовы обсуждать условия дохода с каждым кандидатом по итогам личной встречи);
  • Удаленная работа;
  • ДМС;
  • Профессиональный и позитивный коллектив;
  • Возможность влиять на архитектуру и развитие продукта.

    Ждем ваши резюме!