Rubberducking
Среди разработчиков есть поверие, что можно решить нерешаемую задачу, поставив перед собой резиновую уточку и поговорив с ней о задаче, коде и в целом о жизни. Как это работает на практике? Когда утык...
Среди разработчиков есть поверие, что можно решить нерешаемую задачу, поставив перед собой резиновую уточку и поговорив с ней о задаче, коде и в целом о жизни. Как это работает на практике? Когда утык...
Моя тетрадка по программированию 1998 года — это антитеза вайб кодинга. Когда код писали на бумаге, потому что не всегда под рукой был комп. Я смотрю на это и понимаю, что такой подход - вполне рабочи...
Я вчера сломал прод. Чинили с 21 до 2:30 утра. Опять порадовался нашему процессу и отношениям. В этом посте расскажу про то, что произошло и как мы это фиксили (в обратном порядке.) Процесс Обнаружени...
Я слышал, что люди используют Claude Code как автономного агента. Дают ему многошаговые инструкции и отпускают вольно ковыряться в коде на полчаса. Я к этому пока не пришёл. Сложно отпустить контроль...
После небольшого перерыва продолжаю изучать Claude Code. Для удобства теперь открываю Claude Code в терминале прямо в VSCode. Экран разделен вертикально. Слева 2/3 ширины — IDE, справа 1/3 — Claude...
Я пробую вайб-кодинг в Claude Code. Заплатил $20 за первый месяц Claude Pro, чтобы получить доступ к их терминальному приложению для вайб кодинга. На этот шаг меня вдохновило две вещи: Чей-то пост (...
Моя суббота началась в 9 утра с емейла от Google Cloud, в котором говорилось, что мы достигли 100% от запланированных затрат в $50. Каково же было удивление, когда я увидел цифру расходов в $1,800 за...
Этот кейс может быть полезен как продактам, так и разработчикам. Мы попали в ситуацию, когда выкат изменений в веб приложение стоит нам реальных денег, из-за чего мы стали делать изменения реже и конс...
Optimistic UI (оптимистичный интерфейс) — это способ ускорить “отзывчивость” (responsiveness) интерфейсов. Его суть в том, что мы показываем результат действия до того, как получили ответ от сервера....
ИИ пока бесполезен в дебаге сложных систем. Сейчас очень редко приложения содержатся сами в себе. То же приложение для подкастов (наше) помимо кода на Flutter использует Firebase, Google Cloud Storage...
Сегодня я пробую Cursor и GitHub Co-pilot. Запишу первые ощущения, пока они не затёрлись. Cursor Не впечатлил прямо совсем. Устанавливать отдельную IDE для меня — непреодолимое препятствие. Не хочу....
Увидел сегодня в одном предложении слова «очень долго» и «два года» касательно времени работы в компании. У меня, наверное, искаженная бигтехом перспектива, но 2-3 года — это вообще самый минимум, что...
У меня сегодня была очень сложная ночь. Всю ночь снился кошмар про рефакторинг. Я менял неоптимальный код. Он тут же ломался в другом месте. Я менял его, но снова что-то ломалось. Это было похоже на п...
Когда на продакшене кризис — не принимаются заказы, не обрабатываются запросы, высокий процент фейлов и т.п. — в первую очередь нужно остановить кровотечение, а потом уже разбираться с первопричиной и...
Год назад нам бесплатно сделали сайт. На тот момент у нас не доходили руки и кстати попался молодой парень, который предложил поработать забесплатно, за опыт. Мы согласились. Сайт вышел норм. Мы даже...
В бизнес-жаргоне много военных терминов. Есть они и в айти. Я большой фанат т.н. "трассирующих пуль" (tracer bullets). В автоматическом оружии в ленте с боеприпасами с определенной периодичностью разм...
Странная штука жизнь. У меня сейчас на полном серьёзе мысли о том, что писать код мне нравится больше, чем продуктовая работа (касдевы, метрики, вот это всё). 20 лет назад, когда я ушёл из фуллтайм ко...
Разработчиков передергивает, когда кто-то говорит, что фичу сделать "легко" или что фича "простая". Можно разобрать кейс «простой» фичи на примере кликабельных таймкодов в моем приложении. Казалось бы...
Вчера у меня был очень долгий разговор с СТО после ещё более долгого перепирания в комментах под пулл-реквестом для простой, но очень ценной фичи. Фича была в OKR на ноябрь как "stretch" — это означае...
Когда в одном релизе слишком много обновлений, я начинаю нервничать. Чем больше изменений, тем... Больше потенциальных проблем. Часть изменений будет недотестирована. 100% будут баги. Больше вероя...
Когда мы были на ранней стадии стартапа, у меня было дофига дел: подкаст, маркетинг, ресерч, разговоры с пользователями и потенциальными партнерами и т.п. Между делом, когда было время и энергия, я мо...
Поговорим про технический продакт менеджмент. У нас с командой только что был очень важный разговор. Для создания новой фичи в Metacast, мы меняем структуру данных, на которой держится одна из уже сущ...
Когда я ушёл с работы в Гугле, Арнаб ушел из Амазона, и мы начали работать над Metacast, мы думали, что сможем запуститься за полгода и с весьма продвинутым функционалом. Спустя 14 месяцев, наше прило...
Мне только что рассказали про прикольную практику — приглашать в середине спринта на встречу с командой (продакт + разработка + дизайн) пользователей, которым можно показать промежуточный прогресс по...
Feature toggling, также называемый feature flagging — это механизм включения/выключения фич в продукте через простую конфигурацию. Например, у нас есть новая фича, которую мы тестируем с бета пользова...
Разработчики любят шаблоны, чтобы не повторять один и тот же код. Например, на этом сайте аренды автомобилей вместо того, чтобы три раза кодить похожие поля в форме, они написали код один раз. Условно...
Пару недель назад я писал про разработчика, который затеял полный rewrite приложения и рассказывал о своём подходе на подкасте. На подкасте он налево и направо разбрасывался фразами вроде "приложение...
Случайно вылез в поиске емейл от 2009 года. Я делал сайт для тещи. Так и жили. Обменивались зип-архивами с заказчиком по электронной почте. Это было во времена, когда ценился "уникальный дизайн" (дру...
“Software is never done” — эту фразу можно часто услышать от продуктологов и разработчиков. Её суть в том, что в приложениях всегда будут баги, которые по мере эволюции будут исправлены. Её также и ис...
Когда используешь ИИ для разработки, он не заменяет необходимость глубокого понимания устройства систем, данных, языка и т.п. Если тебе нужно сделать что-то разовое на коленках, ИИ справляется с задач...
Как вам такой коммент к pull request? Мой СТО Арнаб бился со сложной проблемой целую неделю и дал себе последний день на ее решение. И решил!
Автоматические тесты — это наше с вами всё, чтобы случайно не уронить продакшен. Необходимость тестов, думаю, никому объяснять не надо. Есть такой термин как "flaky tasks" (тесты-снежинки), то есть те...
В стартапе, да и вообще в любой продуктовой команде, обязательно должно быть три типа душнил: Душнила по качеству кода Душнила по дизайну Душнила по срокам Качество кода стопудово важно, но красота...
За выходные захерачил пулреквест на 2000 новых линий и больше 1000 удаленных. Это конечно же не повод для гордости, так как ревьювить этот PR будет сплошным кошмаром для Арнаба… В идеале нужно исполь...
Про технические аспекты рефакторинга кода написаны целые книги, но что делать продакту, когда вместо фич команда рефакторит код и фиксит технический долг? Разработчики говорят, что это кагбэ нужно, но...
Когда продукт растёт, в нём появляются зависимости, которые легко пропустить. Например, в нашем приложении в настоящее время можно залогиниться только при помощи "Sign in with Google." Код, который от...
Я начал программировать и последнее время часто чувствую сильную неадекватность. Я часто буксую и не могу продвинуться дальше. Постоянно приходится просить помощи у СТО. Бывает сложно понять когда сле...
В больших компаниях есть определённые пропорции между джунами, миддлами и сеньёрами. В Амазоне на команду из 10 разработчиков обычно 1-2 сеньера, 2-3 джуна, а остальные - миддлы. Эту команду можно зам...
Внимание! Читая дальше, вы соглашаетесь с риском надолго залипнуть. Началось всё с того, что я взял незаблокированный телефон за экран и потом обнаружил, что в spotlight поиск айфона забилось много бу...
Когда мне было 17, я очень хотел на каникулах между курсами поработать дизайнером. К тому времени я уже создавал сайты, но денег за это ещё не получал. Это конец 1990х - ранние 2000е, людям нужно было объяснять зачем им нужен компьютер, а интернет был вообще чем-то эзотерическим...
На втором курсе я получил неуд по программированию — предмету, в котором считал себя одним из лучших на потоке и уж точно лучше преподавательницы.
Те из вас, кто пользуется Slack и GitHub наверняка видели эмоджи с белкой-гангстером (чтобы её увидеть, нужно напечатать :shipit: в сообщении). Когда разработчики готовят код к выпуску и его комментируют коллеги, “ship it!” — это знак одобрения, типа “всё збс! давай в продакшн!”
В Москве у меня был начальник, который называл проактивных, увлечённых людей ебанатами. Я не знаю, почему он использовал именно это слово, но это звучало смешно, хоть и немного обидно, потому что я сам был именно таким. Со временем я начал ценить это слово и чаще его использовать, потому что оно ёмко описывает образ профессионала, который любит своё дело и готов им заниматься в неоплачиваемое время.
Сегодня мы с другом (назовём его Костей) обедали в машине на парковке горнолыжной базы и разговаривали про компьютерную школу Алиса в Иркутске, где я учился программировать на Pascal...
Когда сайты или приложения используют на бэкенде SQL, а создали их неопытные программисты, то открывается возможность для взлома при помощи SQL Injection — внедрения вредоносного SQL, который может повредить или украсть данные.
Для большинства задач и профессий кодить совершенно необязательно, но многие проходят курсы по программированию. Зачем? Действительно ли нужно кодить, если ты не собираешься работать программистом?
Какие технические навыки нужны современным специалистам, а особенно — продакт менеджерам? Начну эту серию постов с навыка аналитики при помощи SQL — языка запросов к базам данных
На этот вопрос ответ однозначно это зависит от компании и продукта. Чтобы разобраться, давайте пройдёмся по требованиям к техническим навыкам продактов в Amazon и Google.
Тем, кто сам не пишет код, бывает сложно понять разработчиков... Чтобы вы понимали, с чем приходится сталкиваться программистам, приведу простым языком пример сложностей, от которых я недавно впал в отчаяние.
С развитием интернета в последние 20 лет произошёл такой скачок, что 99% микро-проблем, которые ты хочешь решить кодом, уже решены
Я не писал код за деньги уже 15 лет, но всё равно люблю работать над небольшими проектами и программировать своими руками. Сейчас объясню почему.