Мобильный - разработчик (Senior/Team Lead)

Зарплата

от 200 000 до 350 000 ₽

Местоположение и тип занятости

Полный рабочий деньМожно удаленно

Компания

SmartMerch — пионер в области внедрения искусственного интеллекта и машинного обучения в бизнес-операции.

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

Условия работы

Обязанности:

  • Создание нового функционала в приложении/камере
  • Интеграция с другими приложениями клиентов
  • Новые экраны и функциональные элементы
  • Исправление ошибок
  • Рефакторинг кода
  • Проработка архитектуры приложения
  • Оптимизация работы
  • Управление командой
  • Общение с внешними разработчиками

Требования:

  • C++ от трех лет коммерческой разработки:
    a. Понимание разницы между стандартами, понимание фич стандарта C++11 и C++14
    b. Знание основ STL, структур данных и алгоритмов.

    с. Умение применять на практике умные указатели, потоки и т.д.
    d. Понимание управления памятью, аллокаций, виртуальными методами

  • Qt5 от трех лет коммерческой разработки
    a. Понимание жизненного цикла Qt приложения - QEventLoop, QGuiApplication, QEvent, концепции MOC, signals/slots
    b. Знание контейнеров (понимание отличия и сходства с STL контейнерами)
    с. Опыт работы с QML: QtQuick Controls 1.x и 2.x, понимание взаимодействия QML UI c бэкендом на C++ (запуск UI, Connections, Q_INVOKABLE), умение писать чистый qml код пригодный для переиспользования

d. Опыт работы с QtNetwork, понимание принципов работы QNAM, QNetworkReply и т. д.

e. Понимание принципов кроссплатформенного программирования
f. Опыт разработки приложений с поддержкой локализации

  • Понимание принципов архитектуры приложений:
    a. Паттерны проектирования
    b. Практическое применение мультипоточного программирования
    c. JNI: понимание взаимодействия плюсового кода с кодом на java в одном приложении. Вызов методов Java классов из JVM, регистрация callbacks, для вызова из Java кода
  • Android
    a. Понимание принципов архитектуры android приложения
    b. Понимание жизненного цикла android приложения
    с. Умение писать Java код (большим плюсом будет наличие опыта в Kotlin)
    d. Понимание разницы в версиях Android API
    e. Умение пользоваться Android Studio (или Intellij Idea с плагинами)
  • iOS
    a. Наличие опыта разработки под iOS (желательно)
    b. Наличие опыта в Objective-C
    c. Или желание с ним разобраться
  • Английский язык
    a. Уровень достаточный для чтения англоязычной документации, форумов, SO.7.
  • Утилиты
    a. Опыт работы с трекерами (JIRA, Redmine и т.п.)
    b. Опыт работы с git и github: создание, слияние веток; пулл реквесты, ревью.
  • Понимание как откатить коммит, как сделать patch и т. д.

Мы предлагаем:

  • Интересные и амбициозные задачи;
  • Работу в среде специалистов высокого уровня и единомышленников;
  • Дружелюбную атмосферу, демократичное руководство;
  • Справедливую денежную мотивацию;
  • Возможность прямо влиять на стратегию развития компании, технологий и продукта;
  • Гибкий график при полной 5-дневной рабочей неделе, возможность работать удаленно или в офисе в Москве.
  • Корпоративная культура.

Дополнительные инструкции

выполнить тестовое задание