Открыть список
Как стать автором
Обновить
64.3
Рейтинг
Miro
Online collaborative whiteboard platform
Сначала показывать
  • Новые
  • Лучшие

Как эффективно проводить 1:1 встречи

Блог компании MiroУправление проектамиУправление персоналом
Из песочницы

После 1:1 участники должны выходить радостными котиками

Встреча 1:1 (one-on-one) — регулярная встреча менеджера и его сотрудника. Это отличный инструмент для развития и построения доверительных отношений в работе. В прошлой компании я был на стороне менеджера, в Miro — на стороне сотрудника. Обычно у меня одна встреча с менеджером в неделю.

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

Read more
Всего голосов 15: ↑14 и ↓1 +13
Просмотры5.2K
Комментарии 16

Профилирование в продакшене для поиска узких мест на сервере

Блог компании MiroПрограммированиеJava
Из песочницы

Я работаю техлидом в команде System, которая отвечает за производительность и стабильность сервиса. С марта по ноябрь 2020 года Miro вырос в семь раз — до 600+ тысяч уникальных пользователей за сутки. Сейчас наш монолит работает на 350 серверах, около 150 инстансов мы используем для хранения данных пользователей. 

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

Read more
Всего голосов 14: ↑12 и ↓2 +10
Просмотры2.6K
Комментарии 3

SQL миграции в Postgres. Часть 1

Блог компании MiroPostgreSQLАдминистрирование баз данных

Как обновить значение атрибута для всех записей таблицы? Как добавить первичный или уникальный ключ в таблицу? Как разбить таблицу на две? Как ... 

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

На эти и другие вопросы, возникающие при проведении миграций схемы и данных в PostgreSQL, постараемся дать ответы в виде практических советов.
Читать дальше →
Всего голосов 32: ↑32 и ↓0 +32
Просмотры9.4K
Комментарии 17

Как не продолбать архитектуру в погоне за фичами

Блог компании MiroРазработка веб-сайтовУправление разработкой

Я работаю в Miro со дня основания, вначале как фронтенд инженер, сейчас как менеджер core-команд, которые разрабатывают внутреннее ядро канваса и realtime-коллаборации на нём.

Мы очень быстро растём: в пользователях, в размере команды, в количестве выпускаемых фич. Немного фактов за 2020 для контекста:

— Перешагнули рубеж в 10 миллионов регистраций;

— Пиковая онлайн-нагрузка за год выросла в 7 раз;

— Команда разработки выросла в 2 раза (инженеры, продакты, дизайнеры);

Выглядит круто! Но есть нюансы.

Наблюдая за компанией 9 лет, я вижу, что кратное увеличение количества инженеров приводит к падению скорости разработки. Задачи по созданию новой функциональности приводят к костылям. Текущая архитектура не позволяет сделать их правильно, а на рефакторинг времени не хватает. Непонятно кто именно должен брать на себя рефакторинг. Начинаемые архитектурные изменения не доводятся до конца из-за отсутствия фокуса. Порог входа  в код повышается, онбордить новичков становится сложнее. Time to market новых фичей падает. 

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

Так мы сталкиваемся с задачей “Как сохранить скорость разработки фичей и гибкость архитектуры на стадии роста?”. Откатимся назад в прошлое и будем пробовать разные подходы чтобы прийти к тому, что есть сейчас.

Читать далее
Всего голосов 29: ↑28 и ↓1 +27
Просмотры9.1K
Комментарии 16

Выбор хэш-функции в задаче шардирования данных

Блог компании MiroВысокая производительностьJavaАлгоритмыХранение данных
Из песочницы

Мы в Miro работаем над процессом шардирования баз Postgres и используем разные подходы в зависимости от бизнес-требований. Недавно перед нами встала задача шардирования новых баз, в ходе неё мы выбрали новый для нас подход к шардированию, основанный на согласованном хешировании (consistent hashing).

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

Читать далее
Всего голосов 19: ↑19 и ↓0 +19
Просмотры4.3K
Комментарии 8

Prometheus и VictoriaMetrics: отказоустойчивая инфраструктура для хранения метрик

Блог компании MiroСистемное администрированиеIT-инфраструктураСерверное администрированиеDevOps
Перевод

Рассказываем, как в Miro выглядит инфраструктура для хранения метрик. Все компоненты в ней соответствуют принципам высокой доступности (High Availability) и отказоустойчивости (Fault Tolerance), имеют чёткую специализацию, могут хранить данные долгое время и оптимальны с точки зрения затрат.

Стек, о котором идёт речь: Prometheus, Alertmanager, Pushgateway, Blackbox exporter, Grafana и VictoriaMetrics.

Читать далее
Всего голосов 15: ↑15 и ↓0 +15
Просмотры5.3K
Комментарии 11

Как эффективно релизить монолит, в который коммитят 150+ разработчиков из разных офисов

Блог компании MiroТестирование IT-системТестирование веб-сервисовУправление разработкой
Из песочницы

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

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

Читать далее
Всего голосов 24: ↑23 и ↓1 +22
Просмотры6.4K
Комментарии 12

Токсичность в команде, компании и индустрии. Конспект митапа из серии “Инженер заходит в бар”

Блог компании MiroУчебный процесс в ITУправление персоналомКарьера в IT-индустрииIT-компании
Собрали инсайты митапа на тему токсичности в общении. Дискуссия состоялась между инженерами и техлидами из Miro, Parma TG, Xsolla и SEMrush.

Митап прошёл в рамках серии «Инженер заходит в бар», где инженеры из разных IT-компаний общаются на профессиональные не-инженерные темы. Серия мероприятий организована инженерами из компании Miro, при поддержке DevRel-бюро «Долгушев и Сторожилов».



Третий митап серии состоится 24 сентября. Тема — как бизнес и инженеры общаются и договариваются друг с другом. Спикеры — CTO и тимлиды из Miro, Яндекс.Практикум, LANIT, Алгоритмика. Регистрация.

Оглавление:


  • Что такое токсичность? Примеры
  • Тактика: как работать с токсичностью
  • Low social skill и корреляция с токсичностью
  • Токсичность незнакомых людей в офлайне, онлайне. Как это работает?
  • Что делать, если люди считают, что токсичный ты сам?
Читать дальше →
Всего голосов 10: ↑6 и ↓4 +2
Просмотры6.8K
Комментарии 11

Как инженеру профессионально развиваться в компании. Конспект митапа из серии “Инженер заходит в бар"

Блог компании MiroУчебный процесс в ITУправление персоналомКарьера в IT-индустрииIT-компании
Это текстовая расшифровка митапа на тему профессионального развития инженера в компании. Дискуссия состоялась между CTO, техлидами и тимлидами из Miro, X5 Retail Group, FunBox, ManyChat и MadRobots.

Митап прошёл в рамках серии «Инженер заходит в бар», где инженеры из разных IT-компаний общаются на профессиональные не-инженерные темы. Серия мероприятий организована инженерами из компании Miro, при поддержке DevRel-бюро «Долгушев и Сторожилов».



20 августа состоится второй митап серии. Тема — токсичность в командах, компаниях и индустрии. Спикеры — инженеры и техлиды из Miro, SEMrush, Parma TG, Xsolla. Регистрация уже открыта.
Читать дальше →
Всего голосов 12: ↑12 и ↓0 +12
Просмотры4.4K
Комментарии 1

Работа с базами данных глазами разработчика

Блог компании MiroТестирование IT-системPostgreSQLПрограммированиеJava
🔥 Технотекст 2020 🔥 Технотекст 2020

Когда вы разрабатываете новый функционал с использованием базы данных, цикл разработки обычно включает следующие этапы (но не ограничивается ими):

Написание SQL миграции → написание кода → тестирование → релиз → мониторинг.

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

Поскольку мы в компании работаем с PostgreSQL, а серверный код пишем на Java, то примеры будут основаны на этом стеке, хотя большинство идей не зависят от используемой БД и языка программирования.
Читать дальше →
Всего голосов 13: ↑12 и ↓1 +11
Просмотры9.2K
Комментарии 17

Иван Дёмшин, Head of Engineering в Miro, о продуктовой разработке, смене технологий и эволюции процессов в компании

Блог компании MiroУправление разработкойРазвитие стартапаУправление продуктомIT-компании
Это конспект интервью с Иваном Дёмшиным, Head of Engineering в Miro, про структуру продуктовой разработки, смену технологий на фронте и бэке, эволюцию тестирования, процесс найма и развития инженеров.



Полную двухчасовую версию можно посмотреть на Ютуб-канале Хекслет.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры9.4K
Комментарии 8

Бесшовная миграция пользователей между доменами

Блог компании MiroРазработка веб-сайтовПрограммирование
В начале 2019 года мы провели ребрендинг и поменяли название с RealtimeBoard на Miro. Следовательно, изменился домен сайта с realtimeboard.com на miro.com.

При смене домена пользователям пришлось бы выполнять авторизацию на новом домене, потерялись бы локальные настройки приложения, пользователи SSO не могли бы авторизоваться без дополнительных настроек со своей стороны — всё это было не User friendly, возросла бы частота восстановления паролей, а часть пользователей вообще не смогли бы воспользоваться приложением сразу же.

Чтобы минимизировать потерю трафика после смены домена, нужно было провести миграцию авторизованных пользователей со старого домена на новый:

  • Поддержать пользователей, которые выполняли авторизацию с помощью SSO провайдеров через старый домен.
  • Передать токен авторизации пользователя со старого домена на новый.
  • Передать LocalStorage с пользовательскими настройками приложения.
Читать дальше →
Всего голосов 9: ↑9 и ↓0 +9
Просмотры4.6K
Комментарии 2

QA-процесс в Miro: отказ от водопада и ручного тестирования, передача ответственности за качество всей команде

Блог компании MiroТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийУправление разработкой
Наш текущий QA-процесс мы прорабатывали порядка двух лет и он продолжает активно развиваться. Он может казаться очевидным, но когда мы начали внедрять его в новой команде, которая полностью состояла из новых разработчиков, то поняли, что сразу внедрить его сложно. Многие привыкли работать иначе и для переключения им требуется сделать единовременно много изменений — это сложно. Однако внедрять такой процесс частями тоже нельзя, потому что это может негативно сказаться на качестве.

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

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


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

История первого HR’a в Miro: человек-оркестр, структура People Team, подход Excellence & Solutions

Блог компании MiroУправление персоналомIT-компании
В статье Влада Василец — первый HR в Miro — рассказывает, как и зачем наша HR-команда (мы называем её People Team) выросла с 1 до 37 человек за четыре года, в чём суть подхода Excellence & Solutions и каково это — видеть кратный рост команды и трансформироваться из человека-оркестра в профильного специалиста.

Эта статья — конспект выступления Влады на конференции TechRec 2020.


Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры6.1K
Комментарии 0

Postgres: bloat, pg_repack и deferred constraints

Блог компании MiroPostgreSQLАдминистрирование баз данных


Эффект раздувания таблиц и индексов (bloat) широко известен и присутствует не только в Postgres. Есть способы борьбы с ним “из коробки” вроде VACUUM FULL или CLUSTER, но они блокируют таблицы во время работы и поэтому не всегда могут быть использованы.

В статье будет немного теории о том, как возникает bloat, как с ним можно бороться, о deferred constraints и о проблемах, которые они привносят в использование расширения pg_repack.
Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры5K
Комментарии 4

“Что делать, когда кардинальные изменения в процессах демотивируют команду”. Опыт бэкенд-инженера, ставшего тимлидом

Блог компании MiroУправление разработкойУправление проектамиУправление персоналом
🔥 Технотекст 2020 🔥 Технотекст 2020
Я 7 лет работал бэкенд-инженером в Miro, затем стал тимлидом. За последние годы наша инженерная команда выросла вдвое, стала распределённой и международной, что повлекло за собой множество изменений.

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



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

В итоге мы справились со штормом, вдвое уменьшили Lead Time и существенно продвинулись в эффективности кросс-функциональных команд. Этому во многом помогло изменение нашего отношения к происходящим переменам, переход от Fixed mindset к Growth mindset.

Ниже расшифровка моего выступления на Saint TeamLead Conf 2019, где на примере своей команды я рассказываю про процессы и инструменты, которые сделали эти изменения возможными.
Читать дальше →
Всего голосов 11: ↑10 и ↓1 +9
Просмотры6.3K
Комментарии 16

Культура как основа масштабирования команды х2 каждый год. Про ошибки в найме и culture fit

Блог компании MiroУправление проектамиРазвитие стартапаУправление персоналом
🔥 Технотекст 2020 🔥 Технотекст 2020
Recovery mode
Я работаю менеджером разработки в Miro и активно участвую в найме. Последние несколько лет наша команда удваивается ежегодно и становится мультикультурной, у нас открываются офисы в Америке и Европе.

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

Расскажу, как исследование опыта успешных технологических компаний помогло нам сфокусироваться на управлении корпоративной культурой, справиться с ошибками в найме и выстроить процесс так, чтобы сегодня команда росла x2 ежегодно, а уровень текучки не поднимался выше 5%.

Эта статья — доработанная версия моего выступления на Saint TeamLead Conf. В конце статьи — список полезных источников по теме работы с корпоративной культурой в технологических компаниях.
Читать дальше →
Всего голосов 12: ↑11 и ↓1 +10
Просмотры6.6K
Комментарии 8

Product Led Growth стратегия. Как Miro растут x3 ежегодно

Блог компании MiroGrowth HackingРазвитие стартапаУправление продуктом
В статье Юля Малыш, Head of Growth в Miro, расскажет про основные составляющие нашей стратегии роста: ориентацию на пользователей, простоту и понятность продукта, виральность, стратегию вовлечения и метрики, ориентированные на продукт.

За основу статьи взято выступление Юли на Epic Growth Summit.


Читать дальше →
Всего голосов 7: ↑6 и ↓1 +5
Просмотры4.4K
Комментарии 2

Победители Miro Platform Contest

Блог компании MiroХакатоны
В начале ноября мы объявили об открытой бете платформы Miro, провели конференцию о платформенной разработке с JetBrains, Stripe и другими компаниями (видео всех докладов), а также запустили онлайн-конкурс для разработчиков по созданию плагинов.

Конкурс завершился! В нём приняли участие инженеры из Польши, Швейцарии, Словакии, Белоруссии, Литвы, России и других стран.



Мы готовы объявить победителей!

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

Конкурс плагинов на платформе Miro с призовым фондом $21,000

Блог компании MiroПрограммированиеХакатоны
Привет! Мы запустили онлайн-конкурс для разработчиков по созданию плагинов на нашей платформе. Он будет идти до 1 декабря. Приглашаем вас к участию!

Это возможность создать приложение для продукта с 3 млн пользователей во всём мире, среди которых команды из Netflix, Twitter, Skyscanner, Dell и других.



Правила и призы


Правила простые: создайте плагин на нашей платформе и пришлите его до 1 декабря.

6 декабря мы — команда платформы Miro — наградим авторов двадцати лучших плагинов:

  • $10,000 за первое место,
  • $5,000 за второе,
  • $3,000 за третье,
  • Подарочные сертификаты Amazon на $200 для авторов ещё 17 лучших приложений.
Читать дальше →
Всего голосов 11: ↑8 и ↓3 +5
Просмотры1.6K
Комментарии 4
1

Информация

Дата основания
Местоположение
Россия
Сайт
miro.com
Численность
501–1 000 человек
Дата регистрации
Представитель
Сергей Шабалин

Блог на Хабре