en
Feedback
Купер.тех

Купер.тех

Open in Telegram

Мы tech-команда, которая создает сервис доставки из магазинов и ресторанов (ex СберМаркет) и делает это с любовью. Хабр: https://bit.ly/3xOhSYw Видео: https://bit.ly/3SW9MCw VK: https://bit.ly/45NudZC Вакансии: https://team.kuper.ru/tech

Show more
8 052
Subscribers
+324 hours
-67 days
-3130 days
Posts Archive
🔄 Всё, что вы забыли обновить, будет использовано против стабильности Когда сервисов много, метрики, дашборды и алерты должн
🔄 Всё, что вы забыли обновить, будет использовано против стабильности Когда сервисов много, метрики, дашборды и алерты должны меняться вместе с системой. Иначе это очень быстро превращается в проблему доверия к данным. В новой статье, Вячеслав Литкович, руководитель группы SRE-инженеров, рассказывает, как мы выстраивали SLO-подход в большой продуктовой инфраструктуре. Поговорим про: 📌 первые SLI и дашборды 📌 error budget и почему он не всегда удобен в ежедневной работе 📌 бизнес-процессы, которые нельзя описать одной метрикой 📌 странные кейсы с Kafka, inbox/outbox и низким трафиком 📌 автогенерацию Grafana-дашбордов 📌 декларативные индикаторы и эскалации как код 🏃 Читайте на Хабре!

⏰ Разработка без стресса — кажется, что это невозможно Не всё в разработке решается новым фреймворком или ещё одним сервисом.
+8
Разработка без стресса — кажется, что это невозможно Не всё в разработке решается новым фреймворком или ещё одним сервисом. Иногда стоит немного пересмотреть то, как мы сами работаем. Собрали пост про вещи, которые кажутся базовыми, но о них очень легко забыть в круговороте задач и созвонов. А какими приёмами пользуетесь вы, чтобы сохранять своё душевное спокойствие? Делитесь в комментариях!

💔 Что делать, если упала производительность? Плохой план обычно выглядит так: посмотреть логи → открыть код → предположить с
+6
💔 Что делать, если упала производительность? Плохой план обычно выглядит так: посмотреть логи → открыть код → предположить самое очевидное → ошибиться → повторить ещё несколько раз. Чтобы не тратить много времени на поиск проблемы, в Go есть pprof — встроенный профилировщик, который показывает, где сервис действительно тратит ресурсы. В карточках инженер-разработчик на Go Артём Юзюк рассказывает, как с его помощью искать утечки горутин, проблемы с памятью и горячие точки в коде.

CodeFest всё! Насыщенные вышли выходные 🚀 Делимся атмосферным видео и рассказываем, как это было. Мы собирали башню из куперян, играли в крокодила с нейросетью, разбирались в архитектуре, делились историями об инцидентах и просто очень круто проводили время. Спасибо всем, кто был с нами! И Новосибирску за теплый прием. Вы супер, CodeFest в сердечке, а общение бесценно. ❤️

🔥 Передаём привет от нашей команды с CodeFest! Мы тут со стендом, хорошим настроением и инженерными разговорами — заглядывай, пока конференция в самом разгаре.

Video message00:11

🎉 Хабру исполняется 20 лет! А значит, самое время вспомнить, как всё начиналось! Собрали ретро-карточки, в которых вспоминае
+5
🎉 Хабру исполняется 20 лет! А значит, самое время вспомнить, как всё начиналось! Собрали ретро-карточки, в которых вспоминаем ранний Хабр и рассказываем, когда там появился Купер.тех. И раз уж сегодня говорим про Хабр, есть ещё один приятный повод. Сразу три наших статьи попали в шорт-лист премии «Технотекст»: «Как запускать проекты без команды? Главное о кросс-командном проджект-менеджменте» — Марина Гончарова ✨«LLM‑разметка в поиске: от эксперимента к инструменту» — Александр Баранов ✨«Три мушкетера из мира DevSecOps. Внедряем инструменты для развития AppSec-процессов» — Максим Коровенков Гордимся ребятами! ❤️

⚡️Новосибирск, мы едем! 30–31 мая будем со стендом на конференции CodeFest, где можно будет пообщаться с нашими экспертами, з
⚡️Новосибирск, мы едем! 30–31 мая будем со стендом на конференции CodeFest, где можно будет пообщаться с нашими экспертами, задать вопросы, поучаствовать в активностях и просто провести время по-соседски, как мы любим. Если планируете быть на CodeFest, заглядывайте к нам. Будем рады познакомиться или увидеться снова.❤️

🌍Тестировать нельзя надеяться В Купер.тех много микросервисов, интеграций и сценариев, которые завязаны друг на друга. Поэто
🌍Тестировать нельзя надеяться В Купер.тех много микросервисов, интеграций и сценариев, которые завязаны друг на друга. Поэтому тестирование здесь редко ограничивается проверкой одной фичи: важно понимать, как изменение поведёт себя в системе целиком и что будет под нагрузкой. В мини-интервью Арсений Лагутин, руководитель обеспечения качества тестирования, рассказал, как в большом e-commerce-продукте подходят к QA: 👉 Проверяете ли вы отдельные сервисы изолированно или чаще тестируете пользовательский путь целиком?
Основной объем нашей системы представляют собой микросервисы. Подход и уровни тестов зависят от задачи, модулей системы, которые она затрагивает или влиянию на пользовательский путь. Новую реализованную фичу в ветке стараемся проверять на изолированном окружении для сохранения гигиены master. Здесь же запускаем изолированные функциональные и интеграционные автотесты. Далее, при необходимости, проводится ручное интеграционное тестирование и Е2Е, а также приемочное на production или stage окружениях.
👉 Какие инструменты и подходы используете для автоматизации тестирования?
Тут у нас «сборная солянка». Для автоматизации используем Golang, Python, JS (Detox) и TS (Playwright). Определяем уровни автоматизации под потребности системы и команды, а зону ответственности делим между QA и разработчиком. Автоматизируем в рамках своей предметной области и стараемся запускать прогоны на каждое новое изменение сервиса. Автоматизацией занимается QA в продуктовой команде, а не отдельный департамент. За счет глубокого знания тестируемой области повышаем эффективность автотестов и стараемся привлекать разработку для разбора упавших автотестов в рамках создаваемых ими изменений.
👉 Как вы понимаете, что система готова к высоким нагрузкам и «переживёт» сезонный пик?
Ориентируемся на цели бизнеса прежде всего. Основным фактором для нас является ожидаемое число заказов. В компании имеется инструменты для проведения нагрузочного тестирования как на stage, так и на production окружениях изолированно для сервисов и Е2Е (в связке) на отдельных тестовых сущностях. Нагрузочное тестирование проводим на регулярной основе и в рамках валидации крупных изменений. Успехом является соответствие ожидаемой выдерживаемой нагрузки относительно бизнес-целей и реальной, полученной на production-окружении. В случае отклонений анализируем, проводим оптимизации и повторяем, пока всё не будет хорошо работать.
👉 Насколько QA вовлечён в продуктовые решения?
QA подключаем к ранним этапам SDLC. Для нас это окончание Discovery, когда продукт сформировал свое видение задачи и оформил по нему ожидания. Из-за отсутствия формализации требований не проводим классического анализа, а вместе с командой разбираемся, как задача должна работать технически, какие есть риски и какой подход выбрать. Так удаётся заранее заметить, где ожидания продукта могут расходиться с техническими ограничениями или логикой системы. В итоге часть ошибок мы ловим ещё до разработки, а значит быстрее и дешевле доводим задачу до релиза.

🌍Тестировать нельзя надеяться В Купер.тех много микросервисов, интеграций и сценариев, которые завязаны друг на друга. Поэто
🌍Тестировать нельзя надеяться В Купер.тех много микросервисов, интеграций и сценариев, которые завязаны друг на друга. Поэтому тестирование здесь редко ограничивается проверкой одной фичи: важно понимать, как изменение поведёт себя в системе целиком и что будет под нагрузкой. В мини-интервью Арсений Лагутин, руководитель обеспечения качества тестирования, рассказал, как в большом e-commerce-продукте подходят к QA: 👉 Проверяете ли вы отдельные сервисы изолированно или чаще тестируете пользовательский путь целиком?
Основной объем нашей системы представляют собой микросервисы. Подход и уровни тестов зависят от задачи, модулей системы, которые она затрагивает или влиянию на пользовательский путь. Новую реализованную фичу в ветке стараемся проверять на изолированном окружении для сохранения гигиены master. Здесь же запускаем изолированные функциональные и интеграционные автотесты. Далее, при необходимости, проводится ручное интеграционное тестирование и Е2Е, а также приемочное на production или stage окружениях.
👉👉Какие инструменты и подходы используете для автоматизации тестирования?
Тут у нас «сборная солянка». Для автоматизации используем Golang, Python, JS (Detox) и TS (Playwright). Определяем уровни автоматизации под потребности системы и команды, а зону ответственности делим между QA и разработчиком. Автоматизируем в рамках своей предметной области и стараемся запускать прогоны на каждое новое изменение сервиса. Автоматизацией занимается QA в продуктовой команде, а не отдельный департамент. За счет глубокого знания тестируемой области повышаем эффективность автотестов и стараемся привлекать разработку для разбора упавших автотестов в рамках создаваемых ими изменений.
👉👉Как вы понимаете, что система готова к высоким нагрузкам и «переживёт» сезонный пик?
Ориентируемся на цели бизнеса прежде всего. Основным фактором для нас является ожидаемое число заказов. В компании имеется инструменты для проведения нагрузочного тестирования как на stage, так и на production окружениях изолированно для сервисов и Е2Е (в связке) на отдельных тестовых сущностях. Нагрузочное тестирование проводим на регулярной основе и в рамках валидации крупных изменений. Успехом является соответствие ожидаемой выдерживаемой нагрузки относительно бизнес-целей и реальной, полученной на production-окружении. В случае отклонений анализируем, проводим оптимизации и повторяем, пока всё не будет хорошо работать.
👉 👉Насколько QA вовлечён в продуктовые решения?
QA подключаем к ранним этапам SDLC. Для нас это окончание Discovery, когда продукт сформировал свое видение задачи и оформил по нему ожидания. Из-за отсутствия формализации требований не проводим классического анализа, а вместе с командой разбираемся, как задача должна работать технически, какие есть риски и какой подход выбрать. Так удаётся заранее заметить, где ожидания продукта могут расходиться с техническими ограничениями или логикой системы. В итоге часть ошибок мы ловим ещё до разработки, а значит быстрее и дешевле доводим задачу до релиза.

photo content

👀 Иногда случайно узнаёшь прошлую специализацию коллеги — и потом уже невозможно смотреть на него как раньше. Собрали истори
+5
👀 Иногда случайно узнаёшь прошлую специализацию коллеги — и потом уже невозможно смотреть на него как раньше. Собрали истории ребят из нашей команды о том, как они меняли профессии, учились с нуля, писали OpenSource-проекты, строили дороги, переводили с японского и в какой-то момент поняли, что хотят заниматься технологиями. Сейчас все они работают в Купер.тех и развивают наши продукты. 🏃Если у вас тоже есть такая история — делитесь в комментариях!

🪑Садитесь в удобное кресло. 🎧 Надевайте наушники. ☕️ Заваривайте горячий чай 🍫 с чем-нибудь вкусным. И включайте новый вып
🪑Садитесь в удобное кресло. 🎧 Надевайте наушники. ☕️ Заваривайте горячий чай 🍫 с чем-нибудь вкусным. И включайте новый выпуск ProductCamp Podcast с нашим директором по продукту Еленой Тихоновой. В выпуске обсудили: 🟢какие навыки помогают быть директором по продукту 🟢какие есть мифы о роли CPO 🟢зачем самостоятельным продактам нужен CPO 🟢что нужно, чтобы расти в этой роли Слушать тут 🏃 Mave Яндекс.Музыка Apple Podcast YouTube Аудио

👀Когда я работаю, на меня смотрит Меладзе Если бы офисы изучали как культурный феномен, то основными артефактами были бы не
+8
👀Когда я работаю, на меня смотрит Меладзе Если бы офисы изучали как культурный феномен, то основными артефактами были бы не ноутбуки и переговорки, а довольно неожиданные вещи. Предлагаем погрузиться в атмосферу нашего Московского офиса и оценить, что нашим сотрудникам потребовалось для создания рабочего вайба✨

🥳 Подводим итоги розыгрыша книги «Эффективный Node.js» ✨Победителем становится @alt_swan✨ Надеемся, что после чтения найдетс
🥳 Подводим итоги розыгрыша книги «Эффективный Node.js» ✨Победителем становится @alt_swan✨ Надеемся, что после чтения найдется пара инсайтов, которые будут вам полезны и останутся надолго. Может она и вас вдохновит стать техническим редактором. На счет отправки книги напишем вам в личные сообщения.  И спасибо всем, кто поучаствовал — было приятно видеть вашу активность!

🔥Как пройти путь от мобильного разработчика до CTO? Наш CTO Андрей Хышов поделился своим опытом и карьерным треком в новом в
🔥Как пройти путь от мобильного разработчика до CTO? Наш CTO Андрей Хышов поделился своим опытом и карьерным треком в новом выпуске подкаста «Быть CTO». Обсудили: 🟢как быстро адаптироваться в новой роли и разобраться в неизвестном 🟢культуру ownership и то, как она устроена в Купере 🟢как меняется мышление с ростом ответственности 🟢зачем CTO выходить «в поля» и лично развозить заказы Смотрите выпуск: YouTube VK Видео

🎨🎨🎨🎨🎨🎨 Мы хотим поделиться результатом работы Кати и Ивана с вами и поэтому разыгрываем один экземпляр книги «Эффективный Node.js». Условия простые: 🟢Проверить подписку на канал 🟢Нажать кнопку «Участвовать» Победителей определим 23 апреля в 15:00 по московскому времени. Бот случайным образом выберет победителей, с которыми свяжемся в личных сообщениях в Телеграме. Проверьте настройки конфиденциальности, чтобы мы могли написать вам. Удачи! ✌️

🔥 Когда инженеры берутся за технический перевод Два наших инженера Иван Щyкин и Екатерина Рязанова стали научными редакторам
+5
🔥 Когда инженеры берутся за технический перевод Два наших инженера Иван Щyкин и Екатерина Рязанова стали научными редакторами книги по Node.js. О том, с какими сложностями они сталкивались и какие решения находили рассказываем в карточках выше.

Герой скидок или убийца маржи? Динамическое ценообразование поможет понять 🏃 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 👉 Всё началось вполне невинно. Маркетологи пришли в чат и сказали: «Давайте просто сделаем скидку 20%. Ну что может пойти не так?». 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 👉 Продажи взлетели. Покупатели в восторге, ты герой скидок, а руководитель доволен. Но... 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 👉 О нет! Ты разбудил древнюю хтонь по имени Большая Скидка. И уже не ты не управляешь ценой. Это цена уже давно управляет тобой! 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 🎨🎨🎨🎨🎨 👉 Скидка начала требовать жертв. Жертв в виде маржи. Много маржи. А если хотите узнать, что было дальше... Читайте новую статью на Хабре «Динамическое ценообразование в E-grocery. Раскладываем по полочкам». В ней Лиза Петяева, старший специалист по анализу данных, рассказывает, как мы в Купер.тех пытаемся договориться с этой древней силой: из каких шагов состоит настоящий динцен в E-grocery, почему нельзя просто взять прогноз спроса и «прикрутить» к нему скидку, как правильно работать с эластичностью и при этом не жертвовать маржой.

photo content