Urus
907 subscribers
5 photos
3 files
3 links
Связь - @urussdev
Download Telegram
Сегодня глобально прилёг Teams.

Не смог нормально подключиться ни на дейлик, ни на демо 🥴

Забавно, что примерно такие ситуации потом любят давать на system design собесах:

«Представим, что вашим сервисом пользуются миллионы людей. Что вы будете делать, чтобы один сбой не положил всё сразу?»

А потом буквально в тот же день падает продукт одной из крупнейших компаний мира.

Хорошее напоминание, что distributed systems это не абстрактные квадратики на доске
С нами едет MC Melon😎
Claude_Code.pdf
956.2 KB
🤖 #ИИбезхайпа
Всем доброго воскресного вечера 🌙
Сегодня подготовил для вас презентацию с инсайтами о Клоде, собранную из реальной проектной документации, а также из знаний которые я получил за почти год активного использования ИИ в работе.
Это конечно далеко не всё, скажем так, первая часть 😈
Хочу поделиться историей, которая когда-то научила меня разделять личное и рабочее.

В 2023 году я жил в Тбилиси и работал в одной компании. Зарплата была $2 000.

В целом — нормально.

Но из-за постоянного «у нас сейчас не очень с деньгами» от менеджеров и по своей наивности я был уверен, что компания зарабатывает на мне не так уж много. Ну, условно, $3–4 тысячи сверху. Вполне справедливо: они же нашли проект, ведут клиента, несут свои риски.

А потом случайно выяснилось, что с проекта компания получала около $12 000.

А мне из этих денег перепадало $2 000.

Первая реакция — охуеть.

Вторая — тоже охуеть.

Но потом я подумал: а чему вообще должна учить эта история?

Тому, что компания плохая, а мы, работяги, страдаем?

Нет.

Для меня это просто правила игры.

Компания хочет заработать.
Менеджер хочет заработать.
Владелец хочет заработать.
Заказчик хочет получить максимум за свои деньги.
И ты тоже хочешь заработать.

Это бизнес.

Поэтому я больше не очень верю в историю про «мы же семья» и «давай войдём в положение компании».

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

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

Но просто захотеть больше денег недостаточно.

Нужно понимать, сколько ты реально стоишь на рынке.
Уметь себя продавать.
Уметь находить проекты.
Уметь вести переговоры.
И понимать, где вообще лежат эти деньги.

Именно этим я и буду делиться здесь дальше.

Просто навыки, которые помогают забирать своё.
1
Ну что, батя в здании 😎
А также тихая, но важная деталь на фоне всех новостей: Anthropic начал спрашивать паспорт.
Не у всех и не всегда, а точечно, для доступа к части возможностей. Могут попросить гос. удостоверение с фото и даже живое селфи через камеру. Их логика: «ответственное обращение с мощной технологией начинается с понимания, кто ей пользуется».
К чему это. Доступ к топовым моделям потихоньку смещается от «просто зайди и пользуйся» к «подтверди, кто ты». В целом ожидаемо, в любом случае доступ будут ограничивать рано или поздно, поэтому важно пользоваться этим сейчас, когда это очень просто
Ну что, заряжаемся на успех 😉
🎯 Апдейт по первой неделе выхода на рынок

За неделю получил два предложения примерно на $10k и один отказ.

Точнее, отказал я.

Несмотря на летний сезон, интересные предложения есть. Неинтересные, впрочем, тоже.

Первый скрининг был как раз из второй категории.

СНГ-аутсорс, полчаса шаблонных вопросов в духе:

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

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

При этом сам проект уже месяц нормально не может стартовать.

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

На этом решил дальше не продолжать.

Второй вариант уже заметно интереснее.

Израильская логистическая компания.

Нормальный разговор без цирка: что делал, какие задачи решал, как принимал решения.

Вилка — около $10k.

Следующий этап — live coding.

На него в любом случае иду.

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

Ну и третий вариант — джокер.

Предложили релокацию в Абу-Даби.

Тоже около $10k.

Звучит интересно, но из Варшавы я пока никуда не собираюсь.

В целом первая неделя ещё раз напомнила мне одну вещь:

рынок лучше проверять самому, чем читать о нём в интернете.

За одну неделю можно увидеть и унылый аутсорс с трекером, и нормальный продукт, и внезапную релокацию на Ближний Восток.

Продолжаю смотреть, что прилетит дальше
Минск. Часть 1: заморозка
В 21 мне заморозили зарплату, а через месяц я уже собирал чемодан.
До этого всё шло по накатанной. За полтора года в Минске я поднялся с $400 до $1000, были планы, было ощущение, что разгоняюсь и дальше только вверх.
А потом наступил 2022, и что там было, объяснять, наверное, не надо. Зарплаты в компании заморозили.
И вот тут важный момент, который не сразу очевиден. Замороженная $1000 это не про то, что денег вдруг стало мало. Это про потолок: ты просто знаешь, что и через год будешь стоить ровно столько же. Ничего не изменится, как ни старайся. В 21 год это ощущается как приговор.
Дальше выбор за меня, по сути, сделали обстоятельства: предложили релокацию и $2000. Ровно в два раза больше замороженной тысячи. Цена вопроса тоже понятная, уехать из дома в 21, но и другая страна меня привлекала приключениями и перспективами.
Самое интересное, что сначала я вообще собрался в Узбекистан. Реально почти уехал, и в последний момент передумал, Тбилиси показался как-то ближе и адекватнее. Вот примерно так в 21 и принимаешь решения о переезде в другую страну: месяц на все сборы, а окончательный выбор на уровне «ну этот вариант вроде нормальнее».
За что Минску правда спасибо, так это за образование и за первую работу. Это база, с которой вообще всё началось.
Дальше был Тбилиси. Год, который поменял многое. Про него в следующей части
1
🤖 #ИИбезхайпа
Недавно у нас на работе был внутренний созвон по Claude Code с архитектором.
Половина разговора крутилась вокруг MCP и Skills.
Если объяснить на пальцах:
MCP даёт Claude руки.
Например доступ к:
— Jira;
— GitHub;
— базе;
— внутреннему сервису.
То есть MCP отвечает за то, с чем Claude вообще может взаимодействовать.
Skills дают Claude инструкции в голове.
Например:
— как именно у нас делать code review;
— как оформлять документ;
— по каким правилам проверять код;
— какой процесс использовать для конкретной задачи.
Получается:
MCP:
«Вот тебе доступ к GitHub».
Skill:
«А вот как именно наша команда делает review».
И вместе это уже начинает нормально работать.
Ещё одна полезная мысль с созвона:
не обязательно пихать все Skills глобально.
Если инструкция нужна только конкретному проекту — лучше держать её рядом с проектом.
Иначе со временем контекст превращается в склад инструкций на все случаи жизни.
Короче, самое простое объяснение:
MCP = чем Claude может пользоваться.
Skill = как Claude должен работать.
Мне пока лучше всего заходит именно такая модель.
This media is not supported in your browser
VIEW IN TELEGRAM
Сегодня хочу немного поделиться про сегодняшний хайп с ИИ. Меня в разговорах про AI больше всего раздражают две крайности.
Первая:
«Всё. Программисты закончились. Ещё год и нас заменят».
Вторая:
«Да бесполезная игрушка ваш AI. Нормальный разработчик сам код пишет».
По-моему, обе стороны немного занимаются самоуспокоением.
AI уже очень сильно поменял мою работу.
Я пользуюсь им практически каждый день и обратно в 2023-й возвращаться точно не хочу.
Но при этом никакого «нажал кнопку - получил готового разработчика» я тоже не вижу.
Модель всё ещё отлично умеет уверенно нести херню.
Особенно если человек с другой стороны сам не понимает задачу.
Поэтому мне намного интереснее не гадать:
заменит ли AI программистов?
А смотреть:
что конкретно он позволяет делать лучше прямо сейчас?
Пока для меня ответ простой.
Хороший разработчик с AI стал сильнее.
Плохой разработчик с AI научился быстрее производить плохой код.
А дальше посмотрим
Channel photo updated
🎮 На днях ради прикола сделал с Claude Code целую игру.
Меня зацепила песня Du Bist Gut Genug из того самого пранка в ТЦ, и я подумал:
а что если сделать под неё ритм-игру?
Типа Flappy Bird, только прыгать надо в бит.
Раньше на этом мысль, скорее всего, и закончилась бы.
Потому что дальше надо:
сделать саму игру;
разобраться с музыкой;
нарисовать визуал;
протестировать механику;
выложить;
а потом ещё придумать, где взять пользователей.
В этот раз просто открыл Claude Code.
За короткое время собрали HTML5-прототип, синхронизировали препятствия с треком, подогнали физику, сделали бота для проверки проходимости, визуал и несколько версий игры под разные форматы.
Потом уже пошли дальше продукта.
Перевели игру на английский, сделали обложку, залили на itch.io и прямо в том же диалоге начали продумывать контент:
— какие ролики снимать;
— с какого момента начинать видео;
— какой длины делать;
— что тестировать дальше.
Первый ролик набрал около 700 просмотров.
Не вирусняк.
Но мне здесь интереснее другое — стоимость эксперимента.
С AI я очень быстро получил не только работающую игру, но ещё публикацию и план, как попробовать привести туда людей.
И вот это для меня одна из самых интересных сторон AI.
Не только:
«как быстрее писать код».
А:
«сколько идей я теперь могу дешёво проверить сам?»
Игра.
Бот.
Инструмент.
Контентный проект.
Маленький SaaS.
Стоимость каждой попытки стала сильно ниже.
Значит, можно делать больше попыток и не париться, что не всё взлетит с первого раза.
А вот это уже интересная математика.
Саму игру оставлю здесь 👇
https://ilya-urus.itch.io/du-bist-gut-genug-full
1
Почему два разработчика примерно одного уровня могут получать $3k и $10k?
Очень долго в IT живёт простая логика:
джун получает мало;
мидл больше;
сеньор ещё больше.
Чем сильнее разработчик, тем выше зарплата.
Звучит логично.
На практике я много раз видел совсем другую картину.
Два человека примерно одного уровня.
Один сидит на $3k.
Второй спокойно уходит на $7–10k.
И разница между ними далеко не всегда в техническом скилле.
Часто один просто лучше понимает, как себя продавать.
Он знает:
— где вообще искать компании с нормальными бюджетами;
— как упаковать опыт в CV;
— как оформить LinkedIn;
— что говорить на скрининге;
— как проходить техническое интервью;
— как обсуждать деньги;
— когда не соглашаться на первую цифру.
А второй может быть не хуже как разработчик.
Но он три года работает в одной компании, рынок последний раз видел ещё до ковида и понятия не имеет, сколько сейчас реально может получать.
И самое частое, что я видел:
человек даже не пытается это проверить.
Потому что страшно.
Страшно обновить CV.
Страшно выйти на собеседования.
Страшно попросить условные $6k, когда сейчас получаешь $3k.
Страшно услышать «нет».
Поэтому проще решить:
«Наверное, я пока не дорос».

И пойти учить ещё один framework.
Хотя проблема вообще может быть не в framework.
А в том, что человек не знает, где себя продавать и как это делать.
Вот эту часть IT я как раз хочу здесь нормально разбирать.
Где искать.
Как понять свою цену.
Как упаковать опыт.
Как готовиться к собесам.
Как не занижать себя ещё до того, как разговор вообще начался.
Потому что иногда рост дохода начинается не с того, что ты стал лучше писать код.
А с того, что ты наконец понял, кому и за сколько его продавать.
1
Всем привет, на пару недель улетел на Тенерифе 🌴
После работы, собесов и всей этой AI-движухи самое время немного потупить у океана. А потом с новыми силами вернуться сюда, связь 🤙
Немного субботнего вайба
Сегодня на разборе CV моего знакомого разработчика. Которое не так давно было у него единственным акутальным (личные данные изменены).
На первый взгляд всё выглядит неплохо: 5+ лет опыта, Java/Spring, React, базы данных, микросервисы.
Но есть несколько критических моментов, которые нужно менять.
Первое, что бросается в глаза: дизайн.
Зелёная колонка, шкалы языков, множество отдельных блоков.
Ошибка многих – превращать CV в полноценный лендинг и наворачивать туда мега дизайн. Выглядит красиво, но реальной пользы 0 + зачастую за дизайном теряется суть.
Я бы выбрал максимально простой формат: белый фон, обычный текст и понятные заголовки.
Главная задача CV: чтобы за 20 секунд стало понятно, какой перед тобой специалист, а не насколько красивый шаблон он нашёл.
И дело не в количестве страниц. Для 5+ лет опыта одна-две страницы нормально.
Проблема в другом: опыта много, но раскрыт он очень слабо.
Дальше: Junior Java Developer.
Сейчас этот опыт описан одной строкой:
Developing REST Booking Service app with technologies and studying them…
Выглядит так, будто человек просто проходил курсы и изучал Spring.
Хотя здесь есть нормальный проект, который можно подать гораздо сильнее:
Junior Java Developer
·        разработал REST Booking Service;
·        реализовал REST API и работу с базой данных;
·        использовал Spring IoC, MVC и Security;
·        настроил persistence layer на Hibernate и MySQL;
·        документировал API через Swagger;
·        писал тесты на JUnit 5.
То есть не:
«изучал Spring»
а:
«вот что я на Spring сделал».
Восприятие кандидата сразу меняется.
С основным опытом похожая проблема.
Сейчас там написано:
Developing and maintaining Java microservices using Spring…
Developing responsive web application using React…
Code review, task evaluation, communication with Product Owner…
Но это просто перечень стандартных обязанностей.
Если ты Java Full Stack Developer, я и так предполагаю, что ты писал Java, делал code review и общался с командой.
Мне интереснее:
·        какие сервисы ты разрабатывал;
·        за какую часть системы отвечал;
·        что проектировал;
·        какие проблемы решал;
·        что оптимизировал;
·        какой получился результат.
Не просто «работал с микросервисами», а что конкретно ты с ними делал.
При этом нельзя придумывать нагрузки, проценты и красивые достижения, которых не было.
Если цифр нет, опыт всё равно можно сделать сильнее: конкретно описать задачу, свою зону ответственности и технический контекст.
Ещё одна проблема: огромная колонка со стеком.
Java, Spring, Hibernate, PostgreSQL, React, RabbitMQ, K9s, JUnit, Algorithms, Swagger, Git, Scrum…
Всё вроде правильно.
Но непонятно:
насколько хорошо человек знает эти технологии и что реально с ними делал.
Список из двадцати названий сам по себе почти ничего не продаёт.
Поэтому в новой версии я разделил стек по категориям, а основные технологии подтвердил конкретными задачами в опыте.
Я бы также убрал фразу:
Passionate Software Engineer, constantly learning new technologies.
И отдельное полотно про communicative skills.
После пяти лет коммерческой разработки участие в жизни команды, общение с заказчиком и демонстрация результатов спринта уже база, а не отдельный selling point.
Короче, главная проблема исходного CV:
человек, возможно, хороший разработчик, но из резюме это почти не видно.
Есть технологии.
Есть должность.
Есть пять лет опыта.
Но практически нет ответа на главный вопрос:
«А что конкретно этот человек умеет делать за деньги?»
Ниже приложу исходное CV и мою версию после переработки 👇
 
Всем привет! Сегодня хочу запостить небольшой топ чеклист перед каждым собесом.

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

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

Третье: вопросы, которые нужно подготовить уже вам.
Потому что интервью не только про то, что спрашивают вас, но и про то, что спрашиваете вы.
Когда в конце тебе скажут: «Есть ли вопросы?», на лету их вспоминать и придумывать уже не очень удобно. Вы только что отработали интервью, голова работает немного на другой частоте.
Поэтому вопросы лучше заранее выписать или просто держать где-то перед глазами.
Например, хороший вопрос: что для этой позиции будет считаться успешным онбордингом и хорошим стартом.
Также можно спросить, за что конкретно отвечает команда, куда вы собеседуетесь, какие технические решения она принимает, какие решения будут принимать за вас, какие сейчас есть боли, которые команда хочет исправить, как устроен процесс отбора, как распределена команда и так далее.
Четвёртое: подготовить 2-3 нормальные истории из прошлых работ.

Но про это я ещё отдельно буду писать.
Какая была сложная задача, чем вы гордитесь, какой был fuck-up, конфликт, что улучшили и так далее.
Если таких нет, можно грамотно их придумать.
Проще заранее всё это вспомнить и сформулировать, чем пытаться достать из головы прямо на звонке. Я с таким сталкивался, так себе. А особенно если эти истории полу вымыщленные.

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