Ответы Mail сейчас — платформа формата Q&A board, где пользователи задают вопросы и отвечают.
Планируется, что скоро всё изменится! У Ответов будет обновлённое позиционирование, новый дизайн и функциональность. Будет совершенно новая жизнь, к созданию и развитию которой мы предлагаем присоединиться.
Вашими коллегами и командой будут:
- фронтенд: тимлид и два разработчика;
- бэкенд: три разработчика;
- тестирование: part-time тимлид QA, 1 Auto QA и 1 Manual Q.
Сейчас мы в поисках опытного ведущего фронтенд-разработчика, который сыграет ключевую роль в стратегическом техническом развитии продукта и подготовит проект к масштабированию.
Новые Ответы Mail состоят из полностью новой кодовой базы. Потребуется много принимать решений из перспективы масштабирования и рисков, но не учёта совместимости и легаси-процессов.
Задачи:
- разработка и внедрение новых функций Ответов;
- проектирование и оптимизация архитектуры продукта для работы с большими объёмами данных (с учётом масштабируемости, отказоустойчивости);
- обеспечение стабильности и производительности при высоких нагрузках, масштабирования системы с учётом роста пользователей (80 млн → 100 млн MAU (d) и 5 млн → DAU (d));
- участие в разработке и реализации долгосрочной стратегии продукта, защита интересов технической команды;
- участие в создании и реализации стратегии тестирования совместно с QA-тимлидом (например, юнит-тесты, интеграционные тесты, нагрузочное тестирование).
Требования:
- опыт работы фронтенд-разработчиком от пяти лет;
- наличие системного мышления и умение видеть картину целиком;
- потребуется много общаться и отстаивать интересы технической команды при планировании продуктового развития.
Умения:
- разработка на TypeScript (понимание generic, conditional types, infer);
- разработка на Node.js;
- опыт работы с Server-Side Rendering;
- опыт профилировки и оптимизаций Nuxt/Next приложений;
- опыт оптимизаций клиентских приложений, Web Vitals, PageSpeed Insights, Lighthouse;
- навыки работы с базами данных (SQL, например PostgreSQL);
- желательно умение читать и анализировать код на Go (Golang).
Знания и понимание:
- понимание процесса гидратации в контексте SSR;
- опыт работы с GitLab, настройка CI/CD, написание и оптимизация пайплайнов;
- понимание базовых принципов работы Docker и Kubernetes (сборка образов, конфигурация);
- знание принципов RESTful API, WebSockets;
- понимание архитектурных паттернов (MVC, MVVM, Flux, Redux);
- понимание принципов безопасности веб-приложений (защита от XSS, CSRF, инъекций и прочее);
- понимание принципов работы с кешированием.
Проектирование и архитектура:
- опыт проектирования масштабируемых систем (как фронтенд, так и бэкенд);
- понимание принципов микросервисной и монолитной архитектур;
- понимание принципов работы баз данных на уровне оптимизаций;
- опыт работы с Redis, Kafka, Memcached, понимание, для чего нужны эти инструменты и когда стоит их использовать;
- опыт декомпозиции больших задач, написание требований для разработчиков.
Будет плюсом:
- наличие пет-проектов с полным стеком (Fullstack), демонстрирующих навыки фронтенда и бэкенда;
- опыт работы с автотестированием (Selenium WebDriver, Jest, Cypress);
- знание принципов TDD/BDD;
- знание современных трендов в разработке;
- навыки менторства и код-ревью.