Счастливый тимлид | ♥ Frontend @frontend_lead_mentor Channel on Telegram

Счастливый тимлид | Frontend

@frontend_lead_mentor


Консультации, менторинг, связь: @thanksforyourmsg

Frontend → Менеджмент → Счастье. Пишу классные тексты о личной и командной эффективности, о достижении целей без разрыва жопы, о классных процессах в команде и о том, как иду к счастливой жизни.

Счастливый тимлид | ♥ Frontend (Russian)

В поисках вдохновения, мудрых советов и поддержки на пути к личной и командной эффективности? Тогда канал "Счастливый тимлид | ♥ Frontend" идеально подойдет для вас! Под названием frontend_lead_mentor скрывается уютное пространство, где вы найдете консультации, менторинг и возможность общаться с единомышленниками. Для связи просто обратитесь к @thanksforyourmsg. В этом канале вы обнаружите уникальные материалы, посвященные различным аспектам развития: от Frontend до Менеджмента, от процессов в команде до личного счастья. От создателя канала можно ожидать классные тексты об улучшении эффективности, достижении целей без изнурительных усилий, создании эффективных рабочих процессов и пути к счастью. Не упустите возможность присоединиться к сообществу, где каждый день можно получить дозу мотивации и полезных советов. Подпишитесь на "Счастливый тимлид | ♥ Frontend" прямо сейчас и станьте частью невероятной атмосферы развития и успеха!

Счастливый тимлид | Frontend

21 Nov, 18:01


А вот к такому приколу даже я не был готов. Отличная иллюстрация перед финальной частью про

#React #SSR и #NextJS

Уже успели зачерпнуть полной ложкой?

© Счастливый тимлид

Счастливый тимлид | Frontend

21 Nov, 15:01


Сегодня участвую в подборке не по менеджерской тематике. Мне кажется довольно эффективным будет пересечение с тематиками про искусственный интеллект и технологии.

> База знаний

Я уже себе нашёл в этой папке несколько интересных каналов. Рекомендую.

Счастливый тимлид | Frontend

20 Nov, 11:50


Я сегодня брал кредит

Ребятаааа, это какой-то треш. Я и не знал, а теперь вот знаю и вам расскажу. Если ты вдруг айтишник, который никогда не брал кредиты, то сколько бы ты лет ни работал в своей компании, сколько бы зарплату ты ни получал, ты для банков — безработный нищеброд.

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

— Евгений, вам отказано во всех банках. Может быть есть возможность взять сумму поменьше?

Мне отказали в кредите 250к на 10 месяцев. Видели бы вы моё лицо. Да, блин, я сам его не видел, но уверен оно выражало фантастический коктейль чувств!

Спустя несколько итераций уменьшения суммы мне таки дали 200к под 32 мать его процента в МФК. Рил, я теперь кредитуюсь в микрокредитных компаниях, так и запишем.

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

Так вот отсутствие кредитов означает самую отстойный в мире кредитный рейтинг. У меня он равен 316 из 1000, что соответствует тому, что какой бы ты ни был миллионер — максимум что тебе дадут это по щщам кредитку с лимитом 30к или кредит от МФК под бешеные проценты + куча смс-спама в подарок. Хуже только у должников и банкротов, и то не факт.

Короче, вот вам совет, проверьте свой кредитный рейтинг (это в приложении любого банка можно сделать) и оформите себе кредитку, купите че нибудь на нее. Сейчас вам может и не надо это всё, зато потом когда будет надо, не придется позориться, что вам ни один нормальный банк 250к на год давать не готов.

Под спойлером рефки: желтый, синий

© Счастливый тимлид

Счастливый тимлид | Frontend

19 Nov, 13:01


Крутой инструмент для выстраивания долгосрочных отношений внутри команды

Думаю многие слышали термин CJM (Customer Journey Map) — табличка для понимания и улучшения точек касания клиента с нашим продуктом. А что если представить, что вся работа руководителя — это продукт, то каждый наш сотрудник — это клиент. Значит мы можем так же для него построить EJM — карту маршрутов сотрудника и сделать его жизнь счастливее!

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

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

Разберем на примере вывода фичи от лица крутого сыча-разработчика:

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

2 шаг — Разработка фичи
— стремления и ожидания: выполнить работу максимально эффективно
— потребности и мотивация: самоутвердиться, получить благодарность от коллег
— боли, барьеры: изменяющиеся требования
— эмоции: нейтральные

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

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

Инструмент сложный и несколько замороченный, но мне кажется в верных руках довольно эффективный. Я его себе забрал и попробую внедрить. А что думаете вы о нем?

© Счастливый тимлид
#Инструменты_тимлида #CJM #Команда

Счастливый тимлид | Frontend

17 Nov, 09:10


Задержка в интерактивности и серверные компоненты

Ну и последнее что меня жутко разражало в SSR, так это задержка в интерактивности. Особенно когда ты с телефона пытаешься что-то сделать.

Как это выглядит: ты открываешь сайт, он загружается, там есть формочка, ты на нее тыкаешь, но написать не можешь. И кнопочки есть, но не нажимаются. И ты стоишь как дурак и думаешь... о вечном.

А все почему? Да потому что сначала код рендерился на сервере и выплюнулся к тебе в телефон как HTML, а потом загрузился всё тот же гигантский кусок джаваскрипта и начал на клиенте рендерить виртуальное дерево что бы что? Чтобы сравнить его с этим HTML и если в HTML от сервера что-то не так — стереть его и отрендерить всё заново уже на клиенте. Кринж!

Благо не меня одного это бесило и за последние годы SSR продвинулся намного вперед.

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

Но потом появились они — серверные компоненты. Да, они не умеют в интерактивность, но за то код, который рендерит HTML этих компонентов, исполняется только на сервере и не поставляется на клиента. А значит никаких гидратаций, всё на полном доверии.

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

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

Самый простой пример применения — страничка блога:
🗯 заголовок, тексты, комменты — серверные компоненты
👤 кнопочки лайков и форма комментирования — клиентские компоненты

#React #SSR

© Счастливый тимлид

Счастливый тимлид | Frontend

15 Nov, 06:02


Онбординг - залог эффективной работы

Привет! Это гостевой пост от автора канала Никита Ульшин про IT. В своей жизни мне пришлось нанять и адаптировать не один десяток людей, поэтому я набил много шишек на процессах онбординга. Сегодня я поделюсь несколькими советами из своего опыта, как упростить онбординг для всех сторон.

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

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

Приведу пример из личного опыта. У меня был случай, когда я потратил две недели на попытки развернуть проект локально, пока мне один из девопсов не сказал, что на моём M1 процессоре он просто не запустится. Проблема была в том, что меня оставили самостоятельно со всем разбираться и мне пришлось потратить кучу времени, чтобы это выяснить. А потом потратить ещё несколько дней на замену оборудования.

🔄 Что стоит сделать на старте онбординга

➡️ Дать новичку понять, что вопросы - это нормально, даже хорошо. Чем больше у него вопросов - тем быстрее он погрузится в работу (и тем больше мест можно улучшить в процессе онбординга).

➡️ Донести, к кому можно идти с вопросами. В идеале человеку назначается бадди, который помогает ему погрузиться в работу. Такое не всегда получается сделать, но работает очень круто.

➡️ Обозначить ожидания на первое время и назначить регулярные встречи для обмена обратной связью.

После этих несложных действий человек будет понимать, что ему нужно делать и к кому можно обратиться в случае возникновения трудностей. Самое важное - не оставлять новичка наедине с собой. Помогите человеку почувствовать с первого дня, что он член этой команды. Комфорт с первого дня - залог долгой и продуктивной работы.

Даже небольшие вложения усилий в онбординг могут окупиться многократно. Так что качайте процесс адаптации новичков и конечно же заглядывайте на мой канал за новыми постами. Сейчас вы там найдёте пост про онбординг от Жени.

Никита Ульшин про IT | #management

Счастливый тимлид | Frontend

13 Nov, 17:00


Нагрузка при серверном рендеринге

Умные люди на хабре пишут, что тяжелые приложение через функцию renderToString генерируются от 10 до 100мс. И это вообще-то ппц как долго. Хотя если вспомнить, что сервер, на котором рендеринг происходит, называется Node.js, можно понять и простить.

Представим, что мы принимаем за норму отдавать пользователю страничку максимум за 300мс, а среднее время рендеринга у нас 50мс, то всего 6 одновременных запросов сразу выбивают нас из «зелёной зоны». Отлично для ноунейм бложика, но мы то работаем с системами, где 100 запросов в секунду скорее норма, чем аномалия. А значит придется масштабировать эту историю так, чтобы несколько серверов параллельно обрабатывали пользовательские запросы. А это всё деньги, деньги, денежки.

Еще сюда мы можем добавить хаки и костыли, а так же разные виды кеширования: на стороне клиента, на CDN, на балансере. Так это будет выглядеть поприличнее, но в то же время и посложнее. Придется нанять архитектора 😄

А если и это не поможет — на помощь придет автоматический скейлинг от облачного провайдера, но с ним осторожнее, можно остаться без штанов.

Зачем эти айтишники всё усложняют?

Поделитесь, пожалуйста, в комментариях какая у вас нагрузка на SSR и каких мощностей вам хватает, чтобы ее закрывать!

#SSR #NodeJS #FrontEnd

© Счастливый тимлид

Счастливый тимлид | Frontend

12 Nov, 06:05


Прямое включение в места составления контент-плана!

Никогда еще у меня блог не был настолько плотно распланирован. В этом месяце вас ждет:

🍍Минимум три поста про серверный (и не только) рендеринг

🍍Парочка постов на менеджерские темы — поделюсь очень крутым, но сложным инструментом, с которым познакомился на курсах. (Да, я постоянно учусь)

🍍 Несколько интересных рекомендаций, здесь без спойлеров

🍍 Лайф контент с хакатона, куда меня пригласили в качестве эксперта. Я — эксперт? Штооо? Эх, опять этот самозванец!

Затем я планирую написать пару постов про PWA и чуть больше внимания уделить взаимодействию разработчиков и менеджеров: тут на днях выдавал в комментах Вастрик.Клуба базированную базу, думаю что такой контент стоит и здесь сохранить.

Так же хочу отметить популярные посты, которые вы возможно не видели:

↗️ Будни разработчика. Ожидание и реальность

↗️ Не всё зависит от тебя

↗️ Награда за риск

↗️ Место, где живет счастье

Вам, кстати, какие темы больше нравятся?

© Счастливый тимлид

Счастливый тимлид | Frontend

11 Nov, 11:00


Вы посмотрите на новости, в гугле уже во всю используют ИИ для написания кода, в Сбере сделали свою IDE со встроенным ГигаЧатом, каждый второй уже отписался как описался от счастья попробовав Cursor, а чем я хуже?

В этом месяце заново открыл для себя ChatGPT: он переехал на новый домен, у него появился нормальный UI и PWA для телефона, он стал умнее и мощнее в бесплатной версии. Да, всё еще нужно колдовать с подменой IP, но это уже настолько привычно, что стало обычной рутиной.

Я использую его для написания кода пет-проектов. Он неплохо подсказывает подходящие библиотеки под задачу, о которых я без него бы не узнал. Он отлично пишет всякие мапперы и форматтеры:
— Напиши функцию, которая преобразует дату из 13-11-2024 в 13 ноября 2024
И в ответ выдает код, который я писал бы около часа, так как только на изучение всех опций ушло бы минут сорок.

Жаль на рабочем ноуте его использовать вроде бы запрещено.

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

Да и в жизни с ним многое можно сделать. От выбора подарка на день рождения, до планирования жизни. Часто он подсвечивает неочевидные моменты, про которые я даже не подумал, а когда бы узнал про них, было бы уже поздно.

Ну и самое крутое, что я постоянно использую — это изучение нового. С ним можно как поверхностно изучить тему, так и углубиться в нужные детали. На днях глубоко копал про PWA и узнал про Bubblewrap, который позволяет упаковывать PWA в APK и загружать в сторы. Вот до чего техника дошла!

Кстати, ставьте огонек, если интересна серия постов про PWA.

А вы используете ChatGPT или наигрались и бросили?

© Счастливый тимлид
#ChatGPT #AI #Искуственный_Интеллект

Счастливый тимлид | Frontend

07 Nov, 06:36


Чем отличается джун от сеньора

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

Начинающие разработчики как дети — многое у них в первый раз, и радуются они искренне таким банальным вещам:
🐸 вышла новая версия любимой библиотеки и в ней теперь меньше багов
🔥 поменял конфиг вебпака и он собрался без ошибок
тест наконец-то зелёный!

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

💡 Программирование не просто работа, это конструктор для взрослых. Играйте! Дайте своему внутреннему ребенку насладиться по полной!

Сегодня отличный день, чтобы улыбнуться)

© Счастливый тимлид

Счастливый тимлид | Frontend

05 Nov, 17:00


Как выжить без SSR?

Отвечаю на вопросы на конкретном примере.

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

Как вы уже поняли, это было приложение с клиентским рендерингом, и плюсы этого очевидны:
❤️ nginx раздавая статику может держать практически любое количество запросов в секунду
❤️ контейнер nginx:alpine вместе с кодом занимает 50 МБ жесткого диска и на фоне бековых микросервисов не жрет ресурсов совсем-совсем.

Но были и минусы: мы хотели, чтобы люди из поиска могли нас находить, а это было просто невозможно!

Что же нам помогло? SSG? SSR?

Всё гораздо проще и банальнее!

Мы просто собрали всю инфу, которую хотим транслировать в мир и упаковали в метатеги в нашей index.html. у нас получился <head /> в 50+ строк различных og:title и <body /> с одним единственным <div id="root" />. Это дало нам и хорошие позиции в поисковиках по целевым запросам, и красивые превьюшки в соцсетях, и всё это практически бесплатно 📈

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

Подумайте об этом!

#React #SSR #Nginx

© Счастливый тимлид

Счастливый тимлид | Frontend

02 Nov, 19:28


SSR — жопа или кайф?

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

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

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

Но как только я думаю что мне придется на одном полудохлом серваке рендерить код для каждого юзера, мне становится страшно. Честно, я представляю всех кто юзает Next.js и облачные хостинги типа Vercel примерно такими ребятами:

— Чуваки, я придумал классный проект, зацените
— Вау классно, я пошарю ссылку друзьям
... Прошло пол часа
— Ээээ, почему мне пришел счет на миллион долларов?

Но как обстоит дело на самом деле?

Я думаю в этом разобраться и написать здесь в следующих постах. Ставь пожар если интересно, или пиши коммент, если шаришь где я не прав!

#SSR #React #NextJS

© Счастливый тимлид

Счастливый тимлид | Frontend

01 Nov, 10:35


Неделю пишу код и на своей шкуре ощутил как отличается производительность разработчика «в вакууме» и разработчика, который работает в команде.

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

Но как часто вы проживаете идеальный день? Я — никогда!

Типичный день в роли разработчика состоит из таких активностей:
— Дейлик, на котором надо объяснить почему вчера ничего не сделал
— Синк, на котором приходится повторять то же самое что на дейлике, только уже внешним стейкхолдерам
— Обед
— Срочная встреча, на которой оказываюсь не нужен
— Обсуждение цвета тени под кнопкой на пару часов с тестировщиком
— Согласование причин отсутствия документации с аналитиком
— Поножовщина с бекендером из-за внезапных изменений в API, потому что он хотел как лучше
— Оформление багов на core-команду, которая опять всё сломала
— Собеседование, чтобы найти того, кто заберет эту возню с кодом на себя
— И наконец 30 секунд в конце дня на программирование.

И завтра всё по новой!

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

Остаётся дать короткий совет менеджерам: выделяйте разработчикам время без встреч, часа так четыре хотя бы, подстраивайтесь под их часы продуктивности, не отвлекайте по пустякам, а лучше вообще не отвлекайте. И тогда вы будете получать качественные фичи в обозначенный срок.

Вы знаете кому отправить этот пост ;)

© Счастливый тимлид

Счастливый тимлид | Frontend

29 Oct, 07:43


Так меня видит искусственный интеллект

В последний месяц всё чаще и чаще использую ИИ в жизни. Всё благодаря тому, что они наконец-то сделали удобный мобильный UI — установил как PWA, видимо выделили бюджет на нормального фронтендера.

И есть ощущение, что чат уже неплохо изучил часть меня. А что с вами?

Давайте вместе сыграем в эту игру. Напишите в chatgpt следущий промт и скидывайте картинки в комменты.

Based on what you know of me, draw a picture of what you think my life currently looks like.


Разрешаю в описании к картинке попиарить свой канал.

© Счастливый тимлид

Счастливый тимлид | Frontend

25 Oct, 11:58


Не всё зависит от тебя

Как-то так сложилось, что меня всю жизнь окружал паттерн «ты мало стараешься». Не получил пятерку в школе, проиграл в шахматы, не прошел собеседование — значит мало старался.

А если всё-таки чего-то добился — молодец, но мог бы лучше!

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

Такое мышление не дает наслаждаться не только достижениями, но и процессом. Всегда есть кто-то, кто моложе, сильнее, круче и успешнее тебя. Любые достижения меркнут перед его, а точнее их успехами.

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

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

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

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

И это я совсем не про парапланы, а про жизнь в целом.

Желаю себе и вам, не впадать в отчаяние и стараться поддерживать себя, особенно в моменты когда много старался, но не получилось. Ты сделал всё что мог, но ты не всесилен. И это нормально.

Не всё зависит от тебя.

#счастье #принятие

© Счастливый тимлид

Счастливый тимлид | Frontend

22 Oct, 13:48


Коллеги, прямое включение с груминга. Сейчас расскажу как одно упущение в контракте API может привести к усложнению разработки и тестирования, костылям и куче лишнего кода.

Представьте: необходимо реализовать список с чекбоксами. Каждый раз, когда пользователь меняет состояние чекбокса, вы должны отправить на сервер запрос с ID этого элемента и в ответ получите его обновлённое состояние. Заметьте, по техническому заданию, включённые чекбоксы должны быть наверху списка, а выключенные — внизу. Как будете решать такую задачу?

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

Есть другой путь. Договариваемся, что на каждое изменение сервер возвращает вам сразу весь список с актуальным состоянием и порядком. Тогда:

Клиент после каждого изменения получает актуальные данные
Состояние на клиенте после каждого запроса синхронизируется с состоянием на сервере
На клиенте практически отсутствует логика, а значит и баги. Заменить старое состояние на новое сможет даже джун.
Реализация проще, а значит быстрее. Менеджер будет доволен.

Выглядит круто, не так ли?

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

А как сделано у вас на проекте?

© Счастливый тимлид

Счастливый тимлид | Frontend

21 Oct, 16:27


Блин, прикол! Я просто взял и рукой вытащил у сына молочный зуб. Полквартиры в кровище

Ждём зубную фею 🤑

Счастливый тимлид | Frontend

20 Oct, 15:44


Пост в честь дня отца

Круто что в наше время день отца имеет такое же важное значение как и день матери. Считаю, что роль отца занимает особое место в полноценном развитии ребенка.

Сегодня жена закинула мне несколько вопросов в тему праздника. Пришлось плотно над ними подумать и кажется получилось так хорошо, что получился этот пост.

— Что самое сложное в отцовстве?
Когда я только стал отцом, я и представить не мог, что самое сложное для меня будет не смена памперсов и даже не оплата счетов, а необходимость справляться с капризами. Я испытываю дикую фрустрацию, когда рациональные аргументы бессильны, мне очень тяжело сохранять самообладание в таких ситуациях. Хорошо, что часто в такие моменты на помощь приходит жена, которая имеет контакт с ребенком на каком-то ином, запредельном для понимания уровне.

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

— Чему важно научить ребенка?
Я был научен, что ошибки — это плохо. Но когда я вырос, я понял, что всё наоборот: ошибки — это лучший учитель. Я хочу чтобы Вадим не боялся ошибаться, чтобы он пробовал снова и снова, стремясь к результату. Но еще важнее, чтобы он умел вовремя остановиться и не впадать в зависимость от гонки за успехом.

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

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

#счастье #семья

© Счастливый тимлид

Счастливый тимлид | Frontend

18 Oct, 19:00


Менеджер для разработчика как СДВГшник для нормиса

Я в роли менеджера уже несколько лет и привык делать множество разных задач параллельно: этому напиши, там задачу поставь, параллельно на встрече ухо в остро держи. Еще требования надо почитать и собрать всех людей на срочный созвон чтобы проблему на проде решить. В итоге день менеджера — это постоянное переключение между разными видами деятельности, но почти вся эта деятельность не требует глубокого и долгого погружения. И тут я вдруг погружаюсь обратно в разработку и я в шоке — так же просто невозможно работать!

💡 Оказывается, чтобы нормально загрузить в себя контекст нового проекта нужно часа три сфокусированного чтения кода.

💡 Оказывается, если тебе начинают звонить или даже писать, то часть прогресса пропадает, а на возврат фокуса требуется еще минимум полчаса времени.

💡 Оказывается, если утро начать с кучи созвонов/синков/согласований, особенно с промежутками в полчаса, то ресурса на сфокусированную работу во второй половине дня остается гораздо меньше, чем если начать программировать с самого утра.

⚡️ Представляете, я в какой-то момент даже перестал понимать, почему разработчикам так сложно выделить полчаса чтобы завести пару задач или ответить на сообщение СРАЗУ. Как же это теперь кристально ясно.

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

Поделитесь в комментах что вас раздражает в действиях менеджеров, если вы разработчик, а что в разработчиках, если вы менеджер.

#разработка #управление

© Счастливый тимлид