Архитектура и процессы стримингового музыкального сервиса.
Выступил на конференции Стачки 2024 в Ульяновске, поделюсь тут ключевыми идеями своего доклада по теме архитектуры и работы платформы. Итак, ключевые идеи:
— Платформенная или Core—команда позволяет вам эффективнее работать с техдолгом и развивать приложение. Если у вас постоянно не хватает времени на техдолг или улучшения производительности, подумайте над созданием такой команды или хотя бы выделением 1—2 опытных разработчиков для решения такого рода задач.
— Многомодульность необходима для работы нескольких команд, иначе размываются зоны ответственности, нарушаются принципы SOLID
—Общие компоненты: дизайн система, общие SDK и единая архитектура во всех модулях, ускоряет разработку, уменьшает время на онбординг и снижает сложность код—ревью.
—Все что может быть автоматизировано, должно быть автоматизировано. У нас этим занимается платформа: начиная от смены статусов для pull-requests, заканчивая скриншот—тестами. Также мы используем ktLint, Detekt с набором кастомных правил, которые бьют по рукам, в случае несоблюдения код—стайла или принятых в команде соглашений.
—Сложно улучшить что—то, если у вас нет метрик. Метрики для платформенной команды —это как система навигации для судна. Без метрик, ваш проект утонет. Следите за crash—free, performance, скоростью загрузки данных, количеством тестов.
—Найти разработчиков в платформу сложно, требования обычно в такие команды выше, поэтому тимлидам таких команд нужно грамотно работать с командой и мотивировать людей, а с другой стороны, если вы разработчик —то работа в такой команде это возможность бустануть свои знания и навыки.
Post #346
1.21K