SENIOR / LEAD PYTHON DEVELOPER
Компания Моринтех занимается цифровизацией и автоматизацией хозяйственной деятельности в Российских морях.
Один из наших проектов – создание платформы мониторинга антропогенного воздействия. Наша система должна собирать разнородные данные: спутниковую съемку, треки передвижения судов, измерения с датчиков, съемки с беспилотников, погодные датасеты. Затем система должна запустить разные расчетные модели и превратить исходные данные в картографическую информацию, которая будет полезна специалистам, оценивающим какой вред природе мы наносим и как именно можно его снизить. Для создания продуктов используются разные подходы: математические расчетные модели, нейронки для обработки изображений, библиотеки для обработки спутниковых данных.
Мы ищем продвинутого разработчика, которому как и нам нравится делать что-то нетривиальное по технологии и глобально полезное для мира, с минимальной бюрократией и большой свободой в выборе способа реализации.
Обязанности:
- Разработка бекенда для собственных web-проектов компании;
- Работы с большими объемами данных, написание эффективных нетривиальных алгоритмов работы с данными в т.ч. пространственными данными,
- Проектирование и оптимизация структуры БД и т.д.;
- Проектирование и выработка архитектурных решений, интеграций, проектирование API;
- Поддержка и доработка существующих систем;
- Написание юнит-тестов и технической документации по своим задачам;
- Оптимизация сервисов под высокие нагрузки и большие объемы данных;
- Проведение Code Review, Design Review, наставничество над менее опытными коллегами, декомпозиция сложных задач;
- Коммуникация с продакт-оунерами, аналитиками, экспертами предметной области, уточнение и прояснение требований.
Требования:
- Опыт в коммерческой разработке от 1,5 лет;
- Уверенное знание Python 3.* и основных python библиотек;
- Уверенное знание структур данных, понимание алгоритмической сложности;
- Уверенные знания реляционных СУБД, понимание принципов обеспечения высокой производительности работы с БД (индексация, эффективное использование памяти и процессора сервера СУБД);
- Уверенный пользователь Linux;
- Знание, понимание и опыт практического применения лучших инженерных практик разработки (пирамида тестирования, юнит тесты, TDD, CI/CD, контейнеризация);
- Понимание горизонтальной масштабируемости, умение выстраивать эффективную горизонтально масштабируемую архитектуру;
- Понимание ключевых архитектурных подходов/паттернов: микросервисы vs монолит и т.д.;
- Понимание HTML, CSS, JavaScript;
- Умение работать самостоятельно и в команде, проактивность, способность брать на себя ответственность, стремление к постоянному совершенствованию своей и командной работы;
- Умение планировать свою работу, открытость, готовность своевременно и полноценно информировать коллег о ходе работы и возникающих проблемах.
Дополнительно будет плюсом:
- Успешный опыт наставничества;
- Опыт разработки и последующего длительного сопровождения в продакшен нагруженного приложения с продолжающейся активной разработкой;
- Знание и практические навыки работы с геоданными: MapProxy, Apache Nifi, Leaflet, Open Layers, Mapnik, CartoDB, семейство VisGL, GeoTIFF, GeoJSON;
- Опыт конфигурирования и сопровождения CI/CD;
- Понимание работы фронта.
Наш стек:
Языки: Python, JS, SQL;
Фреймворки: FastApi, Leaflet;
Хранилища PostgreSQL (SQL, PL/PgSQL, PostGIS, SQL/JSON);
Дополнительные инструменты:
CI/CD GitLab, Docker.
Условия:
- Работа в команде профессионалов на стыке передовых ИТ технологий и науки;
- Официальное оформление ТК РФ (своевременные выплаты 2 раза в месяц);
- Возможность профессионального и карьерного роста;
- Заработная плату, соответствующая Вашему профессиональному уровню и индексируемая в соответствии с ростом профессиональных навыков;
- Отсутствие дресс-кода;
- Медицинская страховка (ДМС);
- Рабочая техника: современный лэптоп DELL + два больших монитора; удобные кресла;
- Современный уютный офис в шаговой доступности от метро, в котором царят забота и комфорт (чай/кофе, печеньки, фрукты все как полагается);
- Поощрение профессионального развития (возможность обучения, участия в конференциях);
- Открытость руководства к новым идеям и предложениям, адекватное отношение к каждому сотруднику, без лишних формальностей и бюрократии.