+7 (495) 859-21-36
Предоставляемые услуги
  1. Сайты
  2. Порталы
  3. Интернет-магазины
  4. Мобильные приложения
  5. Лендинги
  6. Брендинг
  7. Нейминг
  8. Продвижение
  9. Дизайн сайта
  10. Личные кабинеты
  11. Аудит сайта
  12. Образовательные платформы
  13. Сайты на Тильде
  14. Комплексный интернет маркетинг
  15. Техническая поддержка
  16. Коммерческие фотосессии
Вакансия

Мобильный разработчик Kotlin Multiplatform, C++

Для тех программистов, кто любит глубоко разбираться в технологиях и решать сложные нестандартные задачи.
Подробнее о вакансии
Описание вакансии:

О вакансии:

Эта вакансия для тех, кто выбрал программирование своим образом жизни, кто любит глубоко разбираться в технологиях и решать сложные нестандартные задачи. Здесь речь идёт о глубоком искреннем интересе и остром интеллекте.

Разработчики на этой позиции участвуют в создании кроссплатформенных сервисов, в основном для Android, Linux и Windows. Часто задачи связаны с многопроцессной архитектурой, контейнерами и разработкой на уровне операционных систем. Реже бывают задачи и по созданию обычных пользовательских приложений с UI. Вы сможете лучше понять это при знакомстве с тестовым заданием.

Обращаем внимание тех кандидатов, которые считают себя строго мобильными разработчиками, что в нашем понимании мобильная разработка в первую очередь подразумевает глубокое понимание специфики мобильных операционных систем, а вовсе не умение рисовать UI для клиентской части. Поэтому просим не возмущаться, когда в тестовом задании вы увидите много непривычных для вас технологий.

Стартовые требования к кандидатам:

— уверенные знания Kotlin или Java;
— знание C++ или готовность быстро его изучить;
— знание Andoid SDK и готовность изучать Android NDK;
— базовое понимание архитектуры Linux-систем;
— наличие своих или учебных проектов на Java/Kotlin;
— умение пользоваться инструментами отладки;
— понимание модульности в проекте; 
— умение применять шаблон проектирования Singleton;
— умение рефакторить собственный код;
— умение использовать документацию и ChatGPT для технических исследований;

Коммерческий опыт не является обязательным. Обязательным является высокий уровень интеллекта и целеустремлённость в изучении архитектурных решений и технологий.

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

— разработка кроссплатформенных приложений и сервисов на KMP и С++;
— проведений исследований и поиск технологических решений нестандартных задач;
— упаковка функционала в бинарные SDK с обёртками для Kotlin/Java;
— написание тестов и отладка собственного кода;
— документирование собственного кода текстом и схемами;
— работа в команде разработчиков;
— отчётность и участие в регулярных собраниях;
— строгое соблюдение дедлайнов по поставленным задачам.

Какие форматы сотрудничества мы предлагаем на выбор:

— удалённая работа с возможностью посещения офиса в Москве;
— полностью удалённая работа для жителей других городов.

Условия сотрудничества:

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

Мы хорошо относимся к сотрудничеству со студентами технических ВУЗов, поэтому рассматриваем гибкий график работы с общей занятостью 45 часов в неделю.

Какие качества характера и ценности способствуют работе в нашей команде:

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

Отдельно скажем о такой ценности, как надёжность и стабильность технических решений:

При разработке сервисов мы выдвигаем особые требования к стабильности их работы и максимальной устойчивости к сбоям и паузам в работе. Зачастую приложения имеют статус системных сервисов и должны работать бесперебойно 24/7 в течение длительных периодов времени, даже на Android. Это специфика накладывает повышенные требования к детальной проработке алгоритмических решений, к учёту всех исключительных ситуаций, к пониманию управления ресурсами устройства и к в пользу стабильных низкоуровневых технологий. Проще говоря, надо глубоко вникать и нельзя пользоваться библиотеками без понимания, как они работают внутри.

С чего начать:

1. Отправьте нам заявку через форму ниже на этой странице, в сообщении можете кратко описать ваш опыт и стэк.
2. Свяжитесь с HR-менеджером в телеграме @bhdigitalhr с указанием, на какую вакансию вы откликаетесь. Обратите внимание, что первичный отбор специалистов для нас проводит команда Black Hammer Digital Teams, официальный телеграм-канал @blackhammerdigitalteams.
3. Если ваше резюме и портфолио нас заинтересует, то менеджер предложит вам выполнить тестовое задание, а вы сможете согласиться или отказаться от него.
4. Если тестовое задание выполнено в полном объёме, то менеджер предложит пройти собеседование уже с нашими разработчиками и расскажет об условиях сотрудничества.
5. После прохождения собеседования и появления взаимного желания сотрудничества, мы подключим вас к рабочим задачам, где вы постепенно будете в деле знакомиться и с командой.

О тестовом задании:

Тестовое задание построено на базе специфических задач, с которыми мы постоянно сталкиваемся на практике. Изначально предполагается, что для успешной реализации тестового задания вам необходимо будем провести самостоятельное техническое исследование и изучить некоторые технологии, с которыми вы ранее не сталкивались совсем.

Для исследований и изучения мы с уверенностью заранее советуем вам использовать не только документацию, но и последнюю версию Chat GPT. Рассматривайте его не как способ писать код, а как способ быстрого получения знаний о конкретных технологиях и архитектурных решениях. Некоторые разработчики, пренебрегая этим инструментом, значительно ослабляют исследовательскую часть и могут выбрать заранее тупиковые варианты решения.

На реализацию тестового задания отводится от 2 до 4 недель с хорошим уровнем занятости и погружения. В индивидуальном порядке мы можем продлить этот срок, если вы уже выполнили значительную часть и вам объективно не хватает времени для полной реализации.

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

О собеседовании:

Обычно собеседование проводится по Zoom или Google Meet с нашими разработчиками в течение часа и состоит из следующих частей:
— Общие вопросы о вашем образовании, стэке и практическом опыте разработки;
— Вопросы по общей теории и вопросы по знанию Kotlin и/или Java;
— Несколько задач на лайвкодинг;
— Вопросы по коду вашего тестового задания;
На собеседование приходите со включённой вебкамерой и будьте готовы расшарить экран для демонстрации кода.

О карьерном росте:

В нашей команде безусловно можно и нужно развиваться. Карьерный рост — развитие навыков, более сложные задачи и повышения уровня дохода. На какие факторы следует обратить внимание, чтобы зарабатывать больше:

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

Об отношениях внутри:

Уважение и признание в команде основано на нескольких простых и понятных принципах:
— Вас уважают, если вы пишете продуманный стабильный код, который не крашится из-за множества неучтённых исключений, глупых ошибок или недостачного исследования при выборе решения.
— Вас уважают, если вы самостоятельно продумываете и формализованно описываете алгоритмические решения поставленных верхнеуровнево задач;
— Вас уважают, если вы самостоятельно проводите глубокое исследование и обоснованно предлагаете оптимальное технологическое решение задачи;
— Вас уважают, когда вы приходите на собрание с вовремя выполненным функционалом, который чётко работает.

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

Форма обратной связи