IT DIVA - Карьера в IT и BigTech
Open in Telegram
Канал о том, как построить карьеру в IT 💻 Сообщество айтишников: https://boosty.to/it_diva YouTube-канал IT DIVA: https://www.youtube.com/c/ITDIVA Курс по поиску работы в IT: https://course.it-diva.ru
Show more1 877
Subscribers
No data24 hours
-17 days
-2830 days
Posts Archive
Кто ещё не поднял свой VPN в РФ, чтобы смотреть YouTube? 😁
Вот вам подборка хостингов с серверами за рубежом, услуги которых можно оплатить картой РФ:
https://habr.com/ru/articles/678458/
P.S.: если знаете стабильные и безопасные VPN-сервисы или надежные хостинги с серверами за рубежом - напишите в комментариях названия 👇
Готовы таймкоды к стриму для тех, кто будет смотреть в записи:
https://www.youtube.com/live/6Zh4usxyVNg?si=nQ4UST2EpMtej3UH
00:02:35 - О чем будем говорить на этом стриме
00:03:45 - Почему эта тема очень важна для проекта
00:06:15 - Зачем нужна инфраструктурная команда в проекте
00:08:10 - Как выглядит жизненный цикл проекта
00:09:00 - Почему важно уметь принимать технические решения на стадии роста проекта
00:11:25 - Какие бывают проблемы на уровне процессов
00:13:20 - Какие бывают проблемы на уровне команды
00:15:05 - Какие бывают проблемы на уровне технической стороны проекта
00:18:45 - На что обратить внимание при выборе технических решений или стека для проекта
00:29:55 - На что обратить внимание при проектировании архитектуры проекта
00:36:10 - Вопросы из чата: как стать лидом в проекте, разница между техлидом и тимлидом
00:38:00 - Как архитектура помогает в тестировании
00:39:10 - Главные принципы при проектировании архитектуры
00:40:00 - Как работать с техдолгом и почему важно рефлексировать и собирать обратную связь по проекту
00:42:55 - Не изобретайте велосипеды
00:44:45 - Учитывайте возможности вашего языка, стека, платформы при работе с большими данными
00:49:35 - Как снизить вероятность возникновения багов на релизах и регрессах
00:51:20 - Как создать среду проекта, которая сама тебя учит писать код и не дает накосячить
00:55:55 - Зачем нужны процессы код-ревью, архитектурного и технического дизайна
01:01:00 - Мои планы на курс для лидов
01:01:50 - Вопрос из чата: стоит ли делать команду рефакторинга
01:03:40 - Вопрос из чата: как выжить джуну в команде сеньоров
01:04:30 - Особенности лидовских позиций
01:07:10 - Вопрос из чата: в чем разница между тимлидом и техлидом
01:08:25 - Как создать команду рефакторинга
01:09:15 - Вопрос из чата: какой оптимальный размер команды
01:11:45 - Какие качества должны быть у тимлида и как их прокачивать
01:17:20 - Как понять, помогает процесс проекту или мешает ему и как внедрять новые процессы
Стрим уже в эфире, присоединяетесь:
https://youtube.com/live/6Zh4usxyVNg?feature=share
Сегодня в 12:00 по МСК в прямом эфире будем говорить о том, как принимать решения на уровне лида для вашего проекта, чтобы его не угробить:
https://youtube.com/live/6Zh4usxyVNg?feature=share
Можно будет задавать свои вопросы и поделиться своими историями в чатике стрима.
Буду ждать вас на стриме, тыкните на кнопку "Прислать уведомление", чтобы не пропустить ❤️
Так, завтра в 12:00 по МСК попробуем стрим провести на YouTube.
Буду учить вас принимать решения на уровне лида для вашего проекта, чтобы его не угробить 😁
Постараюсь дать лучшие практики, которые пока успела заметить для разработки, т.к. у меня за год команда выросла в 2 раза и есть, что сказать.
Заодно затестим, как стримы будут по VPN идти. Вы тоже разверните себе 😉
Позже бахну анонс и ссылочку закину, чтобы на уведомление о начале стрима подписаться
Есть у меня ребята, кто публично выступает?
Нашла для вас статью с приёмами, как уворачиваться от токсичных ребят:
https://habr.com/ru/articles/834094/
А что вы делаете, когда у вас включается внутренний саботаж для реализации задачи?
Я начинаю делать уборку 😅
Вот почему вас просят включить камеру на собеседовании:
https://habr.com/ru/articles/833458/
Помню, что на прошлом стриме спрашивали про то, как подтянуть английский, и вот случайно наткнулась, что у Фари команда делает курс по английскому для айтишников, чтобы подготовить их к общению на рабочих встречах и к самопрезентации на собеседовании:
https://inzhenerka.tech/english_it
Единственный нюанс, там по местам ограничение и начало курса 5 августа (то есть в понедельник уже), поэтому если вам очень надо - вы там поспешите 😅
А вообще, вижу крутую тенденцию, как ребята из IT-сообщества начинают делать свои курсы и вкладывают туда свою душу. Сама знаю, что курсы делать очень сложно, и поэтому прям хочется поддерживать такие инициативы ❤️
Сегодня настроили с парнем свой VPN 🎉
Очень жалею, что не сделали этого раньше. Сколько геморроя снимает - не передать словами. Даже мысли о переезде утихли 😁
Кому надо так же - вот вам гайд, про который в прошлом году писала: https://t.me/it_diva_offical/160
И приложение, через которое можно подключать ваши устройства к серверу:
https://outline-vpn.com/ru/#howto-outline
Можно снова смотреть видео на YouTube в максимальном разрешении и без задержек, заходить на LinkedIn без браузерных плагинов, вести блог в запрещенных в РФ соцсетях без вот этих вот "VPN опять не работает, не могу зайти, скорость говно, ничего не грузится, ой всё, больше не буду сюда заходить никогда" и подобных проблем.
Потратили всего 1,5 часа и 700 рублей, а столько радости и свободы сразу чувствуешь. Как глоток свежего воздуха прям.
Кайф ❤️
Кто у меня работает с инфраструктурой?
Ловите способ обхода ограничений на approve rules в бесплатной версии GitLab CI:
https://habr.com/ru/companies/nixys/articles/822329/
Эх, а так хотелось... 😁
Хотя, где-то в мире по-любому есть проект Machine Learning с такой папкой
Кто почувствовал замедление YouTube - вот официальная заметка от поддержки Google:
https://support.google.com/youtube/community-guide/286374160/
Там есть способы обхода проблемы
Но я пока не знаю, как вести стримы в таких условиях. У меня с компа видео тупо паузятся 😅
Вы вот почувствовали замедление, кто в РФ находится?
Ловите отличный Roadmap по архитектуре:
https://t.me/softwareengineervlog/2208
И хватит весь код в один файлик писать уже 😁
Есть у меня ребята, которые хотят стать тимлидами?
Вот тут неплохая статья про первые шаги тимлида в новой роли или команде:
https://vc.ru/hr/1336055-from-zero-to-hero-pravila-uspeshnogo-starta-timlida-v-novoi-roli
Нашла офигенную утилиту для регулировки корпусных вентиляторов в зависимости от температуры CPU, GPU и вообще всего, у чего температура меряется:
https://getfancontrol.com
Может быть, кому-то тоже будет полезно.
После того, как мой компьютер переехал в новый продуваемый корпус - очень хотела, чтобы у видеокарты стало больше охлаждения, но вентиляторы даже в современных версиях BIOS зависят от температуры CPU, позор какой 😒
У меня стоит водяное охлаждение, и поэтому процессор у меня особо не нагревается, так что корпусные вентиляторы крутились практически просто так, охлаждая материнку и легонько обдувая видеокарту.
А если для большего охлаждения видеокарты увеличить количество оборотов, то компьютер по звукам будто в космос улететь собирался.
Долго мучалась с этим, короче.
И вот, наконец-то я нашла пример хорошего Open Source проекта, который решает эту проблему. Да ещё и регулирует вообще все вентиляторы. Можно удалить нафиг MSI Afterburner и бесполезный софт от производителей материнской платы, и регулировать вентиляторы GPU, CPU и все корпусные прямо тут. Я в восторге!
Выставила себе для конкретных вентиляторов зависимость от температуры GPU, потестировала в разных играх, нашла свои балансы по шуму и температуре для корпусных венлитяторов и вентилятора самой видеокарты, настроила и кайфую.
Теперь в покое компьютер супер тихий, а под нагрузками не превращается в гулкую машину для запуска ракет.
Вот такой гайд по настройке ещё на YouTube нашла, может кому-то тоже давно хотелось сделать такое:
https://youtu.be/uDPKVKBMQU8?si=a5FNJVu9jRBVg8jZ
Как мы одной функцией запороли большой релиз, который готовили несколько недель
Началось все с того, что на этот квартал я поставила команде цель на оптимизацию приложения.
И за этот месяц мы действительно сделали много приятных улучшений: убрали задержки, устранили утечки памяти, добавили персистентное хранение для больших объемов данных.
Приложение на тестовом стенде начало просто "летать" по сравнению с предыдущей версией.
Мы уже представляли, как пользователи будут хлопать в ладоши от счастья и писать нам приятные комментарии, когда мы выпустим новый релиз на прод.
И вот настал момент X. Я выкладываю релиз и... всё стало тормозить ещё сильнее 😰😐
Причем стало тормозить настолько жёстко, что через несколько минут после выкладки релиза баг-репорты начали сыпаться со всех щелей с огромной скоростью.
Я сижу с удивлёнными глазами и не понимаю, что происходит. Мы же тестировали все, проводили регресс. Там не было таких проблем, все работало идеально.
Что же не так на проде? Почему тут всё лагает?
Пошли с разработчиками профилировать и видим жуткие скачки CPU на проде. Заходим на тестовый стенд, делаем всё то же самое, и не видим никаких скачков вовсе.
Ну дела 😧
Откатываю релиз. Скачки и баг-репорты утихли.
Я выдыхаю и пытаюсь с командой придумать, как воспроизвести то, что мы увидели на проде. И тут мне приходит в голову, что единственное различие между продом и тестовым стендом - это количество пользователей.
Мы создаём условия для теста с кучей пользователей и... бинго! Чем больше пользователей - тем хуже работает. Но что именно?
Снова садимся в профайлер и находим функцию, которая фильтрует данные с пользователями. Со стороны она выглядит совершенно безобидной: функция принимает данные, фильтрует и отдаёт результат.
Но, во-первых, она запускается на каждый ре-рендер (то есть на каждый чих и пук в приложении) и, во-вторых, она по факту работает с большим объемом данных. При этом сам алгоритм фильтрации написан так, что возникает квадратичная сложность.
В итоге именно эта с виду безобидная функция вызывала дикие лаги и скачки нагрузки на CPU из-за того, какие данные в неё передавали и из-за неоптимального алгоритма фильтрации, который в ней был реализован.
Что мы в итоге сделали:
1. Для временного быстрого фикса переписали алгоритм с квадратичной сложности на линейную, чтобы уменьшить количество операций.
2. Добавили мемоизацию для вызова функции, чтобы сохранить результат вычислений и не вызывать повторную фильтрацию на каждый ре-рендер.
3. Начали сразу после релиза hot-fix прорабатывать более подходящее решение для этого конкретного кейса, т.к. работа с настолько большим объёмом данных была концептуально неверно реализована.
4. Создали отдельный стенд для тестовой раскатки, который обращается к backend прода, чтобы на него выкатывать релиз frontend перед публикацией и иметь возможность профилировать его, если что-то пойдёт не так. Так пользователи не успеют словить жёсткие баги, а мы их увидим 100%.
В итоге, опасность миновала, но теперь мы поняли, что не все места удалось оптимизировать, так что пока ещё работаем с последствиями.
К чему это я всё?
Помню, меня как-то спрашивали "Зачем вообще нужны алгоритмы на фронте? Там же верстка, ничего сложного" или "Зачем использовать useMemo? Итак работает же".
Вот вам пример, причем, не гипотетический, а самый настоящий, когда одна тяжеловесная функция может привести к катастрофе и откату релиза 😁
А у вас были похожие истории? Делитесь в комментариях 👇
