Архив недели @DianaSuvorova
Понедельник
Всем привет ! На этой неделе я :)
- Первые 23 года в Москве из низ 5,5 в МГТУ им Баумана
-Последние 11 в Сан Франциско из них 3.5 в Uber
- Кто посчитал? Правильно - в сумме мне 25 ровно -)
В сфере фронтэнда
есть свой eslint-plugin-react-redux также помогала с eslint-plugin-react
интересуюсь организацией больших команд (я не менэджер - я теоретик) поэтому поговорим про микро-фронтэнды)
Так как все еще понедельник и уже весна-
давайте поговорим про момент вашей профессиональной гордости - у вас есть что-то когда вы про это думаете вам становится тепло внутри и кажется что да, вы занимаетесь чем-то правильным
я начну- у меня это то что мое имя есть в списке авторов chromium chromium.googlesource.com/chromium/src/+… 😊 И вообще быть программистом мне всегда казалось очень круто - а у вас ?
Про жизнь немного. Из нашей долины за последний год все уехали , но мы остались. Весна у нас такая.
Для тех кто интервьюирует или просто любит поговорить - какой у вас любимые вопрос(ы) чтобы понять технические знания собеседника в какой-либо сфере без написания кода?
Я про Реакт люблю спрашивать -- Что делает Реакт быстрым?
- Какие ваши любимые state management libraries for React и почему? Какие когда бы вы порекомендовали
Было классно со всеми познакомиться! На этом программа понедельника окончена. Тк если вы живете по европейскому времени-когда вы засыпаете, я начинаю работать 😊 (тк живу в самом конце мира - позади нас только Гавайи). Завтра начнем про микро-фронтэнды. Присоединяйтесь
Вторник
Ура у нас Вторник! Что приходит в голову когда вы слышите или видите слово микро-фронтэнд?
Еще один вопрос про микро-фронтэнды- а сколько у вас людей в команде которые вам могут сделать толковый код ревью?
I don’t understand micro-frontends.
Про микрофронтэнды - народ настроен скептически и вы в хорошей компании даже Dan 🐐🐐🐐 не уверен в этой идеи
twitter.com/dan_abramov/st…
И все статьи которые можно посмотреть в интернете на тему идут примерно так- в бэкэнде делают микросервисы - а мы что хуже? Мы сейчас тоже сделаем.
И дальше идет что-то про iframe в iframe (я у кого-то украла этот ответ тут 😁😁😁😁) или как компилировать React и Angular в одной странице🤦♀️
Вопрос зачем это делать - я про Angular и React вместе - реально кому-то надо? Серьезно интересно
Кстати если вы будете писать статью про микрофронтэнды вам абсолютно обязательно вставить скриншот твита Дэна без этого не зачет ...
Дальше про микро-сервисы и ооочень большие команды. Раньше как-то люди писали Бэкэнды в монолите и пытались разбивать свой код на идеальные хорошо продуманные модули с очень правильными API на все случаи жизни... И потом поняли что двигаться так очень тяжело
То есть идея что можно просто посидеть и разбить большой код на маленькие но продуманные части в нее очень хочется верить, но она не скейлится на Бэкэнде и на фронтэнде. Поэтому и там и там решили разбивать на изолированные но с возможностью связать друг с другом компоненты
Главный вопрос -а как разбивать? На Бэкэнде самый популярный подход оказался разбивать на предметные области - есть команда которая отвечает за сервис Пользователи есть за Сервис Продукты итд - тогда и автономия сохраняется и расти можно- писать код не боясь сломать всю систему
Другая проблема которой нет на Фронтэнде которую решали на Бэкэнде - это необходимость совмещать разные языки и фрэймворки - у нас монополия Javascript и React - все счастливы
Даже если только React - для больших продуктов возможность разбить UI на микро-приложения она очень даже необходима (IMHO). Самое близкое слово которое описывает такие системы (которое я нашла) - UI portal
Тред (Диана Суворова)
Видимо придется делать полл - хочу понять насколько народ большие проекты пишет в среднем. Может правильный вопрос не количество людей/программистов а количество компонентов?
Среда
Хотелось поделиться проблемой/историей которую я наблюдаю в больших компаниях. И я смотрю на микро-фронтэндную архитектуру как решение и ищу есть ли для нас готовый ответ.
О5 про историю- про то как большие компании выросли вокруг микро-сервисов. Бэкэнд организовали в много (слишком много) слабо связанных команд отвечающих за свою область.
Дальше по мере потребности к ним (бэкэндовским командам) прибавляют другие функции - как Продукт Мэнэджер, Проджект итд
Потом появляется необходимость писать фронтэнд - я хочу отметить что речь идет про фронтэнд в основном внутренний, но в больших компаниях это огромная сфера. Не просто админка. Там куча пользователей/ куча команд
Netflix любит писать про свою Studio suites, в Uber много, Airbnb их много. Так вот это фронтэнд внутренний то есть найти толкового дизайнера сложнее и продукт мэнэджеры если они есть то находятся в капсуле своей вот этой области обрисованной микро-сервисом
Получается много небольших но нужных фронтов которые похожи но не совсем, в каждом по 2-3 инженера которые периодически встречаются и жалуются друг другу на бэкэнды.
Так вот в этой истории фронтэндеры стали заложниками микро-сервисной архитектуры и можно тут объединиться и создать что-то гораздо интереснее.
Но чтобы объединиться нужна платформа (микро-фронтэнды? )Потому что пообещать что мы сейчас все вместе сядем и продумаем идеальные компоненты для всех возможных юай будет безотвественно
Так теперь про конкретные решения на которые я смотрю - modules federation да безусловно. Но он решает проблемы более нижнего уровня (отдельные билды) что абсолютно необходимо.
Кажется что чего-то еще не хватает. Что-то типа Protobuf аналога. Когда каждый сервис имеет очень хорошо описанный интерфейс и границы.
Тред (Диана Суворова)
Четверг
Давайте сегодня про хорошее. Расскажите про ваших менторов и чему вы научились от них. Что было вам неочевидно в начале вашей карьеры?
Пятница
Сегодня мой последний рабочий день с вами. Спасибо всем огромное за такое комьюнити, организаторам- за предоставленную возможность🙏
Самый out-of-body experience- когда скроллишь Твиттер и видишь своё лицо напротив классной мысли. И думаешь- ну я молодец- выдала. А потом понимаешь- это была не ты, а кто-то кто вёл до. Вообщем спасибо всем кто были до 🙏