Инженер-программист ГИС
В Emlid мы создаем современное профессиональное геодезическое оборудование для высокоточных измерений. Мы разрабатываем как аппаратное, так и программное обеспечение сами, и постоянно общаемся с нашими пользователями, чтобы собирать отзывы, которые вдохновляют нас на улучшение наших продуктов.
Нашу команду объединяет общий интерес к исследованиям, глубокое вовлечение в задачи и коллективное стремление к совершенству — и мы приветствуем тех, кто разделяет наши ценности и подход к работе.
Сейчас мы ищем инженера-программиста ГИС, чтобы присоединиться к нашей команде Geodata Core.
В этой роли вы будете:
- Помогать в создании и улучшении нашей собственной кроссплатформенной библиотеки Kotlin для геодезических расчетов, систем координат и измерений;
- Руководить разработкой основных функций от начала до конца. Тесно сотрудничать с другими командами разработчиков (мобильной, бэкенд, дизайн) для их интеграции в наши флагманские продукты: мобильные приложения для Android и iOS, а также облачные приложения;
- Оказывать существенное влияние на наши продукты, проводя углубленные исследования в предметной области — геодезии, систем координат и рабочих процессов геодезических измерений;
- Работать с инструментами сборки для кросс-компиляции нативных библиотек C/C++ (CMake, Bash) и оркестровать сборку и распространение артефактов (Gradle, GitHub Actions/Packages) на различных платформах;
- Вносить вклад в стабильность и отказоустойчивость конвейеров CI/CD, используемых для автоматизированного тестирования и развертывания.
Наш технологический стек:
- Kotlin, Kotlin Multiplatform, Kotlin Native;
- Нативные библиотеки C/C++ (PROJ, GDAL), CMake, Bash;
- Gradle, GitHub Actions/Packages;
- SQLite, Couchbase.
Примеры задач:
- Разработать и выпустить публичный API для новых функций, на основе которых будут строить наши мобильные и облачные команды;
- Реализовать алгоритмы вычислительной геометрии: обнаружение самопересекающихся многоугольников, разбиение линий и областей, вычисление пересечений;
- Реализовать математические расчеты для полевых измерений — метод наименьших квадратов, геодезические расчеты на эллипсоиде, компенсацию координат для континентального дрейфа и т.д.;
- Адаптировать новую нативную библиотеку C/C++: кросс-скомпилировать ее и обернуть в публичный API, чтобы тот же код Kotlin работал на всех мобильных и облачных платформах;
- Добавить поддержку новой национальной системы координат или геоидальной модели, разработав трансформацию на основе официальных спецификаций и проверив ее по эталонным данным;
- Реализовать парсинг и запись нового векторного или растрового формата файлов, уделяя внимание корректности данных, надежности и обработке ошибок.
Требования:
- Свободное владение Kotlin или другим объектно-ориентированным языком (Java, C++, Python) с готовностью работать в основном с Kotlin;
- Практический опыт работы с Unix-подобными системами (Linux, macOS) и Bash;
- Глубокое знание SQL баз данных и запросов;
- Прочные знания в области геометрии, математики и линейной алгебры;
- Интерес к области геодезии/геопространственных данных (системы координат, геодезия, ГИС-форматы).
Вашим преимуществом будет:
- Опыт работы с Kotlin Native и/или Kotlin Multiplatform конкретно;
- Опыт работы с системами сборки, такими как Gradle и CMake;
- Знакомство с NoSQL базами данных, такими как MongoDB или Couchbase;
- Опыт работы с Git-based рабочими процессами для управления версиями и совместной работы.
Что мы предлагаем:
- Выходные дни — 20 дней отпуска в год, плюс 5 государственных праздников в год.
- Больничный — до 10 дней в год, в течение которых ваша контрактная оплата останется неизменной.
- Гибкое начало рабочего дня — Мы понимаем, что у всех разный график, поэтому вы можете начинать свой рабочий день в любое время до 12:00 CET/CEST.
- Рабочее место — Мы предоставляем все необходимые инструменты и лицензии для комфортной и эффективной работы.
- Оптимизированные процессы — Только сфокусированные, целенаправленные совещания и четкие рабочие процессы, чтобы вы могли реально выполнять задачи.
- Рост и развитие — Мы поощряем ваш профессиональный путь, предлагая возможности для обучения, наставничества и пространство для решения новых задач.
Готовы присоединиться к нашей команде?
Отправьте свою заявку на hr@emlid.com.