Wildberries – это крупнейший маркетплейс России с миллионами пользователей и миллиардами оборота, работающий на рынке 19 лет. Наша компания стабильно развивается и работает в усиленном режиме: использует современный стек и новейшие технологии, разрабатывает множество новых hi-tech продуктов.
Wildberries в цифрах:
130 млн пользователей. 8 стран присутствия и более 30 тыс. пунктов выдачи заказов. 43 млн клиентов и более 10 млн ежедневных заказов. 8 из 10 заказов доставляются на следующий день. Свыше 170 000 человек в нашей команде.
Чем предстоит заниматься:
Сбор, анализ и документирование требований от заказчиков и заинтересованных сторон;
Проектирование архитектуры программных систем с учетом микросервисов и мобильных платформ;
Разработка технической документации (SRS, Use Cases, UML-диаграммы);
Взаимодействие с командами разработчиков, тестировщиков и продукт-менеджеров;
Участие в планировании задач и управлении рисками в Agile/Scrum-процессах;
Работа с исходным кодом AOSP, сборка и модификация прошивок.
Что мы ожидаем от вас:
Общие требования:
Опыт работы в разработке ПО не менее 4-5 лет, из них минимум 3 года на позиции системного аналитика или в смежных ролях;
Опыт работы с мобильными ОС (предпочтительно Android);
Знание микросервисной архитектуры.
Опыт работы в Agile/Scrum;
Уметь презентовать, обосновывать и отстаивать свою точку зрения.
Технические навыки:
Опыт работы с Git;
Понимание как работает CI/CD;
Обязательное понимание сетевых протоколов (TCP/IP, HTTP и т.д);
Понимание по уровням OSI;
Обязательно минимальные навыки программирования на любом языке;
Обязательное понимание технологий REST, SOAP, SQL, API;
Базовое знание Linux/Unix-систем;
Знание процессов загрузки Android (bootloader, kernel, init) и систем сборки (Gradle, Make, Soong) - будет преимуществом;
Опыт работы с контейнеризацией (Docker, KVM) - будет плюсом.
Аналитические навыки:
Умение проектировать компоненты и системы. Выбирать наиболее подходящие решения, технологии и протоколы;
Умение создавать полные и понятные технические задания и документацию;
Способность расставлять приоритеты как в своих задачах, так и для команд разработки;
Умение исследовать ситуацию со всех сторон с учетом всех pros/cons и находить наиболее рациональное решение.
Будет плюсом:
Глубокое понимание архитектуры Android (Binder, HAL, Zygote, System Server). Будет большим преимуществом;
Уверенное программирование на любом языке, особенно если это Java, C/C++ и/или Kotlin;
Опыт работы с Gerrit;
Опыт настройки CI/CD в Jenkins и\или GitLab;
Опыт работы с AOSP (сборка, модификация прошивок);
Если есть понимание работы ядра и драйверов Linux;
Знание мобильных сетей (4G/5G, Wi-Fi, Bluetooth) и стандартов (GSMA, 3GPP);