SOFTINTERMOB специализируется на разработке мобильных приложений для различных сегментов AppStore и Google Play, включая игры, здоровье и фитнес, путешествия и навигацию, фото и видео, образование, а также многое другое. В нашем портфолио более 300 выпущенных проектов и каждый день наши приложения скачивают более 200 000 человек по всему миру. Наша команда состоит более чем из 400 талантливых специалистов, которые объединены общей целью создания уникальных мобильных приложений.
Работаем над особой задачей от руководства и ищем middle+ или senior fullstack разработчика, который возьмёт на себя обработку временных рядов и визуализацию результатов. Важны ответственность за результат и умение ясно коммуницировать — предстоит много инженерных решений и взаимодействия.
Чем предстоит заниматься:
- Переносить и дорабатывать математические алгоритмы обработки временных рядов с большим количеством точек в Node.js;
- Реализовывать графическое отображение отчётов: интерактивные графики и таблицы результатов на фронтенде;
- Разрабатывать брутфорс-алгоритм по нескольким параметрам;
- Оптимизировать брутфорс: отсекать заведомо ухудшающиеся сценарии и обеспечивать параллельное выполнение нескольких сценариев;
- Обеспечивать устойчивую работу долгих асинхронных вычислений: очереди, контроль прогресса, обработка ошибок;
- Проектировать доступ к данным через ORM/Query Builder и настраивать эффективные запросы к БД;
- Повышать производительность и экономию памяти при работе с большими наборами данных и визуализациями.
Наши ожидания:
- Опыт обработки больших массивов данных в Node.js от 2 лет — критически важно для работы с временными рядами и оптимизации использования памяти;
- Навыки работы с ORM/Query Builder (Sequelize, TypeORM, Knex.js) от 2 лет — построение сложных запросов и гибкая работа с БД;
- Умение вести длинные асинхронные задачи от 2 лет: Promises, async/await, очереди, worker threads — для брутфорса и параллельных сценариев;
- Хорошее понимание функциональных компонентов React, хуков (useState, useEffect, useContext) и управления состоянием от 2 лет;
- Опыт с библиотеками графиков: Chart.js, Apache ECharts, Recharts или D3.js — выбор инструмента и оптимизация отрисовки;
- Ответственность за результат и самостоятельное ведение фич от постановки задачи до релиза;
- Эффективная коммуникация: договариваться о сроках и приоритетах, прозрачно репортить прогресс;
- Системный problem-solving: нахождение узких мест и предложение рабочих оптимизаций;
- Гибкость и адаптивность к меняющимся требованиям и новым технологиям;
- За 3–6 месяцев полностью войти в проект и взять на себя ключевые задачи по разработке и оптимизации;
- Активно участвовать в архитектурных обсуждениях, поддерживать код-ревью, тестирование и документацию;
- Делиться практиками и наставлять менее опытных коллег.
Будет плюсом:
- Кеширование в Redis;
- Оптимизация запросов к БД;
- Использование worker threads для тяжёлых вычислений в Node.js;
- Понимание основных технических индикаторов (SMA, RSI и т.д.);
- Умение создать Dockerfile для бэкенда и фронтенда;
- Работа с docker-compose для поднятия окружения (БД, бэкенд, фронтенд).
Что мы предлагаем:
- Возможность работать из офиса в Алматы или удалённо;
- Формат сотрудничества обсуждается: ставка, ставка + бонусы, проектная или по спринтам (в том числе недельная оплата);
- Возможны модели по прейскуранту/трекеру; предусмотрен испытательный срок.
- Удобный график с 9:00 до 18:00 по Москве;
- Сотрудничество по гражданско-правовому договору;
- Возможность реально влиять на развитие продукта — включенность с самого начала, работа с лидирующим продуктом и техническим руководством;
- Среда, где ценится инициатива, ответственность, бизнес-подход к играм, а не просто постановка задач.