Kubernetes

Manage a cluster of Linux containers as a single system to accelerate Dev and simplify Ops

Открытые вакансии с вознаграждением

Всем привет! Мы ищем опытных инженеров по тестированию производительности в ИТ команду СберМаркет. Если у тебя есть опыт проведения НТ на JMeter или Gatling  — приходи развивать экспертизу этого направления в компании!

О проекте:

Релизы до нескольких раз в неделю, по мере готовности (у нас скрамбан). Мы в Облаках. За БД отвечают DevOps, кластеризуются, есть proxySQL. У направления есть лид, мы расширяем команду опытными инженерами.

Стек:

  • JMeter/Gatling +Kubernetes
  • Grafana+Prometheus + ELK
  • Confluence+Jira

Мы ждем от кандидата:

  • Опыт НТ от 1.5 лет
  • Опыт работы с инструментами НТ (JMeter/Gatling)
  • Знание Java на уровне написания заглушек\эмуляторов сторонних систем
  • Опыт работы с БД на уровне написания запросов ( PostgreSQL, MySQL), понимание что такое индексы, блокировки и тд
  • Знание метрик производительности hardware (cpu/memory/disk/net) и software (JVM, БД)
  • Опыт работы с инструментами мониторинга (Prometheus, Telegraf+Influx DB)
  • Умение работать с Git

Мы предлагаем:

  • Возможность внести свои инициативы и увидеть результат своей работы
  • Адекватное руководство, компетентный коллектив, низкий уровень бюрократии
  • Работа удаленно из любой точки России или в офисе в центре Москвы (а еще коворкинги в крупных городах)
  • Оформление по ТК РФ, полностью "белая" заработная плата от 150 000 на руки (по результатам собеседования)
  • Гибкий график работы: время начала рабочего дня с 8:00 до 11:00
  • Новый MacBook Pro для работы с доставкой на дом
  • Соцпакет после прохождения испытательного срока (ДМС, фитнес, скидки в СберМаркете, корпоративный психолог и английский язык)
  • Выделенный бюджет на образование и конференции
    СберМаркет — сервис по доставке товаров из магазинов. Мы помогаем людям экономить время, энергию и деньги для чего-то более важного.
СберМаркет
🇷🇺
СберМаркет
🇷🇺
Москва или ремоут

Middle to Senior Performance QA

Награда:

Тинькофф-журнал — главное русскоязычное издание про деньги. В июле наш сайт читали 16 миллионов человек. Наша миссия — сделать читателей образованными и смелыми в отношении всего, что касается денег. Для этого мы:

  • наращиваем базы рассылок, чтобы пользователи не пропускали интересующие их материалы;
  • подталкиваем делиться материалами, чтобы окружение читателя тоже становилось финансово грамотнее;
  • разрабатываем мобильное приложение под iOS и Android;
  • выпускаем платные и бесплатные образовательные курсы;
  • ищем новые пути монетизации, чтобы были ресурсы на новые направления.
    Сейчас этим занимаются только маркетологи, а продуктовые подкоманды берут задачи в работу по остаточному принципу. Чтобы работать над направлением системно, мы организуем новую продуктовую подкоманду с собственной разработкой. Туда и ищу бэка, а еще — фронта и продакта.

Что по технологиям

Потенциально вам предстоит дорабатывать любой сервис журнала и разрабатывать с нуля новые. Два главных сервиса — движок журнала и соцплатформа — написаны на Django. Движок перезапускаем на FastAPI. Этот же фреймворк используем в остальных сервисах, на нем же пишем новые.
У нас настроены пайплайны на Gitlab CI, в которых запускаются MyPy, Flake, Black и тесты на PyTest. Сервисы на FastAPI в тех же пайплайнах собираются в Docker и деплоятся с помощью ArgoCD в Google Kubernetes Engine. Django-сервисы деплоим руками.
Базы — Redis и Postgres. Для сервисов на Django Postgres разворачиваем и поддерживаем сами. Под FastAPI развернут Google CloudSQL. Redis хостим сами, но ради эксперимента в паре мест тоже подключили облачный.
Клиенты общаются с сервисами по REST, используем спецификацию OpenAPI, в шаблоне типового проекта подрублен Swagger. Сервисы между собой местами общаются так же, но мы переводим это на асинхронную архитектуру. В качестве брокера используем Google Pub/Sub.

Как там в команде

Разработчики в журнале совмещают работу в продуктовой подкоманде и в технической команде.
В продуктовой команде на старте роль продакт-оунера возьмет на себя руководитель дистрибуции. Потом — подхватит выделенный продакт-менеджер. Продакт-оунера ранжирует задачи по важности и отвечает за их бизнесовую постановку. Разработчики декомпозируют это на технические задачи, придумывают и внедряют решение. Раз в неделю проводим совмещенное демо и планирование. По необходимости подключаем к работе команды тестировщиков, аналитиков и других специалистов.
В технической команде — кросс-ревью до двух лайков. Сами реквесты равномерно разбрасываем между всеми бэкендерами независимо от продуктовой команды. Раз в пару недель мы созваниваемся на час, чтобы обсудить чисто бэкендерские штуки: большие изменения в архитектуре, какие у кого новости или открытия, как улучшить процессы или инструменты. Раз в день-два пишем стендапы, чтобы быть в контексте разных направлений и вовремя прийти на помощь. Всего в команде 10 бэкендеров, 15 фронтендеров/JS-фулстеков, 4 мобильщика — RN-фулстеки, 3 тестировщика, пара менеджеров и DevOps/SRE-инженер.
Еще раз в четыре недели будет один на один со мной, где обсуждаем накопившиеся организационные вопросы, пытаемся снять боли, если есть, и вот это вот все.

С чего начнем

Ближайшие задачи, которые предложу:

  1. Провести аудит реализованных маркетинговых механик. В движке есть уже реализованные механики — стоит посмотреть, сломаны они или работают, что имеет смысл вытащить в отдельный сервис персонализации и развивать, а что можно удалить из кодовой базы и не пытаться поддерживать дальше.
  2. Оживить сценарии показов баннеров. Оживить, потому что, это скорее всего в каком-то виде уже реализовано в старом движке. Но сейчас этим не пользуются: баннеры ставят в материалы вручную, в подвале с рекомендациями в конце статьи он тоже всегда один и тот же. Это бесит пользователей, а мы недосчитываемся целевых действий.
  3. Улучшить почтовые коммуникации: сделать управление подписками на странице всех рассылок, улучшить синхронизацию пользователей журнала со служебными пользователями майндбокса, попробовать реализовать amp-механики вроде «сохранять статью в закладки не выходя из письма».
    Важно, чтобы эти и последующие задачи не сказались драматично на производительности и быстродействии готовых сервисов.

Чего ожидаю от кандидата

Из хардов будет тяжеловато без:

  1. Владения Python и современным фреймворком веб-разработки на его основе.
  2. Опыта разработки REST API, использования спецификации OpenAPI.
  3. Опыта работы с Postgres и Redis.
  4. Опыта написания unit-тестов.
  5. Знания основ веб-архитектуры: клиент-серверного взаимодействия, особенностей синхронной и асинхронной работы и далее по списку.
  6. Умения спроектировать MVP сервиса на знакомых технологиях по требованиям бизнеса и спланировать его масштабирование в случае наплыва пользователей.
    Будет плюсом, если знаете паттерны проектирования: синглтон, адаптер и другие. Будет большим плюсом, если ковыряли Kubernetes.
    Из софтов главное — самостоятельность. Чтобы получил от бизнеса задачу, уточнил непонятное, декомпозировал и расписал, обсудил с коллегами, если нужно, написал код, сдал в тестирование, выкатил на прод, пришел к бизнесу за следующей. Высший пилотаж, если по дороге ни с кем не поссорился, а в итоге еще что-то отрефлексировал.
Тинькофф-журнал
🇷🇺
Тинькофф-журнал
🇷🇺
Москва

Бэкендер в маркетинговое направление

Награда:

Обязанности

  • Настройка и поддержка контейнеров, веб серверов, сервисов сообщений
  • Организация CI (continuous integration) и CD (continuous delivery)
  • Настройка тестового и боевого окружения
  • Выстроить полноценную систему управления конфигурациями в продукте
  • Мониторинг и поддержание работоспособности систем
  • Администрирование инфраструктуры (Kubernetes, Ansible, Docker, Linux)
  • Сопровождение платформ управления жизненным циклом приложений и инфраструктурных решений
    Требования
  • Знание и практический опыт в контейнеризации и оркестрации (Docker, Kubernetes)
  • Знание ОС Linux (Centos), VMWare, Git, Nginx, mysql, postrgesql, elk.
  • Опыт администрирование инфраструктуры - различные типы серверов (web, app, file storage, DB, etc), балансировка нагрузки, failover и другие виды DevOps задач.
  • Владение английским языком на уровне чтения технической документации
  • Перфекционизм, аккуратность, трудолюбие, желание развиваться
  • Наличие опыта разработки будет плюсом
    Условия работы
  • Вознаграждение обсуждается с кандидатом по результатам собеседования
  • График работы с 8-17, 9:30-18:30
  • Работа в дружном и профессиональном коллективе
  • Перспективы профессионального роста
  • Офис в «Москва-Сити», башня Империя
  • Вкусные и полезные завтраки и обеды от шеф-повара за счёт компании
  • Настольный теннис
  • Корпоративный футбол и беговые тренировки
🇷🇺
🇷🇺
Ремоут

DevOps инженер

Награда:

Ждём в команду Лида для работы над платформой и другими проектами. Разработка ведётся для важных направлений платформы: CRMHRM, order.
Мы ищем инженеров, которые готовы копать вглубь, давать конструктивную критику, предлагать свои идеи и отстаивать их, чтобы развивать и улучшать продукт.
КАК ВСЕ УСТРОЕНО:
Платформа— это конструктор бизнес процессов. Наша задача — сделать так, чтобы все происходило с минимальным взаимодействием с разработкой. Для этого мы разбили бизнес процессы по "доменам" — предметным областям к которым они относятся, сформировали в рамках каждого домена кроссфункциональную команду.
В рамках каждого домена есть 3 слоя:
- слой BPM — движок, в котором менеджеры могут накликать целевой процесс и задеплоить его в прод
- слой типовых решений — модель данных и архитектура домена
- слой сервисов — кубиков, из которых всё строится.
Для сервисов мы используем **Nest.js (Node.js + Typescript), часть на Go. Базы данных — PostgreSQL и BigQuery. Инфраструктура в облаках, несколько провайдеров. Kubernetes для оркестрации. Всё, кроме баз данных, в dockerd-контейнерах.
Для архитектуры используем Explicit, которую описываем через C4 model. Взаимодействие через
GRPC
, как синхронно, так и через service bus.
ЧЕМ ПРЕДСТОИТ ЗАНИМАТЬСЯ:
Строить один из доменов.
Домен
HRM
— предстоит сделать систему найма, адаптации и обучения исполнителей.
Домен
Склад **— есть много логистических операций, физические производства, которые нужно автоматизировать
Мы ищем Лида, который займется:
- Реализацией бизнес-требований вместе с командой
- Проектированием технических решений сервисов вместе с архитектором
- Улучшением процессов Node.js разработки
- Написанием кода и решением сложных архитектурных задач
- По мере развития систем будет нанимать, развивать и мотивировать свою команду.
ЧЕГО МЫ ЖДЁМ ОТ ТЕБЯ:
- ты профессионально владеешь Node.js (event-loop, **stream) **и СУБД (PostgreSQL)
- ты умеешь создавать многопоточные приложения
- ты знаешь алгоритмы и структуры данных
- ты не боишься залезть в чужой код на другом языке и разобраться с тем, что там происходит
ЧТО МЫ МОЖЕМ ПРЕДЛОЖИТЬ:

  • атмосфера стартапа — нестандартные задачи, высокая скорость принятия решений, ответственность за весь продукт и никакой бюрократии
  • комфортный график, возможна частичная или полная удалёнка, релокация для иногородних
  • понятная система карьерного роста — Performance Review каждые полгода
  • дополнительное обучение, профессиональные конференции, MacBook для работы, ДМС
  • офис в стиле лофт в семи минутах от Савёловской: фудмаркет, фитнес-клуб и Starbucks в шаговой доступности
  • библиотека, PS4, кикер и турник в офисе, нескучная корпоративная жизнь, покер по вторникам, пицца по пятницам
  • смарт-офисы SOK по всему городу. С высокотехнологичным рабочим пространством, бронью переговорок и управлением рабочим местом через приложение, ланч-зонами и пивными кранами, которые включаются в пятницу вечером 😏
Qlean
🇷🇺
Qlean
🇷🇺
Москва, Ремоут

Tech Lead (Node.js)

Награда:

Нет вашей компании? Добавьте вакансии с вознаграждением, и получайте рекомендованных специалистов.