Dev Easy Notes – Telegram
Dev Easy Notes
3.07K subscribers
130 photos
5 videos
155 links
Работаю в IT уже 8 лет. Рассказываю про разработку простым языком. Полезность скрыта под тупыми шутками и слоем мата. Лучший underground канал про разработку, который вы сможете найти.

По сотрудничеству писать @haroncode
Download Telegram
Гребаный Python, я вам сейчас опишу ощущение от языка одним предложением.

Это чувство когда ты уже 8 лет работаешь в IT, но уже два часа не можешь расставить кавычки в строке как нужно, чтобы сформировался корректный json.
9😁39
Знатно я выпадаю, в этом году мои проёбы меня, конечно, подкосили.

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

Итак, две ветки: тимлиды и техлиды. Наверное, сделаю два отдельных поста про каждого, и начнём с первых.

В чём плюсы тимлида:

👉 Самое основное – это то, что у тебя появляется чёткий и проторённый путь, куда идти дальше. После ты становишься каким-нибудь лидом лидов и дальше по иерархии – до CTO. Уровень иерархии зависит от размера компании, а также нужно понимать, что придется прям пиздец как попотеть, чтобы залезть на этот уровень.
👉 Зависит от компании, но в среднем, если судить по медианным зарплатам, позиция лида чуть выгоднее, чем позиция обычного сеньора. Это в целом можно увидеть и по вакансиям: у лидов довольно часто вилки выше. Правда, это отличие не в разы, а в некоторых компаниях и вовсе нет разницы.
👉 Качаются коммуникативные скиллы. Это возможно мое наивное представление, но как мне кажется прям тяжело быть закрытым интровертом, когда работа требует от тебя постоянного общения с людьми. Следовательно больше общения -> больше связей -> больше возможностей в дальнейшем.

Теперь минусы тимлида:

👉 Твоё время больше тебе не принадлежит – оно теперь командное. Появляется куча встреч; почти у всех знакомых лидов весь день по сути состоит из каких-то созвонов.
👉 Все успехи – командные, а проёбы – твои. Наслаждайся)
👉 Результаты твоей работы – пиздец какие отложенные. Когда ты разраб, ты можешь быстро раскатать фичу и сразу увидеть результаты по метрикам, отзывам и т.д. Но когда ты лид, то придётся прям подождать, и вероятнее всего – долго...
👉 Ты начинаешь терять в скиллах. Это индивидуально: есть много лидов, которые продолжают писать код. Но в среднем по больнице у тебя, вероятнее всего, не будет хватать на это времени, и с этим придётся смириться.
15🔥3397
Что там с техлидами, aka staff, aka архитектор?

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

Однако же с техлидом требования выглядят примерно так (по крайней мере в нашей компании): «Ну, сделай то, не знаю что, что-то прямо очень необычное и большое, вооот... И еще тебе это нужно самому придумать и обосновать». Потом те ребята, которым посчастливилось стать техлидами до тебя, будут оценивать, насколько твое творение совпадает с их пониманием, кто такой техлид.

Теперь про плюсы/минусы:

Плюсы:
👉 Ровно как и у тимлида, у тебя выше вилка по ЗП, а также выше коэффициент премии.
👉 У тебя есть возможность расти дальше, но опять-таки на позицию CTO будут претендовать и тимлиды, которые, вероятнее всего, тебя уделают, так как больше парятся про бизнес.
👉 Ты не теряешь в скиллах, скорее даже наоборот – позиция требует, чтобы ты их прокачивал глубже.
👉 Есть рычаги давления на проект как у тимлида, но при этом от тебя не требуется проводить 1-to-1 и вообще заниматься персоналом.

Минусы:
👉 Позиция есть не во всех компаниях, обычно только в биг-техах.
👉 Даже если ты очень крутой спец, который умеет делать уникальные решения, тебя могут не сделать техлидом, если у вашей команды нет на это бюджета.
👉 Порой очень смутные требования для того, чтобы стать техлидом.
👉 Количество усилий, которые нужно приложить, чтобы им стать, не факт, что окупится ростом ЗП.
12105🔥2
Я ему сейчас вьебу, честное слово...
445😁273
Справедливости ради Claude Code прям хорош. Пожалуй один из лучших агентов, которыми я пользовался. Мне кажется он работает на уровне Junior+ или Middle–. Правда такой Middle который переодически в запой уходит и ему становится вообще похеру на твои замечания. Прям как с реальным разрабом получается
5😁517
Как я так и не получил стаффа в этом году

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

👉 Развернул n8n на всю компанию. Я взял уже готовое решение, развернул его на нашей инфре и сделал мелкие доработки, чтобы оно вообще завелось у нас. Далее договорился с безами, чтобы все могли этим пользоваться.
👉 Импакт-анализ. Кому интересно – подробнее есть статья, кому не интересно – штука, которая запускает только нужные тесты в MR-ах, а не все. И нет, это не как у Авито, у них гораздо примитивнее всё.
👉 Сервис для мобильных релизов. Сервис – это веб-приложение на Next.js, которое позволяет создавать релизы и интегрировано с n8n, чтобы запускать релизные процессы.

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

Основная критика строилась вокруг двух вещей:

👉 Нехватка technical complexity
👉 Нет законченности задач

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

Второе это "нет законченности задач". Вот это вообще странная вещь, потому как мы говорим про IT решения. В какой блять момент можно сказать что она закочена? У каждой из этих систем есть хренова гора вещей которые можно улучшать и допиливать до бесконечности.

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

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

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

И еще гораздо выгоднее делать что-то в рамках своего стэка, так тебя будут оценивать только мобильные разрабы, и все пройдет гораздо проще.
1336249
Одна из вещей, которая мне не нравится в LLM-агентах - они не умеют лениться там, где нужно. Это, как мне кажется, главное конкурентное преимущество, из-за которого разработчиков всё ещё нельзя заменить.

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

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

Мне нравится шутка, что лучший джун - это выгоревший джун. Он, разумеется, не сделает идеально, но, по крайней мере, не наделает такого, после чего придётся самому исправлять.
616🔥85🤔2🗿1
Другими словами, на всех ресурсах посвященных поиску работы говорят: делайте сопровождающее письмо подходящее под вакансию, подсвечивайте моменты, почему вы можете быть полезным компании.

Тем временем на курсе для HRов: "если сопровождающее письмо оформлено под вакансию, то это красный флаг" 🗿🗿🗿

Вот бы HR вчитывались в опыт, а не анализировали блять стиль текста
11🤡73😁1
Как понять, что не ошибся со станцией, когда едешь на мероприятие по мобильной разработке
11😁55🤡64
В Advent of Code в этом году стало в два раза меньше задач. Сука, даже здесь сокращения...
26😁12
Есть три основных способа решать задачи в CI/CD:

👉 Script
👉 CLI
👉 Плагин для билд-системы

Если промахнуться с выбором, это может аукнуться либо БДСМ в поддержке, либо скорость работы решения будет конкурировать с парализованной бабкой. Поэтому давай-те быстро раскидаем, что когда использовать.
10
Скрипты – самый простой и частый вариант. Обычно крутятся на CI или используются для настройки проекта, git-хуков и т.д. Всё, что связано с отправкой артефактов, уведомлений или обновлением внешних систем, отлично ложится на скрипты. Примеры:

👉 отправить сборку QA;
👉 создать отчёт после тестов и отправить в чат;
👉 подвинуть задачи в Jira после merge.

Python – тут разумеется король: простой синтаксис, лёгкий дебаг, небольшой Docker-образ. Иногда используют Ruby, JS или (не дай бог) Bash. Скрипты хранятся рядом с кодом и легко мгновенно – огромный плюс.

Минус – нужен дополнительный runtime в базовом образе. Главная ошибка тут, это когда скрипт разрастается и не выносится в отдельный CLI когда уже нужно. В этом случае даже нейронка запутается с тем, нафига он вообще создавался.
🔥11
CLI – следующий уровень. Это уже не просто один скрипт, а маленькая утилита или набор инструментов. Четкой границы когда нужно делать CLI, а не скрипт я вам не дам, но есть пара признаков:

👉 запускается и на CI, и у разработчиков;
👉 переиспользуется в разных проектах;
👉 не зависит от структуры конкретного проекта.

Пример: линтеры вроде detekt (его можно запускать как CLI). У нас на проекте есть CLI для запуска тестов с разными параметрами, работает куда предсказуемее обычного запуска через студию.

Лучший язык тут – Go: один бинарь, никаких runtime. Java/C# тоже можно, но придётся тащить runtime. Python также можно упаковать в бинарь, но это прям геморно. Rust – если прям нужен низкий уровень, но я бы не стал.

Минус – правки уже не такие быстрые, чаще всего CLI живёт в отдельной репе. Плюс – если берем Gо, то ничего лишнего в базовом образе.
9🥰10
Плагин – я выделил эту сущность отдельно, потому как по сути это что-то среднее между CLI и скриптами. Тут автоматизация уже работает в рамках конкретной билд системы. Этот подход стоит применять только в том случае, если задача сильно привязана к коду или структуре проекта:

👉 генерация кода
👉 обход графа зависимостей
👉 кастомные трансформации при компиляции

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

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

Язык тут уже вы не выбираете, вам его диктует билд система. Из плюсов – гибкость, вы можете все держать в одном репозитории, а можете вынести плагин отдельно. Еще из плюсов, что за вас делается много работы, вроде кеширования, создание графов, поиск нужных файлов и т.д
🔥84
Рекомендации YouTube сейчас – это что-то невероятное: "Абсолютная база работы с LLM за час", "Не вздумайте писать промпт, пока не посмотрите это видео", "Единственно верный способ работы с LLM"...

Короче, я вам сейчас сэкономлю часы просмотра этих нелепых видосов. Вот база в виде 5-минутного поста:

👉 Бесплатные версии нейронок – говно, берите подписку (желательно, чтобы оплатил работодатель)
👉 Используйте агентский режим. Если вы всё ещё ходите в ChatGPT и копируете оттуда код, то вы прям отстаете. Работа через агентов значительно отличается от простого чата
👉 Все эти "тонкие правила" для промптов по большей части – херня полная. Агенты стараются писать код ровно так, как у вас принято в проекте. Если в кодовой базе говнокод – они будут делать говнокод. Если же с кодовой базой всё в порядке, то и код будет довольно неплохой. Нейронки все равно перепишут ваш промпт
👉 Очень желательно создать доку специально для агента . Так модель быстрее и точнее будет делать сразу то, что нужно
👉 Не доверяйте моделям! Многие разрабы сейчас слишком сильно воодушевлены моделями. Настолько, что перестают смотреть в код. Это большая ошибка: модели всё ещё часто пиздят, спотыкаются о собственный код и принимают настолько БДСМ-ые решения, будто обучены на воспоминаниях Билли Херрингтона
👉 Локальные модели не годятся даже для автодополнения
👉 Claude всё ещё лучшая модель для работы с кодом. У всех тут разное мнение, но по моему опыту даже в рамках Cursor другие модели работают заметно хуже
1123🤡9🤔74🔥32
Под конец года я, как и многие, выгораю в угли. Не только из-за работы – в целом за год обычно накапливается куча событий и стресса, после которых ты отходишь в течение новогодних «каникул». И каждый раз ты обычно думаешь: "прошлый год был говном, но вот следующий год точно будет моим". Однако сейчас есть стойкое ощущение, что не в этот раз…

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

Отчётливо чувствуется вот этот вайб: будто 2026 год – это буран из Frostpunk, который нужно будет пережить. Ключевая ставка по-прежнему довольно высокая, налогов прибавилось поэтому компании будут оптимизировать штат. Это означает, что работу быстро не сменишь, зарплаты не будут расти теми же темпами, что раньше, и есть риски волны сокращений.

Для себя я выделил пару советов – банальных, но сделаю вид, что вы не в курсе:

👉 Сейчас буквально самое плохое время, чтобы уходить в "никуда, отдохнуть и найти себя". Не получится вернуться в любой момент
👉 Если у вас есть премия, я бы отложил существенную часть в финансовую подушку
👉 Лучше избегать очень дорогих и импульсивных покупок
👉 Стоит попробовать поработать с LLM-агентами, если вы еще не пробовали. Модели, разумеется на сделают за вас работу (оно и хорошо), но вас могут обойти те, кто обвязался ими по полной
👉 Также я бы обновил загран паспорт, ну так, на всякий...

Мне кажется, на 2026 год такая стратегия более выигрышная. Если все эти прогнозы не сбудутся – ну, от того, что вы не уволились в никуда и не потратились на дорогие игрушки, ваша жизнь хуже не станет. Если же сбудутся – вы хотя бы были к этому готовы.
851
Касательно LLM-агентов в последнее время меня бесят две крайние позиции.

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

Практически всегда это позиция какого-нибудь HR или маркетолога, которые за жизнь ни строчки кода не написали. У них эта идея идёт из того, что у них через ChatGPT получилось запустить локально мелкого Telegram-бота и вот уже программисты им не нужны.

Недавно я такое услышал в программистском подкасте от нормального разраба, и я чуть в голос не орнул: "Да что ты, блять, такое несёшь? Ты-то куда?"

Вторая позиция наоборот, те, кто вообще отрицает их полезность. Современные луддиты, от которых можно услышать тезисы: "Раньше было лучше", "AI всё только хуже сделал". Почти всегда это те, кто даже не пробовал агента запустить. Или же пробовал, но одного из вот этих корпоративных (бесплатных) агентов на базе какого-нибудь Qwen или LLaMA, которые, ну, откровенно сосут по сравнению с Claude или Codex. Их ещё почему-то в ярость приводит мысль о покупке лицензии и проверке на собственном опыте.

Несмотря на то что обе эти позиции меня бесят, мне бы хотелось, чтобы больше людей их придерживалось. Ведь после того как первые навайбкодят дерьма, которое у них перестанет работать, будут готовы платить тебе любые деньги, лишь бы ты это починил. Вторых же можно легко обойти, не напрягаясь, просто делая в три раза больше при помощи одного только клод кода.
1035🤡9😁65🤔2
Вместо итогов года давайте лучше дружно похихикаем над Яндексом. У меня целых две уморительные истории, и обе связаны с работой оплаты.

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

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

Это уже даже не смешно, это просто позорище. Ладно, вы баннер с рекламой делаете на полэкрана, ладно вы не можете с нагрузкой справится, но профакапиться с системой оплаты, да еще и вашей же картой, это уже прям мощно.
7😁615
Ну короче, чтобы сильно не разглагольствовать. Всех с наступающим, заебали 🎄
349😁176🤡1