Как стать автором
Обновить

ManyChat приглашает на «Что? Где? Когда?»

Время на прочтение 4 мин
Количество просмотров 4.6K
Блог компании ManyChat Занимательные задачки Логические игры
Не только хакатонами и митапами едино ИТ-сообщество. Команда ManyChat приглашает на интеллектуальный ИТ-вечер «Что? Где? Когда?» и предлагает посоревноваться в логике и сообразительности с командами из известных ИТ-компаний. Если вы чувствуете в себе потенциал ИТ-знатока, то вам точно будет интересен этот пост!

Перед мероприятием мы запускаем конкурс на лучший вопрос, а для всех болельщиков в день мероприятия будет организована трансляция в режиме 360. Сама игра состоится 29 августа в Москве, начало в 18:30, милости просим — подробности под катом.

image
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 10

Backend Performance Meetup

Время на прочтение 4 мин
Количество просмотров 886
Блог компании SuperJob Блог компании ManyChat Высокая производительность *PHP *Карьера в IT-индустрии
ManyChat и SuperJob приглашают PHP-разработчиков на митап по производительности бэкенда. Спикеры из Авито, «Ситимобила», ManyChat и SuperJob поделятся своим опытом и расскажут о практиках, которые позволяют создавать качественные и надежные продукты.

Встреча пройдёт 30 сентября в гибридном формате — офлайн в офисах SuperJob и ManyChat, а также онлайн с YouTube-трансляцией.

Подробности программы, ссылка для регистрации и бонус-трек — под катом.


Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 5

«Тут всегда придётся развиваться»: интервью с Евгением Кувшиновым (ManyChat) о разработке в стартапе

Время на прочтение 14 мин
Количество просмотров 7.6K
Блог компании JUG Ru Group JavaScript *


Все мы примерно представляем, как выглядит разработка в крупной компании и чем от неё может отличаться разработка в небольшой. А что происходит, если размеры компании стремительно меняются, и число сотрудников за пару лет увеличивается в десять раз? Когда стартап бурно растёт, и надо на ходу адаптироваться к новым обстоятельствам, как это сказывается на всём (от процессов до технологий)?

В нашей конференции HolyJS поучаствует компания ManyChat, у которой как раз так и происходит. Поэтому мы расспросили техлида разработки фронтенда Евгения Кувшинова и конкретно о ManyChat, и вообще о том, каково заниматься (фронтенд)-разработкой в стартапе.
Читать дальше →
Всего голосов 24: ↑20 и ↓4 +16
Комментарии 0

Проверьте себя: а на какое количество вопросов ЧГК сможете ответить вы?

Время на прочтение 9 мин
Количество просмотров 56K
Блог компании ManyChat Занимательные задачки Логические игры IT-компании
Проверьте себя: а на какое количество вопросов ЧГК сможете ответить вы?

Для затравки: в 1979 году, еще до выхода своей компании на биржу, Стив Джобс провел тесты, не имеющие отношения непосредственно к продукции компании. А какие именно тесты?
Хотите больше — добро пожаловать под кат!

image
Читать дальше →
Всего голосов 46: ↑37 и ↓9 +28
Комментарии 72

Code style как стандарт разработки

Время на прочтение 15 мин
Количество просмотров 36K
Блог компании ManyChat PHP *
Давайте сразу, это не про скобочки. Здесь речь пойдет о том, как работает наш мозг и почему code style помогает обеспечивать линейное развитие проекта, значительно ускоряет адаптацию новых сотрудников и, в целом, формирует и воспитывает культуру разработки. Я постарался собрать в одной статье несколько исследований и принципов, посвященных работе мозга разработчика, и тому, как программисты читают код, а также поделился результатами личного эксперимента.

Интересно? Добро пожаловать под кат.


Читать дальше →
Всего голосов 43: ↑43 и ↓0 +43
Комментарии 61

Как создавать эффективные продуктовые команды?

Время на прочтение 16 мин
Количество просмотров 12K
Блог компании ManyChat Управление разработкой *Управление продуктом *Управление персоналом *

Многим приходилось сталкиваться с ситуацией, где менеджер требует от команды единорогов с радужной шкуркой, причем дедлайн был вчера. В таком коллективе работа может превратиться в вечный конфликт, каждый пытается защитить свои интересы и все напрочь забывают о том, что изначально собирались вместе, чтобы делать качественный продукт и доносить пользу. Такую команду сложно назвать эффективной.

О том, что такое эффективная продуктовая команда, как ее построить и что нужно сделать, чтобы все члены команды были максимально вовлечены в процесс, мы поговорили с экспертами на панельной дискуссии, которая прошла у нас в офисе. Вместе с нами ответы на вопросы искали Роман Абрамов (директор по продукту CarPrice и основатель ProductStar), Михаил Александровский (Founder Dostavista), Анна Бояркина (Head of Product Miro), Илья Красинский (CEO Rick.ai), Микаэл Ян (CEO ManyChat). Подробности под катом.


Читать дальше →
Всего голосов 11: ↑9 и ↓2 +7
Комментарии 0

21 ноября, Product Engineering MeetUp: Кто такой продуктовый инженер?

Время на прочтение 3 мин
Количество просмотров 2.5K
Блог компании ManyChat Управление разработкой *Управление продуктом *


Продуктовая компания — понятие, которое набирает все большую популярность в ИТ-сообществе. На митапах обсуждают, как правильно построить процессы и наладить взаимодействие, чтобы команда показывала крутые результаты, спикеры на конференциях рассказывают про улучшение способов коммуникации между разработкой и продакт-менеджерами. Но про «продуктовых инженеров» стали говорить не так давно. И если раньше, говоря про «сильного» инженера вспоминали про HighLoad и знание паттернов, то сегодня всё больше компаний хотят нанимать сильных продуктовых инженеров.

Именно продуктовой разработке мы решили посвятить серию митапов и приглашаем 21 ноября на первый Product Engineering Meetup.

На первой встрече команда ManyChat вместе с приглашенными спикерами из Miro и Avito будет разбираться, кто же такой product engineer, как и зачем инженеру развивать продуктовое мышление, где найти баланс между продуктом и разработкой, какие вообще нужны инженеры на разных стадиях развития команды и какие подходы и инструменты помогают развивать инженеров в команде.

Регистрация доступна по ссылке, а подробности о спикерах и программе мероприятия читайте под катом.
Читать дальше →
Всего голосов 18: ↑16 и ↓2 +14
Комментарии 0

5 декабря, ManyChat Backend MeetUp

Время на прочтение 3 мин
Количество просмотров 1.3K
Блог компании ManyChat PHP *Symfony *Администрирование баз данных *
Всем привет!

Меня зовут Михаил Мазеин, я — ментор Backend community ManyChat. 5 декабря в нашем офисе пройдёт первый Backend Meetup.

В этот раз мы поговорим не только про разработку на PHP, но и затронем тему использования баз данных.

Начнём с истории про выбор инструментов для вычисления математических формул. Продолжим фундаментальной темой выбора подходящей базы данных. А закончим встречу большим докладом о тюнинге сервера высоконагруженного проекта с помощью тонкой конфигурации nginx и php-fpm на основе данных о движениях запросов вместо постоянного увеличения количества серверов.



Участников ждут доклады от инженеров ManyChat и, конечно, общение. Встречать гостей будем в 18:30, а начнем митап в 19:00. Регистрация доступна по ссылке, а подробная программа мероприятия — под катом.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Комментарии 0

Бекендер — психотерапевт: дебаггер для психики

Время на прочтение 5 мин
Количество просмотров 8.7K
Блог компании ManyChat Лайфхаки для гиков Мозг Здоровье
Привет! Меня зовут Максим, последние 17 лет я работаю в ИТ (аналитик, РП, 11 лет бекенда), а еще я получил второе образование психолога в жанре «гештальт-терапия». Хочу рассказать о том, что для меня психотерапия очень похожа на разработку ПО с помощью дебаггера и как эту схожесть можно применять на практике.



В гештальте баги называют «прерываниями контакта». Когда натыкаешься на баг, восприятие реальности искажается и взаимодействие с окружающей средой или людьми начинает сбоить. Таких прерываний насчитывают от пяти и более, смотря как относить и классифицировать.

В этой статье хочу рассказать о двух моих любимых багах (в смысле, что мне они свойственны в большей степени) — это «интроекция» и «проекция». Все подробности под катом.
Читать дальше →
Всего голосов 23: ↑19 и ↓4 +15
Комментарии 22

Обработка миллионов событий в сутки при помощи каскадов очередей

Время на прочтение 8 мин
Количество просмотров 6.9K
Блог компании ManyChat PHP *Программирование *Анализ и проектирование систем *Проектирование и рефакторинг *
Под капотом нашего продукта крутятся сотни, тысячи, а в некоторых сервисах и миллионы очередей, через которые проходит огромное количество данных. Все это нужно каким-то магическим образом обрабатывать и не застрелиться. В данном посте я расскажу, какие архитектурные подходы мы используем у себя, имея достаточно скромный стэк технологий и не имея маленького дата-центра у себя в «кладовке».


Читать дальше →
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 8

Программирование в массы

Время на прочтение 7 мин
Количество просмотров 4.8K
Блог компании ManyChat PHP *Занимательные задачки Программирование *Логические игры
Понимание даже основ программирования может упростить деятельность человека. Помимо очевидных вещей, таких как развитие абстрактного мышления или способность разделять задачу на меньшие части, я предлагаю пойти ещё дальше и воспользоваться основными подходами к разработке. На примере создания классической логической игры, проводя аналогию между визуальным и традиционным программированиями, я и хочу показать, как навыки разработки могут помочь в решении прикладной задачи. Желающих подискутировать на тему или поиграть в «Быков и коров» и выиграть приз — зову под кат.



Читать дальше →
Всего голосов 8: ↑7 и ↓1 +6
Комментарии 9

Да кто вообще такой этот продуктовый разработчик?

Время на прочтение 8 мин
Количество просмотров 11K
Блог компании ManyChat Управление разработкой *Управление продуктом *
Сегодня в названиях вакансий всё чаще появляются приставки «продуктовый» — дизайнер, аналитик, разработчик… Компании, придерживающиеся продуктового подхода, ожидают от кандидатов определённого образа мышления, хороших технических скиллов бывает недостаточно. Меня зовут Михаил Мазеин, я тот самый продуктовый разработчик в ManyChat, занимаюсь бекэндом и участвую в процессе найма. Давайте расскажу, как это выглядит изнутри.

Помните известную байку про двух программистов-одногруппников? Один из них был троечником, второй — заядлым отличником. Троечник сделал небольшой прототип, за несколько месяцев открыл компанию, вышел на рынок. А отличник работал над очень продуманной и красивой архитектурой. В итоге через два года у троечника была компания и ниша на рынке, а отличник пришёл к нему на собеседование. История ироничная, но под капотом лежит довольно много правдивых фактов.


@innubis

Читать дальше →
Всего голосов 19: ↑14 и ↓5 +9
Комментарии 16

Redis на практических примерах

Время на прочтение 11 мин
Количество просмотров 84K
Блог компании ManyChat PHP *Программирование *Анализ и проектирование систем *NoSQL *

Redis — достаточно популярный инструмент, который из коробки поддерживает большое количество различных типов данных и методов работы с ними. Во многих проектах он используется в качестве кэшируещего слоя, но его возможности намного шире. Мы в ManyChat очень любим Redis и активно используем его в нашем продукте для решения огромного количества задач. Про некоторые интересные кейсы использования этой in-memory key-value базы данных я расскажу на примерах. Надеюсь, вам они будут полезны, и вы сможете применить что-то в своих проектах.

Рассмотрим следующие кейсы:

  • Кэширование данных (да, банально и скучно, но это классный инструмент для кэширования и обойти стороной этот кейс, кажется будет не правильно)
  • Работа с очередями на базе redis
  • Организация блокировок (mutex)
  • Делаем систему rate-limit
  • Pubsub — делаем рассылки сообщений на клиенты

Буду работать с сырыми redis командами, чтобы не завязываться на какую-либо конкретную библиотеку, предоставляющую обертку над этими командами. Код буду писать на PHP с использованием ext-redis, но он здесь для наглядности, использовать представленные подходы можно в связке с любым другим языком программирования.


Читать дальше →
Всего голосов 40: ↑38 и ↓2 +36
Комментарии 14

На пути к бессерверным базам данных — как и зачем

Время на прочтение 12 мин
Количество просмотров 20K
Блог компании Конференции Олега Бунина (Онтико) Блог компании ManyChat IT-инфраструктура *Хранилища данных *Data Engineering *
Всем привет! Меня зовут Голов Николай. Раньше я работал в Авито и шесть лет руководил Data Platform, то есть занимался всеми базами: аналитическими (Vertica, ClickHouse), потоковыми и OLTP (Redis, Tarantool, VoltDB, MongoDB, PostgreSQL). За это время я разобрался с большим количеством баз данных — самых разных и необычных, и с нестандартными кейсами их использования.

Сейчас я работаю в ManyChat. По сути это стартап — новый, амбициозный и быстро растущий. И когда я только вышел в компанию, возник классический вопрос: «А что сейчас стоит брать молодому стартапу с рынка СУБД и баз данных?».

В этой статье, основанной на моем докладе на онлайн-фестивале РИТ++2020, отвечу на этот вопрос. Видеоверсия доклада доступна на YouTube.



Читать дальше →
Всего голосов 29: ↑28 и ↓1 +27
Комментарии 92

22 сентября, Онлайн-митап Product Engineering Meetup #2: Культура разработки

Время на прочтение 3 мин
Количество просмотров 493
Блог компании ManyChat Управление разработкой *Управление продуктом *
22 сентября мы проводим онлайн-митап Product Engineering Meetup #2 «Культура разработки в продуктовых компаниях».

В прошлом году мы собирались, чтобы поговорить о том, кто такой продуктовый инженер, зачем разработчику развивать продуктовое мышление, как найти баланс между продуктом и разработкой (записи можно найти тут).

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

Спикеры — инженеры и менеджеры продукта из Badoo, ManyChat, Додо Пицца и Работа.ру. Будем говорить о том, какие практики помогают командам создавать качественные продукты. Обсудим, какие процессы разработки помогают фокусироваться на донесении ценности пользователям и соблюдать сроки. Рассмотрим, как находить компромисс между бизнесом и разработкой и определять границы ответственности.

Надеемся, что встреча будет полезна всем участникам продуктовых команд — инженерам, менеджерам продукта, тех- и тимлидам.

Регистрация доступна по ссылке, а подробности программы читайте под катом.



Читать дальше →
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 2

Как жить с ограничениями внешних API на количество запросов

Время на прочтение 7 мин
Количество просмотров 6.2K
Блог компании ManyChat Программирование *NoSQL *API *Микросервисы *

Многие сервисы предоставляют возможность взаимодействовать с ними не только обычным пользователям через отточенные и оптимизированные графические интерфейсы, но и внешним разработчикам из своих программ через API. При этом сервисам важно контролировать нагрузку на свою инфраструктуру. В ситуации с обычными пользователями большинство проблем с нагрузкой не возникнет из-за контроля кода приложения, отправляющего запросы к сервису, со стороны разработчиков сервиса (пользователей, пытающихся что-то делать в приложении за рамками предложенных разработчиками интерфейсов и задокументированных возможностей мы в данной статье не рассматриваем). В случае со внешними разработчиками простор для создания нагрузки на сервис ограничен только фантазией этих самых внешних разработчиков. Чтобы немного ограничить этот простор, стала распространена практика введения ограничений на количество запросов в единицу времени к API сервиса. 

Мы уже рассказывали о том, как можно реализовать эти ограничения если вы сами разрабатываете API сервиса, сегодня хотим рассказать о том, как жить с «клиентской» стороны и удобно пользоваться ограниченным по количеству запросов API.

Читать далее
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 3

Как же всё-таки не ошибаться?

Время на прочтение 11 мин
Количество просмотров 4.2K
Блог компании ManyChat Занимательные задачки Профессиональная литература *Читальный зал
Всем привет! Меня зовут Виктория Головнева, я работаю джуниор аналитиком. Как и любой джун, я постоянно прохожу какие-то курсы, читаю статьи и книги по рабочей (и околорабочей) тематике, чтобы прокачивать мой уровень знаний в SQL, статистике, методах визуализации данных и многом другом.

Недавно мне попалась книга «Как не ошибаться. Сила математического мышления», Джордана Элленберга — о ней и пойдёт речь.

В этой статье я хочу привести несколько простых математических/логических задач, которые:

  • Помогут немного размять мозги;
  • Возможно, кому-то помогут узнать новые понятия из математики и статистики.

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

Заинтересовались? Тогда погнали под кат!


Читать дальше →
Всего голосов 19: ↑15 и ↓4 +11
Комментарии 9

Настроили мониторинг. Что дальше?

Время на прочтение 8 мин
Количество просмотров 3.1K
Блог компании Конференции Олега Бунина (Онтико) Блог компании ManyChat Управление разработкой *Управление продуктом *
Всем привет! Меня зовут Мазеин Михаил, я занимаюсь бекенд-разработкой в ManyChat.
Одна из моих задач — анализ и повышение качества нашего продукта через системы мониторингов, алармов и сопутствующих процессов. Я на своем опыте убедился в том, что выстроить мониторинг — недостаточно. Сегодня я поделюсь тремя историями из жизни нашей команды: расскажу, как мы искали решения и какие выводы сделали. На мой взгляд, пост может оказаться полезен и разработчикам, и QA-инженерам, и системным администраторам, и тимлидам/техлидам.

Эта статья основана на моем докладе с онлайн-конференции TechLead Conf 2020. Если вам приятнее смотреть видео, оно доступно на YouTube.



Читать дальше →
Всего голосов 10: ↑10 и ↓0 +10
Комментарии 4

REACT + JEST = TDD ❤️

Время на прочтение 10 мин
Количество просмотров 11K
Блог компании ManyChat Разработка веб-сайтов *TDD *Тестирование веб-сервисов *ReactJS *
Привет, Хабр! Меня зовут Андрей Хижняк, я фронтенд-разработчик в команде, разрабатывающей App Store внутри ManyChat.

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

От том, что из этого вышло, и будет моя статья, добро пожаловать под кат!


Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Комментарии 20

Snowflake, Anchor Model, ELT и как с этим жить

Время на прочтение 15 мин
Количество просмотров 10K
Блог компании ManyChat IT-инфраструктура *Хранилища данных *Data Engineering *
Привет! Меня зовут Антон Поляков, и я разрабатываю аналитическое хранилище данных и ELT-процессы в ManyChat. В настоящий момент в мире больших данных существуют несколько основных игроков, на которых обращают внимание при выборе инструментария и подходов к работе аналитических систем. Сегодня я расскажу вам, как мы решили отклониться от скучных классических OLAP-решений в виде Vertica или Exasol и попробовать редкую, но очень привлекательную облачную DWaaS (Data Warehouse as a Service) Snowflake в качестве основы для нашего хранилища.

С самого начала перед нами встал вопрос о выборе инструментов для работы с БД и построении ELT-процессов. Мы не хотели использовать громоздкие и привычные всем готовые решения вроде Airflow или NiFi и пошли по пути тонкой кастомизации. Это был затяжной прыжок в неизвестность, который пока продолжается и вполне успешно.

Под катом я расскажу про архитектуру нашего аналитического хранилища и покажу, каким образом мы производим загрузку, обработку и трансформацию данных.
Читать дальше →
Всего голосов 15: ↑14 и ↓1 +13
Комментарии 8
1