Привет! Меня зовут Настя, я HR в Dinolab.
В нашу продуктовую команду ищем Backend разработчика на Ruby, который будет готов развивать и поддерживать экосистему, построенную на базе сервисной архитектуры и работать с разнообразным технологическим стеком. Вам предстоит заниматься модернизацией legacy систем и развитием существующих решений для личных кабинетов и интеграционных сервисов.
Dinolab — это образовательная онлайн-платформа для школьников, ориентированная на рынок Индии. Комплексная программа, разработана с помощью интерактивных заданий, что позволяет ученикам хорошо усваивать школьные предметы.
Технологический стек проекта:
-
Бэкенд (основное): Ruby, Ruby on Rails, PostgreSQL, Kafka, redis
-
Фронтенд: React, TypeScript, JavaScript.
-
Инфраструктура: Docker, Kubernetes, Nomad, Ansible
Будет плюсом: rabbitMq, node.js
Особенность проекта:
- Обширная кодовая база, гетерогенный стэк различных технологий; cобытийно-ориентированная сервисная архитектура основного продукта, насчитывающая несколько десятков различных служб и сервисов. Потоки данных проходят преимущественно через фоновые задачи.
- Движок сборки контента, представляющий собой конвеер с уникальными техническими решениями, обособлен от продуктовой части.
- Оркестратор для разработчиков с веб-интерфейсом, позволяющим производить выпуски без привлечения специалистов; интерфейсная часть насчитывает несколько сервисов, в настоящее время ведутся работы по переходу на полноценный micro frontend.
Вам предстоит:
- Проектировать архитектуру, писать технические решения, оценивать срок и состав работ.
- Углубляться в кодовую базу, проводить аудит, предоставляя экспертные заключения о состоянии служб, а так же о необходимости технических инвестиций и переработки их внутреннего устройства.
- Заниматься интеграцией сервисов между собой, используя RPC или асинхронные протоколы взаимодействия.
- Много работать с существующей кодовой базой, написанной с использованием различных подходов и стэка, часто переключать контекст и проекты.
- Осуществлять выпуск приложений с последующим сопровождением и мониторингом.
- Профилировать и оптимизировать службы, следить за техническими и бизнес-метриками (например, скорость, стабильность, конверсии).
Мы ожидаем, что у вас есть:
- Не менее 3х лет опыта разработки на Ruby (включая работу с низкоуровневыми библиотеками, FFI, native extensions).
- Навыки диагностики и анализа производительности, выявления узких мест и системных ошибок.
- Способность и желание работать с большим количеством задач разного технологического стэка и принципиальным умением (отсутствием боязни) частого переключения между контекстами.
- Знание базовых принципов программирования: алгоритмы, структуры данных, взаимодействие с памятью, основы работы ОС и сетей.
- Английский не ниже B1 — мы ведём техническую переписку на английском и бывают созвоны с индийской частью команды, для которых необходимо владение английским как минимум на B1 (у вас не должно быть барьера для обсуждения технических вопросов).
При отклике вас ждёт:
- Интервью с HR, 30 минут: мы начнем с краткого собеседования, чтобы узнать больше о вас и вашем опыте и задать несколько технических вопросов. И немного поговорим на английском, чтобы проверить ваш уровень.
- Интервью с PM, 45 минут: сверим ожидания и в целом обсудим, насколько совпадаем по подходу к работе.
- Техническое собеседование, 90 минут: проходит в формате вопрос-ответ, и небольшая часть с лайвкодингом.
- Финал с фаундером — 30-45 минут.
Если всё складывается, выходим на оффер.
Условия сотрудничества:
- Формат работы: удалённый формат из РФ или другой страны, работаем по московскому часовому поясу.
- Заработная плата: возможна оплата в любой валюте.
- Оформление: по ТК РФ в аккредитованной IT компании, или по b2b контракту