Tech Lead Go в сервис хранения пользовательских данных

Дата размещения вакансии: 22.01.2025
Работодатель: WILDBERRIES
Уровень зарплаты:
з/п не указана
Город:
Москва
Требуемый опыт работы:
От 3 до 6 лет

Wildberries — это крупнейший маркетплейс России, 30 млн пользователей, и масштабные технологические задачи.

В связи с активным ростом департамента Инфраструктура находимся в поиске Tech Lead Go в сервис хранения пользовательских данных.

User-Storage-высоконагруженное файловое хранилище собственной разработки, написанное на языке Go. Это решение отличаются шардированием, репликацией и линейной масштабируемостью, что обеспечивает 100% доступность файлов. Эти файлы играют ключевую роль в процессе совершения покупок клиентами через мобильное приложение и на сайте Wildberries, а также в пунктах выдачи заказов компании.

Продукт обрабатывает более 28 тысяч запросов в секунду, обеспечивая бесперебойную работу 24/7, 365 дней в году.

Количество клиентов сервиса измеряется в миллионах. Мы являемся гарантами синхронизации пользовательских данных на всех платформах Wildberries.

Данные, которые мы храним:

  • Корзины пользователей;
  • Доставки пользователей;
  • Настройки приложения пользователей;
  • Кэш пользователя;
  • Системная информация по корзине, заказам, пользователям и так далее.

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

Как мы работаем:

  • Пишем на последних версиях Go;
  • Используем Kafka для межсервисного взаимодействия;
  • В сервисе нет базы данных, данные хранятся в файловой системе на серверах, но в будущем возможно появление ClickHouse;
  • Используем Elasticsearch, Grafana, Alertmanager и Kubernetes;
  • Все приложения упакованы в Docker и деплоятся нажатием одной кнопки;
  • У нас отличный CI/CD запускаем тесты, проверки безопасности и стиля на каждый pull request;
  • Все pull request проходят обязательное code review;
  • Участвуем в разработке и проектировании архитектурных решений, а также в реализации бизнес-задач.

Задачи:

  • Проектировать и управлять архитектурой решений, улучшать существующую микросервисную архитектуру;
  • Совершенствовать подходы и процессы разработки, писать новые и развивать существующие сервисы на Go;
  • Руководить технической стороной команды разработки: декомпозировать и ставить задачи разработчикам, контролировать выполнение решений, проводить код-ревью, управлять приоритетами работ;
  • Участвовать в планировании с менеджером проекта для реализации задач разработки продуктов;
  • Согласовывать с бизнес-заказчиками требования, а также ставить приоритеты задачам;
  • Участвовать в процессе найма и наставничества разработчиков.

Ожидания от кандидата:

  • Опыт коммерческой разработки на Go от 4 лет;
  • Отличное знание базовых алгоритмов и структур данных;
  • Способность самостоятельно разбираться в сложных вопросах, проактивность в решении задач, умение консолидировать усилия свои и команды для достижения целей;
  • Опыт написания провайдеров и библиотек для подключения к базам данных, брокерам сообщений и другим инфраструктурным компонентам, а не только логики приложения;
  • Опыт работы с системами логирования и мониторинга: Kibana/OpenSearch, Grafana;
  • Уверенные навыки работы в Unix/Linux: глубокие знания операционной системы (ядро, память, процессы), умение диагностировать проблемы, например, определять причины состояния D-state у процесса и анализировать системные вызовы;
  • Опыт разработки высоконагруженных систем 100k rps+
  • Практика работы с контейнерами (Docker, Kubernetes) и микросервисной архитектурой;
  • Уверенные знания Web/HTTP. Понимание и опыт работы с gRPC;
  • Опыт работы с системами обмена сообщениями, такими как Kafka и NATS;
  • Опыт работы с реляционными базами данных (PostgreSQL, ClickHouse) на уровне написания сложных запросов, оптимизации, транзакций;
  • Приветствуется опыт работы с NoSQL решениями (Redis, MongoDB, Etcd).

Что у нас есть и чем мы готовы делиться:
Оформление по ТК РФ с первого дня.
Гибкие бизнес-процессы, минимум бюрократии и согласований.
Разные бонусы компании: партнерские программы по обучению и фитнесу, корпоративное питание для сотрудников в офисе.