Как стать автором
Обновить
  • по релевантности
  • по времени
  • по рейтингу

Annotations for Concurrency in Java. Our approach to coloring threads

MiroПрограммированиеJava
At Miro, we always try to improve the maintainability of our code by using common practices, including in matters of multithreading. This does not solve all the issues that arise because of the ever-increasing load, but it simplifies the support: it increases both the code readability and the speed of developing new features.

Today (May 2020) we have about 100 servers in the production environment, 6,000 HTTP API requests per second and more than 50,000 WebSocket API commands, and daily releases. Miro has been developing since 2011; in the current implementation, user requests are handled in parallel by a cluster of different servers.

image
Read more →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры786
Комментарии 0

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

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

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

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


Читать дальше →
Всего голосов 16: ↑16 и ↓0 +16
Просмотры13.7K
Комментарии 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.3K
Комментарии 0

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

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

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

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

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

QA process at Miro

MiroТестирование IT-системТестирование веб-сервисовТестирование мобильных приложенийУправление разработкой
We have been working on our current QA process for about two years, and we still keep improving it. This process may seem obvious, but when we started to implement it in a new team that consisted entirely of new developers, we realized that it was difficult to do right away. Many people are used to working differently and need to make a lot of changes at once to switch, which is difficult. At the same time, it is ill-advised to implement this process in parts, because it can negatively affect the quality.

What do we do? We need to do preliminary preparation for each block of the development process: task decomposition, evaluation and planning, development itself, investigative testing, and release. This preparation does not consist of simply throwing old parts out of the process but of their adequate replacement, which increases quality.

In this article, I will talk in detail about our testing process at each stage of creating a new feature and also about the introduced changes that have increased the quality and speed of development.

image
Read more →
Всего голосов 1: ↑1 и ↓0 +1
Просмотры1.1K
Комментарии 0

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

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



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