Tech Lead Go в сервис хранения персональных данных (BerryBasket)

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

BerryBasket - это:

highload сервис, предназначенный для предоставления продуктам Wildberries данных по пользователям, в том числе персональных данных.

продукт микросервисной архитектуры собственной разработки написанный на GO.
шардированное, реплицированное, линейно масштабируемое файловое хранилище.

Главная задачи проекта - хранение и защита персональных данных пользователей, простой и надежный канал для чтения\записи данных.

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

  • Пишем на последних версиях Go.
  • Используем Kafka для межсервисного взаимодействия.
  • В продукте данные хранятся в файловой системе на серверах, а также используются PosgreeSQL, ClickHouse,etcd.
  • Используем 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).
  • Умение проектировать API для сервисов