Моя роль в Squads - Fullstack Product Engineer. Я отвечаю за фичи, над которыми работаю, end-to-end: начиная с первой строчки продуктовых требований и заканчивая последней строчкой кода багофиксов после релиза. У такого подхода есть самые разные плюсы и минусы, но чем мне сразу концептуально понравилось предложение так работать, так это возможностью самому решать в зависимости от стадии проработки продукта, где срезать углы, а где упарываться в грамотные технические решения.
Например, понятно, что схему данных нужно проработать настолько хорошо, насколько это возможно сразу. У неё всегда самый длинный хвост проблем (если, конечно, мы не говорим о встраиваемых куда-то библиотеках, привет, коллеги из АппМетрики) и лишних миграций данных хочется избежать. А вот на разные грязные хаки в том, кто тригерит обновления и в каких ситуациях, я готов с радостью пойти, зафиксировав переход на нормальную фоновую синхронизацию, как техдолг. Это же Proof of Concept. Мы пока не знаем, что именно изменится после первых тестов, а значит смысла делать сразу всё идеально не очень много.
Так я думал, пока не настало первое код-ревью, на котором мне прилетела куча комментов, что мы так не делаем, так у нас не принято, а вот это мы договорились всегда делать по-другому. Во мне долго горело желание отстаивать свои хаки, но я пошёл исправлять код согласно замечаниям, решив, что первый раз сделаю как принято, а все свои идеи по социально-одобряемому говнокодингу оставлю при себе до ретро.
А потом я заметил, как AI радостно ссылается на кусок кода из моей экспериментальной ветки и говорит мне, что нашёл подходящий паттерн в репозитории, поэтому будет делать по образу и подобию. И тут мне стало ясно, что любой сделанный на скорую руку хак с точки зрения AI моментально превращается в паттерн, который можно повторять. И вся моя концепция про то, что с AI-driven разработкой можно сначала быстро наговнокодить, а потом рефакторить фичи, когда накопаем реальных данных о продукте, упёрлась в реальность.
И теперь у меня вопрос - может кто-то уже научился доступно объяснять агентам, что вот этот код фу-фу-фу и по его образу строить ничего не надо, а вот этот смело бери как пример и делай по аналогии.
Например, понятно, что схему данных нужно проработать настолько хорошо, насколько это возможно сразу. У неё всегда самый длинный хвост проблем (если, конечно, мы не говорим о встраиваемых куда-то библиотеках, привет, коллеги из АппМетрики) и лишних миграций данных хочется избежать. А вот на разные грязные хаки в том, кто тригерит обновления и в каких ситуациях, я готов с радостью пойти, зафиксировав переход на нормальную фоновую синхронизацию, как техдолг. Это же Proof of Concept. Мы пока не знаем, что именно изменится после первых тестов, а значит смысла делать сразу всё идеально не очень много.
Так я думал, пока не настало первое код-ревью, на котором мне прилетела куча комментов, что мы так не делаем, так у нас не принято, а вот это мы договорились всегда делать по-другому. Во мне долго горело желание отстаивать свои хаки, но я пошёл исправлять код согласно замечаниям, решив, что первый раз сделаю как принято, а все свои идеи по социально-одобряемому говнокодингу оставлю при себе до ретро.
А потом я заметил, как AI радостно ссылается на кусок кода из моей экспериментальной ветки и говорит мне, что нашёл подходящий паттерн в репозитории, поэтому будет делать по образу и подобию. И тут мне стало ясно, что любой сделанный на скорую руку хак с точки зрения AI моментально превращается в паттерн, который можно повторять. И вся моя концепция про то, что с AI-driven разработкой можно сначала быстро наговнокодить, а потом рефакторить фичи, когда накопаем реальных данных о продукте, упёрлась в реальность.
И теперь у меня вопрос - может кто-то уже научился доступно объяснять агентам, что вот этот код фу-фу-фу и по его образу строить ничего не надо, а вот этот смело бери как пример и делай по аналогии.
1❤8👾4👨💻3
Решил заранее готовиться к переезду и начал учить испанский. Подумываю переименовать канал в Сеньор 🍅 Програмадор
😁9❤4🤓4🎃4🔥3
А вот и пост, на котором во вторник сломался Claude Code и сломал мне план публикаций 😅
Иногда Claude Code, когда делает что-то под ключ, приносит очень прикольные сервисы, о которых я раньше не слышал. Например, в одном микро-проекте, который я его попросил реализовать в выходные, ему нужно было навставлять кучу картинок для примеров. Так я узнал про picsum.
Сначала я не понял, что это за фотобанк такой и почему по всем адресам, которые вполне соответствуют будущему контенту, уже есть картинки, причем они разные. Ну, вот, сами посмотрите
https://picsum.photos/seed/tsiakkas/640/440
https://picsum.photos/seed/vasilikon/640/440
https://picsum.photos/seed/zambartas/640/440
https://picsum.photos/seed/vouni/640/440
( Да-да, жители Кипра наверняка узнали в url'ах названия местных виноделен 🍷)
Но стоило зайти на главную сервиса и увидеть "Lorem Ipsum for photos" и всё стало на свои места. И нейминг, и идея сервиса сразу стали очевидны. Причём забавно, что как раз для текстов, к которым идёт отсылка в названии, невозможно придумать настолько же простой и лаконичный в использовании аналог. А этот сервис по сути не требует документации — просто берёшь и пользуешься. Мастхев для прототипирования без регистрации, СМС и рекламы. Интересно, если сервис популярный, то сколько они тратят на CDN? 🤔
А вам агенты что-нибудь полезного приносили, чем вы потом начинали постоянно пользоваться?
Иногда Claude Code, когда делает что-то под ключ, приносит очень прикольные сервисы, о которых я раньше не слышал. Например, в одном микро-проекте, который я его попросил реализовать в выходные, ему нужно было навставлять кучу картинок для примеров. Так я узнал про picsum.
Сначала я не понял, что это за фотобанк такой и почему по всем адресам, которые вполне соответствуют будущему контенту, уже есть картинки, причем они разные. Ну, вот, сами посмотрите
https://picsum.photos/seed/tsiakkas/640/440
https://picsum.photos/seed/vasilikon/640/440
https://picsum.photos/seed/zambartas/640/440
https://picsum.photos/seed/vouni/640/440
( Да-да, жители Кипра наверняка узнали в url'ах названия местных виноделен 🍷)
Но стоило зайти на главную сервиса и увидеть "Lorem Ipsum for photos" и всё стало на свои места. И нейминг, и идея сервиса сразу стали очевидны. Причём забавно, что как раз для текстов, к которым идёт отсылка в названии, невозможно придумать настолько же простой и лаконичный в использовании аналог. А этот сервис по сути не требует документации — просто берёшь и пользуешься. Мастхев для прототипирования без регистрации, СМС и рекламы. Интересно, если сервис популярный, то сколько они тратят на CDN? 🤔
А вам агенты что-нибудь полезного приносили, чем вы потом начинали постоянно пользоваться?
👨💻2❤1👀1👾1
Вот вам ещё одно открытие из уроков испанского. На самом деле соевые либералы — это никакое не пренебрежение, а каламбур про либералов переехавших в Испанию. Ведь soy liberal это буквальный перевод фразы я либерал.
😁7❤1🔥1🤡1🤓1
А с вами снова пятничные откровения об испанском языке!
То, насколько сильно испанцы не любят работать, можно понять по тому, что слово «переживание» по-испански — preocupación.
То есть буквально — предзанятость.
Ещё работать не начали, а уже переживают об этом.
То, насколько сильно испанцы не любят работать, можно понять по тому, что слово «переживание» по-испански — preocupación.
То есть буквально — предзанятость.
Ещё работать не начали, а уже переживают об этом.
😁9🤔1🤡1
Всем привет, я Дима, и я ИИголик. Это осознание пришло ко мне сегодня в районе 4 утра. Да, я знал, что испанский, домашку по которому я не сделал, уже через 6 часов. А ещё, что начинается рабочая неделя, в которой должен быть важный релиз, которым я плотно занимаюсь последние недели. И есть ещё несколько давно начатых пет-проектов, которые я никак не доведу до ума. Но ничто из этого не могло в последние несколько часов вытащить меня из дофаминовой ловушки, в которую меня затащил новый проект, который я делаю силами LLM'ок вот уже третий (или уже четвёртый?..) день.
Ну, подумайте сами, я нашёл проект, где моя «насмотренность» — важнейшая составляющая, всё, что в нём нужно разрабатывать, получилось быстро и достаточно понятно декомпозировать, а к тому же всё это покрывается красивой объектной моделью. А ещё в диалоге с Fable родился классный нейминг, который сразу превратился ещё и в офигенный фирменный стиль с пасхалками.
Плюс, когда я первый раз показал наши с Кодексом наработки Клод Коду, он сказал, что «Инженерная культура репозитория заметно выше среднего». И это очень мне польстило. Потом, правда, я перечитал фразу целиком и после похвалы там стояло «для проекта трёхдневного возраста» — и это превратилось во что-то в духе «ты неплохо пишешь код для гуманитария».
Представьте себе, даже купленный Heroes Olden Era, запущенный в триалке Crossover, часики у которой беспощадно тикают, не смог меня заставить отвлечься от разработки тулы для тестирования платёжных сценариев. И это при том, что на моей day-job я сейчас решаю очень похожую задачу. Но так как там надо её решить сразу для многих провайдеров и с кучей сценариев, это давит. А тут я для себя нашёл своеобразный safe-space для тестирования подхода, который мне кажется перспективным.
В общем, надеюсь, что на этой неделе отправлю первую версию тулы в Chrome Web Store.
А пока для вас небольшая картинка-тизер. И, конечно, вопрос — с какими самыми неудобными сценариями при тестировании интеграций PSPшек (платёжных провайдеров, не путать с PlayStation Portable) вам приходилось сталкиваться?
Ну, подумайте сами, я нашёл проект, где моя «насмотренность» — важнейшая составляющая, всё, что в нём нужно разрабатывать, получилось быстро и достаточно понятно декомпозировать, а к тому же всё это покрывается красивой объектной моделью. А ещё в диалоге с Fable родился классный нейминг, который сразу превратился ещё и в офигенный фирменный стиль с пасхалками.
Плюс, когда я первый раз показал наши с Кодексом наработки Клод Коду, он сказал, что «Инженерная культура репозитория заметно выше среднего». И это очень мне польстило. Потом, правда, я перечитал фразу целиком и после похвалы там стояло «для проекта трёхдневного возраста» — и это превратилось во что-то в духе «ты неплохо пишешь код для гуманитария».
Представьте себе, даже купленный Heroes Olden Era, запущенный в триалке Crossover, часики у которой беспощадно тикают, не смог меня заставить отвлечься от разработки тулы для тестирования платёжных сценариев. И это при том, что на моей day-job я сейчас решаю очень похожую задачу. Но так как там надо её решить сразу для многих провайдеров и с кучей сценариев, это давит. А тут я для себя нашёл своеобразный safe-space для тестирования подхода, который мне кажется перспективным.
В общем, надеюсь, что на этой неделе отправлю первую версию тулы в Chrome Web Store.
А пока для вас небольшая картинка-тизер. И, конечно, вопрос — с какими самыми неудобными сценариями при тестировании интеграций PSPшек (платёжных провайдеров, не путать с PlayStation Portable) вам приходилось сталкиваться?
❤6😁4👨💻2😎2👾2⚡1👍1
Довольно продолжительное время, лет 6–7, я всё делал на AWS. Там есть сервисы на все случаи жизни. Они не всегда самые удобные (никогда, если честно), но когда ты уже понял логику того, как оно в этом облаке устроено, переключаться на что-то альтернативное не хочется. А на самом деле даже не не хочется, а кажется ненужной тратой времени. Ну, вы знаете, когда микроскоп уже есть и ты знаешь, за какую часть его поднимать, проще забивать гвозди им, чем бегать в поисках действительно удобного молотка.
Но когда пришли сначала просто чаты с LLM'ками, а потом и агенты, это очень сильно поменяло как раз вот это ощущение огромного налога на поиск и погружение. Теперь можно не самому искать инструмент, а попросить агента найти подходящий под конкретную задачу. Не самому искать инструкцию, а поручить агенту найти именно для твоего случая. А иногда можно просто пустить его в браузер и попросить сделать что-то за тебя. Ну, это если сервис ещё не настолько современный, чтобы предоставить ему MCP.
Я постоянно всем говорю про Linear, но мне хочется повторяться, потому что это лучший пример того, как новый инструмент стремительно влетает в мою жизнь благодаря LLM'кам. Но не единственный. За последнее время благодаря агентам в мою жизнь вошли Supabase, Vercel, а совсем недавно ещё и Cloudflare. Причём последний — совершенно случайно. Я спросил — где мне лучше купить домен: на GoDaddy или в AWS Route 53, — а агент предложил Cloudflare Registrar, потому что там дешевле (на горизонте 2–3 лет), да ещё и много чего можно сделать буквально в пару кликов. И оказалось, что зарегать домен, положить туда небольшой лендинг, настроить редиректы, поставить форвардинг почты с нового домена — занимает там в разы меньше времени и усилий, чем если бы я это делал в знакомых местах.
В общем, спасибо агентам — благодаря им я ощущаю себя более открытым ко всему новому. И вместо старпёрского «вот поиграетесь, а потом всё равно на AWS переедете» стал сам постоянно внедрять новые сервисы там, где это уместно. А кто поможет понять, где именно это уместно? Да-да, тоже агенты.
Но когда пришли сначала просто чаты с LLM'ками, а потом и агенты, это очень сильно поменяло как раз вот это ощущение огромного налога на поиск и погружение. Теперь можно не самому искать инструмент, а попросить агента найти подходящий под конкретную задачу. Не самому искать инструкцию, а поручить агенту найти именно для твоего случая. А иногда можно просто пустить его в браузер и попросить сделать что-то за тебя. Ну, это если сервис ещё не настолько современный, чтобы предоставить ему MCP.
Я постоянно всем говорю про Linear, но мне хочется повторяться, потому что это лучший пример того, как новый инструмент стремительно влетает в мою жизнь благодаря LLM'кам. Но не единственный. За последнее время благодаря агентам в мою жизнь вошли Supabase, Vercel, а совсем недавно ещё и Cloudflare. Причём последний — совершенно случайно. Я спросил — где мне лучше купить домен: на GoDaddy или в AWS Route 53, — а агент предложил Cloudflare Registrar, потому что там дешевле (на горизонте 2–3 лет), да ещё и много чего можно сделать буквально в пару кликов. И оказалось, что зарегать домен, положить туда небольшой лендинг, настроить редиректы, поставить форвардинг почты с нового домена — занимает там в разы меньше времени и усилий, чем если бы я это делал в знакомых местах.
В общем, спасибо агентам — благодаря им я ощущаю себя более открытым ко всему новому. И вместо старпёрского «вот поиграетесь, а потом всё равно на AWS переедете» стал сам постоянно внедрять новые сервисы там, где это уместно. А кто поможет понять, где именно это уместно? Да-да, тоже агенты.
❤7👨💻5👾2👍1🍾1
Ловите немного пятничной мудрости.
Хотите побыть в моменте — начните изучать новый язык. И гарантирую, несколько месяцев вы по крайней мере пару часов в неделю будете находиться исключительно в настоящем. От прошлого и будущего вас будет отделять несколько глав учебника.
Хотите побыть в моменте — начните изучать новый язык. И гарантирую, несколько месяцев вы по крайней мере пару часов в неделю будете находиться исключительно в настоящем. От прошлого и будущего вас будет отделять несколько глав учебника.
❤5😁5🤓3🤡1