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;
- Опыт в создании и работе с тестовой средой для эмуляции работы на реальном железе.
Условия:
- Интересные задачи и возможность профессионального роста;
- Высокий уровень дохода (мы готовы обсуждать условия дохода с каждым кандидатом по итогам личной встречи);
- Удаленная работа;
- ДМС;
- Профессиональный и позитивный коллектив;
- Возможность влиять на архитектуру и развитие продукта.
Ждем ваши резюме!