Обязанности:
Wildberries — это крупнейший маркетплейс России, 30 млн пользователей, и масштабные технологические задачи. В связи с активным ростом департамента Инфраструктура находимся в поиске Tech Lead Go в сервис хранения пользовательских данных. User-Storage-высоконагруженное файловое хранилище собственной разработки, написанное на языке Go. Это решение отличаются шардированием, репликацией и линейной масштабируемостью, что обеспечивает 100% доступность файлов. Эти файлы играют ключевую роль в процессе совершения покупок клиентами через мобильное приложение и на сайте Wildberries, а также в пунктах выдачи заказов компании. Продукт обрабатывает более 28 тысяч запросов в секунду, обеспечивая бесперебойную работу 24/7, 365 дней в году. Количество клиентов сервиса измеряется в миллионах. Мы являемся гарантами синхронизации пользовательских данных на всех платформах Wildberries. Данные, которые мы храним: Корзины пользователей; Доставки пользователей; Настройки приложения пользователей; Кэш пользователя; Системная информация по корзине, заказам, пользователям и так далее. Особенность сервиса заключается в том, что данные для хранения могут быть представлены в любой модели данных, и мы никак не ограничиваем клиентов в сохранении пользовательских файлов в сервисе. Как мы работаем: Пишем на последних версиях Go. Используем Kafka для межсервисного взаимодействия. В сервисе нет базы данных, данные хранятся в файловой системе на серверах, но в будущем возможно появление ClickHouse. Используем Elasticsearch, Grafana, Alertmanager и Kubernetes K8S. Все приложения упакованы в 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). Что у нас есть и чем мы готовы делиться:Оформление по ТК РФ с первого дня.Гибкие бизнес-процессы, минимум бюрократии и согласований.Разные бонусы компании: партнерские программы по обучению и фитнесу, корпоративное питание для сотрудников в офисеTech Lead Go в сервис хранения персональных данных (BerryBasket)
Договорная
Санкт-Петербург
WILDBERRIES