Middle Python-разработчик (IoT/Embedded)

Дата размещения вакансии: 31.03.2025
Работодатель: Oil and Gas Production Tools
Уровень зарплаты:
з/п не указана
Город:
Санкт-Петербург
Требуемый опыт работы:
От 1 года до 3 лет

OGPT — технологическая it-компания, ориентированная на создание и внедрение передовых решений в области искусственного интеллекта и физико-математического моделирования в производственные процессы нефтегазодобычи. Мы разрабатываем уникальные продукты, которые помогают бизнесу значительно повышать свою эффективность, улучшать принятие решений и автоматизировать процессы. Наши технологии уже сегодня позволяют компаниям достигать выдающихся результатов, используя возможности искусственного интеллекта.

В OGPT мы стремимся создавать инновационную среду, где каждый сотрудник может раскрыть свой потенциал, применяя свои знания и навыки для решения реальных и амбициозных задач. Мы ищем людей, которые готовы не только работать, но и развиваться вместе с нами, внося свой вклад в создание высококачественных продуктов, которые меняют будущее.

Если вы хотите работать в динамичной и поддерживающей команде, где ценится креативность, экспертиза и стремление к совершенству, OGPT — это место для вас. Мы уверены, что только вместе, с лучшими специалистами, можно достигать высоких целей и воплощать инновации в жизнь.

И сейчас мы ищем 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;
  • Опыт в создании и работе с тестовой средой для эмуляции работы на реальном железе.

Условия:

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

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