Максим Фатин | про IT
4.13K subscribers
202 photos
4 videos
105 links
Помогаю с подготовкой к собеседованиям в RU Big Tech

https://clck.ru/3RdRKN

● Вместе с командой помогли 100+ разработчикам попасть в BigTech
● Жму 100-ку на 2 раза (есть куда расти)
● Люблю есть ночью)

Связь через Карину:
@Karina_algocode_io
Download Telegram
Самая важная новость текущей недели

Состоялась сделка по объединению ООО Отус (ярдовая компания) и algocode

И я КАПЕЦ РАД!

Это мега выгодная сделка вообще для всех: для клиентов, которые получат бОльше контента, для меня с Данилом (кореш с которым начинали делать algocode с самого начала) и для Отуса

6 месяцев шло обсуждение, и вчера всё подписали

Так что скоро в резюме напишут "Руководитель отдела разработки"

———

Я вот смотрю на весь путь, что прошёл, и вообще не жалею

Попробовал не только микросервисы пораспиливать и пообъединять, но и бизнесы 😂

P.S. микросервисы вообще фигня по сравнению с этим
🌭59❤‍🔥26🍓6🤣2
Гонял тут на конфу amoConf

Один из спикеров на полном серьёзе сказал:

"Промпты для AI — это прошлый век" ))))))))

Вот сижу и думаю — а может, это я отсталый…
Уже так сходу и не разберёшься 😂
🌭16🤣14🍓1
Почему никто не работает?

Заметил, что чем в бОльшую команду я захожу из смежного направления с вопросами

Тем быстрее меня хотят отфутболить 😂

Да и в целом, настроение я бы сказал не мега рабочее у многих (сравнивая даже год назад...)

Если у тебя так же, ТО ТУТ ДЛЯ ТЕБЯ АФИГИТЕЛЬНЫЙ ШАНС

Когда настроение падает у коллектива, то кратно легче выделиться и получить повышение

НО КАК ИМЕННО?

Если ты разработчик, то ТОП-1 возможность (для начала) - это афигительно изучить свой продукт

90% всех с кем общаюсь не знают как пользователи пользуются продуктом, не знают конкурентов, да даже весь функционал не знают (в голове не собрана вся система) и т д

А без этого НЕРЕАЛЬНО ВЫСТРОИТЬ СВОЕ ВИДЕНЬЕ ПРОДУКТА

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

У тебя сходу начнут появляться фразы:
• Это не главный приоритет, давайте сфокусируемся на...
• Я бы хотел взять XYZ - это критично для пользователей и понимаю как пофиксить...
• Мы упускаем XYZ функционал которые есть у конкурента...

А это уже следующий уровень от "хочу вот эту интересную задачу"

И бахни 🌭 если заходят посты такого формата
🌭102🍓6
Новая техника разработки: WATERFALL (водопад)

Применяется исключительно в больших юнитах и горячих проектах

Стратегия такая:

1) Пару раз обсудить планирующиеся изменения с продактами, смежнми командами

2) Сделать пару митингов почему важно сделать это как можно быстрее

3) Убедиться, что фича настолько большая, что ее откат не возможен и проще все будет другим переделать чем вам откатывать

4) Зарелизить без уведомления смежных команд и наблюдать очень быструю перестройку всех процессов

----

Так вот, наша команда буквально попала ПОД этот ВОДОПАД задач

Фантастическая схема)))))
🤣37🌭12
Нанять, чтобы уволить !

Недавно написал знакомый с вопросом:

Устраиваюсь в компанию и меняю стек. Собесы прошёл, оффер есть, и как понять, что меня не уволят?"

Я вообще не понял вопроса сначала 😂


А потом такая история от него:

Слашал, что в компаниях нужно нанимать X человек в месяц и увольнять Y человек в месяц

Чтобы это выполнять, иногда нанимают, чтобы просто уволить и не трогать текущие команды

Я, конечно, офигел

Поспрашивал корешей и понял, что какие-то единичные случаи действительно бывают

Вот так в 2026 доводят до ручки соискателей

Ну и ставь 🌭, если уже думал/гонял к психологу
🌭61🍓9
Кто отвечает за карьерный рост?

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

На сайте было написано:
• завтра Junior
• через полгода Junior+
• через год Middle
• через полтора года Middle+

Афигительный оффер! Я смотрел на это и уже видел свою ЗП — 600 000 зеленых в секунду через полтора года

И компании тут афигительно постарались, на мой взгляд

Но почему нет трека дальше?

Почему ведут не до Senior или Lead?

На мой взгляд, тут такие причины:
1) Дорого во всех смыслах
2) Не нужно в большом объеме
3) От Senior ждут глубокой экспертизы в некоторой теме + своего опыта

Нет смысла в одинаковых Senior — задача Senior повышать предел некомпетентности команды в конкретной области

Например:
• Петя может решить задачу сложностью 5 по математике и 2 по информатике
• Вадим — 3 по математике и 3 по русскому
• Женя — 1 по математике и 5 по информатике

Вопрос: кто Senior?

КОНЕЧНО, Петя и Женя — они могут решить то, что не решат другие

А Вадим — классический Middle

И КОНЕЧНО компании очень хотят к себе Женю и Петю, потому что у них самих дофига Вадимов и нужно, чтобы кто-то всех их направлял

В общем, карьера — это только твоя ответственность!

Бро, если ты хотя бы знаешь, что у тебя за суперсила, или хотя бы наметил, чем ты хочешь выделяться, ты уже на голову выше остальных

А если не знаешь - пора выбирать

Йоу! Ну и 🌭 не забывай ставить)
🌭91
Вайб пятничной разработки

1) Активно пушить все возможные активности на уставших коллег

2) Мега активно отвечать в чатах

3) Возмущаться, что в 17:00 половина не в онлайне, а я хочу катить релиз

Что не сделаешь ради повышения...

Ну и бахни 🌭, если хоть раз делал так же
🌭48🤣19
Как торговаться за ЗП?

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

ВЕДЬ ТОЛЬКО ТОГДА ты находишься в сильной переговорной позиции

Приведу пример: вот сервис упал и тут два варианта

1) ты просто прошелся по ранбуку и пофиксил

2) ты отловил аномальный наплыв событий в kafka, поскейлил сервис и починил все, а другие сидели и не могли понять, в чем проблема

——

Только во 2 случае ты получишь афигительный респект, потому что другие не знали, что делать

Твоя услуга по починке уникальна

——-

Чем больше у тебя есть таких "услуг", тем ты ценнее в глазах руководителя

Так, Максон, а как ТОРГОВАТЬСЯ-ТО ЗА ЗП???

Що ты тут затираешь...

А торговаться очень просто: приходишь и просишь больше денег, а тебе их дают, потому что ты четкий мэн

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

Зачем все усложнять

Да, нужно сделать это вежливо

Да, лучше сходить и еще офер иметь больше текущего на 20–30%

НО!

Простого: "Привет, хочу обсудить твои ожидания по моей работе и получить фидбек"

Потом: "Рад, что фидбек положительный, я бы хотел и дальше расти и быть полезным для команды

И для меня важно простроить трек роста в деньгах

Можем ли мы с тобой сделать коммитмент..."

Вообще должно быть достаточно, чтобы обо всем договориться

Кста, если есть интересные истории, как за ЗП торговался — пиши в комменты

И бахни 🌭
🌭54🍓2
Закат битовых задач в алгосах

Все началось с простой задачи:

Дан массив чисел nums. Каждое число повторяется 2 раза, кроме одного. Нужно найти это число

Ввод: [1,3,2,1,2,8,8]
Вывод: 3


Естественно, все очень быстро выучили оптимальное решение: нужно сделать xor всех элементов и получится число

А решение вот такое:

def find_single(nums):
result = 0
for n in nums:
result ^= n
return result


P.S. Работает чисто на битовой магии и честном слове

——

Потом, значица, компании ультанули и насоздавали вот таких задачек:
https://leetcode.com/problems/single-number-ii/description/
https://leetcode.com/problems/single-number-iii/

И если за бугром такие задачки хоть как-то прижились, то у нас их могут решить, пожалуй, только олимпиадники и число провалов зашкаливало (после чего задачи из пула компании убирались - сам видел)

Да и нужны были они в основном системным программистам, ибо там каждый бит считают

——

И сейчас мы наблюдаем закат этого битового безумия

Кстати, в своем старом ролике (https://www.youtube.com/watch?v=MSrv3iH65ow) на Ютабчике разбирал прикольные подходы к таким задачкам

Так что если все еще считаешь биты, пока выходить на следующий уровень 🌭)
🌭34❤‍🔥5🍓2
Ну что, готов проектировать мессенджер?

А это, между прочим, ТОП-3 задачка на проектирование по популярности, встречающаяся в Т-Банке, Авито и Яндексе

Вся сложность системы связана с real time и просто офигительной нагрузкой

В требованиях RPS на чтение может улетать под 100 000, а на запись — под 12 000 и выше

В этом посте хочу разобрать, в какой БД все это хранить, на примере продакшен опыта Discord-а

1) Discord начал с MongoDB

НО!

Не прошло и года, как съехали на Cassandra, ибо индексы перестали помещаться в память и запросы выполнялись нестабильно по времени

2) С Cassandra переехали на ScyllaDB

ИБО Cassandra написана на Java, и GC стал сильно аффектить на большой нагрузке

А ScyllaDB — та же Cassandra, но написанная на C++

3) В общем, ScyllaDB FOREVER

До сих пор ее используют

Нагрузка у Discord-а такого же порядка: десятки тысяч RPS на запись и сотни тысяч на чтение

—-

В общем, на собесе не вздумай брать MongoDB, PostgreSQL или MySQL для мессенджера при десятках тысяч RPS на запись. Бери или Cassandra, или ScyllaDB

Ну и это, бахни 🌭, если хочешь еще посты с System Design тематикой
🌭176🤣6❤‍🔥1🍓1
Капец бесят push-уведомления

Поэтому у меня они везде выключены где-то еще с 2024


НО! Знать, как они работают, будет полезно. КАК-НИКАК SYSTEM DESIGN этого требует :)))

И вот важные факты

Рассылкой для андроидеров занимается FCM (Firebase Cloud Messaging)

И да — это сервис GOOGLE

Почему?

А чтобы, когда ты нажимаешь «Разрешить отправлять уведомления», тебя не задудосили и не наплевали на твой отказ

И схема такая

1) Ты разрешаешь отправлять уведомления, и FCM выписывает токен

2) Приложение отправляет токен на свой бекенд и сохраняет токен в БД

3) Когда наступает момент push-нотификации, то бекенд приложение инициирует нотификацию, отправляя запрос в FCM с твоим токеном и тот уже отправляет push

Что тебе это дает?

ДА ТЫ ТЕПЕРЬ БОГ НОТИФИКАЦИЙ!

Ну серьезно, этой инфы достаточно, чтобы нарисовать правильно стрелочки и квадратики на собесе

Недостаточно, конечно, чтобы ответить на вопросики по типу

- А когда токен протухает, что делать?

- Какие причины протухания могут быть?

- А всегда ли FCM рассылает или есть еще кто?

- ...

Но блин, лично меня об этом ни разу не спрашивали

ГЛАВНОЕ, что ты понял принцип работы рассылок, и как база этого более чем достаточно

Ну и бахни 🌭, если уже ждешь ПОЛНОЦЕННЫЙ видос про проектирование мессенджера на YouTube (уже монтируют его...)

P.S. Токен выписывается всегда на 1 устройство одного приложения... Именно поэтому и на планшете и на телефоне тебя спросят "хотите разрешить отправлять уведомления"
🌭103
Первый пошел!

Запустили программу "офер под ключ" для Java и Go разработчиков с опытом в июне и вот первый оффер

Ну естественно мы отказываемся и идем дальше...

Это только разминочка

Кста, бахни:
🌭 если гонял на собесы меньше полугода назад и
❤️ если уже давненько не был
❤‍🔥78🌭38🍓5
Написал еще один сервис с AI

Давно хотел сервис, который будет контролировать AI-бюджет / собирать AI-запросы и ответы для дебага и т. д.

В общем, LLM Observability

И знаете — есть оч похожие сервисы на то, что мне нужно: Langfuse/OpenRouter/LiteLLM Proxy

И у каждого из них есть что-то хорошее, а что-то меня прям бесило или просто не было нужного

Так вот

За 3 дня я просто написал свое)

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

Это я к тому, что SaaS-продукты-то, кажется, умирать будут потихоньку

Просто каждый сможет выстроить нужную ему инфру

А заработают, как всегда, продавцы лопат (имеются в виду продавцы лопат в золотую лихорадку)

Так вот, синьоров, освоивших AI-тулы на профессиональном уровне, я считаю продавцами лопат

И бахни 🌭 если нашел для себя интересные мысли
🌭36🤣4🍓3❤‍🔥1
А в чем проблема? Почему не дали хороший грейд?

В общем, зашел ко мне кореш за советом, как подготовиться к финалам

Техничка у него хорошая — я сам знаю и уверен

Так вот

Оказались мы в ситуации, когда после финала офер не катили и он спрашивает совета - что делать

Я даю ему стандартный быстрый тест:

Ответить в голосовом на 3 вопроса как на собесе:

1. Какая самая сложная техзадача, которую решал?
2. Как устроены процессы в команде?
3. Чем вообще сам занимаешься в команде?

Сходу понимаю какие самые вероятные проблемы, и говорю:

Сгоняй на 5 финалов с лидами — найди их на GetMentor и попроси, чтобы позадавали вопросы и ставили тебе грейд

Потом говори желаемый грейд и спрашивай, чего не хватило


Это самое эффективное, что я знаю и чем сам пользуюсь

И говорю: сходи на 5 таких прожарок, и я сам потом добавлю, и не стал говорить, что мне не понравилось в моменте

Просто это не совет из разряда — скажу, и ты за 1 секунду исправишь

Там намного глубже проблема, и чтобы дойти до ее решения, нужна нормальная такая прожарка, чтобы осознать, что не так

ИИИИИ

Он сказал: пока делать этого не буду, не уверен, что проблема в этом

—-

Вы не поверите, но от меня регулярно просят совета, а потом не делают 😂

Или делают с ебанутым запозданием

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

Причем это именно с корешами

Те, кто, например, платят деньги за услугу, почему-то делают с бОльшим энтузиазмом, и у них срабатывает

В общем, бесплатные советы, как всегда, имеют наименьший КПД

Ну а вывод я лично для себя такой делаю

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

Во вторых - раз пришел за советом то делать то что говорят или не спрашивать если не готов действовать

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

Да и вообще может важен не мой совет а просто факт поддержки - так что максимальный чилл вообще
🌭34❤‍🔥5
Пообщался с рекрутером Яндекса про найм

Интересно было, куда рекрутеры тратят время при поиске кандидатов

Так вот, 80% — это HeadHunter и 20% — все остальные

При этом рекрутеры Яндекса долистывают аж до 100-й страницы, так как коллеги уже взяли других кандидатов в работу

Также есть интересный сервис: https://matchy.ru/

Как кандидат ты туда попасть не можешь, но твои резюмехи там все равно есть (LinkedIn вроде как парсят)

И вот оттуда, говорят, прям есть оч сильные ребята, кого нанимали

Также спросил про написание на email компании и т. д. — рекрутер сказал, что смотрят, но обычно вообще нерелевантное

И ПОСЛЕДНЕЕ

Оч много вакансий Яндекса закрывается по рефералкам и даже не доходит до рынка. Так что полезно заиметь своего «Яндексоида»

И бахни 🌭, если интересно про найм — много с кем поговорил и с кайфом напишу, если будет интерес
🌭115🍓3
Как не отупеть с AI?

Мое главное правило: я не отдаю ему принятие решений — только исполнение

Например, мне нужно написать новый сервис

1. OpenAPI + схему БД + схему проекта продумываю сам (могу AI что-то просить, но жестко ревьюю)

2. фиксирую все в файлах (OpenAPI, миграции, AGENTS.md)

3. генерирую подкапотную логику через AI

P.S. В новом сервисе inbox и outbox иногда AI странно пишет, но вроде удалось его обучить через более строгие инструкции в AGENTS.md

——

В общем, в написании сервисов AI мне оч помогает, так как я понимаю, что должно быть

НО!

Если задача, например, на поиск бага, то тут уже совсем другая история…

Обязательно посвящу этому пост, но только если бахнешь 🌭
🌭101
Моя следующая цель в IT

- приход AI
- сокращение бюджетов компаниями на найм
- и в целом стрессовый фон

Это все продолжается не первый год и уже несколько раз ловил себя на мысли "а туда ли я иду?" "а точно ли оставаться в IT?"

И тут я понял, что все из-за отсутствия глобальной цели

Раньше я прыгал по грейдам как в дудл джамп: 1 год +1 грейд

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

В общем, накопилась усталость

Поэтому я решил поставить перед собой более стратигическую цель: хочу научится приносить как можно больше денег компании в которой я работаю

Казалось бы - есть 2 работы, валютные удаленки и т д...

Но это не совсем то куда мне хочется прийти через 10 лет, я хочу больше соприкасаться с бизнесом и влиять на cash flow компании

Потому что тот кто приносит много денег никогда не будет уволен

И я реально хочу делится своими наработками в этой теме

aka рубрика АНТИКРИЗИС В IT, чтобы ты мог рости в деньгах даже когда всех сокращают

РАСТИ НЕ ЧЕРЕЗ 2 РАБОТЫ, а через бОльшую пользу для компании

И в большей степени это про коммуникацию, да, да те самые soft skills - термин ставший жертвой популяризации

Бахни 🌭 если интересно было бы смотреть такой контент и параллельно внедрять его в свою работу

P.S. чем больше хот-догов тем больший приоритет отдаю теме (в конце неделе смотрю все посты и продолжаю писать про самое нужное)
🌭164🤣1
Вчера была заруба в комментах Ютуба

Обсуждали Big O

Я: в ролике оцениваю всегда память, учитывая результирующий массив

Оппонент: говорит, что оценивать результат в Big O не стоит


FIGHT!

Моя позиция такая: смысл Big O оценки — понять объем затрачиваемых ресурсов на исполнение какого-то куска кода

Простой пример

Вот 2 идентичные функции, но! Одна возвращает результирующий массив, а вторая просто печатает...

Если не оценивать результат, то память везде будет O(1), и различить такие функции нельзя — нужно лезть внутрь и разбираться

А если оценка роста памяти не линейная, а какая-нибудь O(k*log(n)+m)...

Это ж свихнуться можно будет, прежде чем поймешь, сколько реально занимает памяти результат

В общем!

Я считаю, что оценивать Big O нужно всегда, учитывая все накладные ресурсы, чтобы не лазить в функцию каждый раз и понимать скорость роста времени и памяти

Обсуждение я не нашел - видимо оппонент удалил сообщение, так что его позицию сказать не могу, но я готов продолжить в комментах под постом 😏

---

P.S. да, я знаю, что память бывает разная: stack, heap... И Big O оценивает все это в совокупности в самом простом случае (хотя лично я люблю разделять)

P.P.S. да, я знаю, что интервьюеры иногда просят оценить память без ответа — просто смотрят, не зазубрил ли ты ответ

Уверен, ты и сам знаешь что нужно делать с 🌭

Как то двусмысленно получилось, но так и задумывал. Везде маркетинг)
Please open Telegram to view this post
VIEW IN TELEGRAM
🌭43
Я аутстафф в Яндексе и приняли наконец в штат

НО!

Неожиданно прошел собес в Т-Банк и хочу отменить финалы…


Вот такой запросик прилетел от кореша

Фактура такая:

1. Если на середине обрывать коммуникацию, то сделают пометку
2. Менять место работы и соглашаться на Т-Банк после того, как уже подписал переход на full time в Яндекс, 100% будет вызывать вопросы в будущем

В общем, на мой взгляд, самое безопасное решение такое

ДОПРОЙТИ ВСЕ ФИНАЛЫ В Т-БАНКЕ (как минимум для тренировки) И ПОЙТИ В ЯНДЕКС, так как уже подписался на full time

2-3 года назад я бы пушил в то, чтобы не ссал и шел в Т, если там лучше

НО!

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

——

ЧТО БЫЛО НЕ ТАК (на мой взгляд)

Любое повышение/перевод в отдел/смена стека и т. д. я бы рассматривал как полноценную смену работы

Меняются обязанности, а значит, это = новая работа

В идеале нужно было делать так:

1. заранее проходить собесы в компании и выбирать не из одной, а из нескольких
2. идти туда, где наиболее перспективно и потенциально более комфортно будет расти

——

ПРОСТОЙ ПРИМЕР КАК ЭТО РАБОТАЕТ

Когда я работал в Huawei — я думал, лучше быть не может

Когда работал в Яндекс — думал, ну никто не переплюнет

Когда в Т-Банке — думал: “просто рай на земле”

Но если спросить меня сейчас куда бы я пошел работать, то скажу, что вернулся бы только в Т-Банк


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

В общем, идею ты понял... (надеюсь, она тебя взбодрила)

А где можно готовиться к собесам, ты и сами знаешь: algocode.io

Ну и 🌭 бахнуть не забывай, если было полезно
🌭65
This media is not supported in your browser
VIEW IN TELEGRAM
❤‍🔥46🌭9🍓7