Посты с тэгом "Разработка"

Rubberducking

Среди разработчиков есть поверие, что можно решить нерешаемую задачу, поставив перед собой резиновую уточку и поговорив с ней о задаче, коде и в целом о жизни. Как это работает на практике? Когда утык...

26 августа 2025 г.

Программирование на бумаге

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

15 августа 2025 г.

Как мы сломали прод

Я вчера сломал прод. Чинили с 21 до 2:30 утра. Опять порадовался нашему процессу и отношениям. В этом посте расскажу про то, что произошло и как мы это фиксили (в обратном порядке.) Процесс Обнаружени...

29 июля 2025 г.

Claude Code CLI: первые впечатления, ч.3

Я слышал, что люди используют Claude Code как автономного агента. Дают ему многошаговые инструкции и отпускают вольно ковыряться в коде на полчаса. Я к этому пока не пришёл. Сложно отпустить контроль...

Claude Code CLI: первые впечатления, ч.2

После небольшого перерыва продолжаю изучать Claude Code. Для удобства теперь открываю Claude Code в терминале прямо в VSCode. Экран разделен вертикально. Слева 2/3 ширины — IDE, справа 1/3 — Claude...

Claude Code CLI: первые впечатления, ч.1

Я пробую вайб-кодинг в Claude Code. Заплатил $20 за первый месяц Claude Pro, чтобы получить доступ к их терминальному приложению для вайб кодинга. На этот шаг меня вдохновило две вещи: Чей-то пост (...

Как мы работаем с критическими инцидентами по-амазонски

Моя суббота началась в 9 утра с емейла от Google Cloud, в котором говорилось, что мы достигли 100% от запланированных затрат в $50. Каково же было удивление, когда я увидел цифру расходов в $1,800 за...

Когда особенности инфраструктуры замедляют выкат фич...

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

Оптимистичный интерфейс (Optimistic UI)

Optimistic UI (оптимистичный интерфейс) — это способ ускорить “отзывчивость” (responsiveness) интерфейсов. Его суть в том, что мы показываем результат действия до того, как получили ответ от сервера....

ИИ пока бесполезен в дебаге сложных систем

ИИ пока бесполезен в дебаге сложных систем. Сейчас очень редко приложения содержатся сами в себе. То же приложение для подкастов (наше) помимо кода на Flutter использует Firebase, Google Cloud Storage...

14 февраля 2025 г.

Первые впечатления от Cursor и GitHub Co-Pilot

Сегодня я пробую Cursor и GitHub Co-pilot. Запишу первые ощущения, пока они не затёрлись. Cursor Не впечатлил прямо совсем. Устанавливать отдельную IDE для меня — непреодолимое препятствие. Не хочу....

Почему в бигтехе всё так медленно?

Увидел сегодня в одном предложении слова «очень долго» и «два года» касательно времени работы в компании. У меня, наверное, искаженная бигтехом перспектива, но 2-3 года — это вообще самый минимум, что...

29 января 2025 г.

Ночной кошмар про рефакторинг

У меня сегодня была очень сложная ночь. Всю ночь снился кошмар про рефакторинг. Я менял неоптимальный код. Он тут же ломался в другом месте. Я менял его, но снова что-то ломалось. Это было похоже на п...

29 января 2025 г.

Stop the bleeding — остановить кровотечение

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

14 января 2025 г.

Полный рефакторинг сайта - стоит того?

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

26 декабря 2024 г.

Трассирующие пули в разработке продуктов

В бизнес-жаргоне много военных терминов. Есть они и в айти. Я большой фанат т.н. "трассирующих пуль" (tracer bullets). В автоматическом оружии в ленте с боеприпасами с определенной периодичностью разм...

Возвращение к истокам - я снова начал писать код

Странная штука жизнь. У меня сейчас на полном серьёзе мысли о том, что писать код мне нравится больше, чем продуктовая работа (касдевы, метрики, вот это всё). 20 лет назад, когда я ушёл из фуллтайм ко...

26 ноября 2024 г.

Фича, которую 'легко' сделать

Разработчиков передергивает, когда кто-то говорит, что фичу сделать "легко" или что фича "простая". Можно разобрать кейс «простой» фичи на примере кликабельных таймкодов в моем приложении. Казалось бы...

Сложные разговоры с разработчиками

Вчера у меня был очень долгий разговор с СТО после ещё более долгого перепирания в комментах под пулл-реквестом для простой, но очень ценной фичи. Фича была в OKR на ноябрь как "stretch" — это означае...

20 ноября 2024 г.

Автоматизация релизов

Когда в одном релизе слишком много обновлений, я начинаю нервничать. Чем больше изменений, тем... Больше потенциальных проблем. Часть изменений будет недотестирована. 100% будут баги. Больше вероя...

9 ноября 2024 г.

Фокус, фидбек и раздражение

Когда мы были на ранней стадии стартапа, у меня было дофига дел: подкаст, маркетинг, ресерч, разговоры с пользователями и потенциальными партнерами и т.п. Между делом, когда было время и энергия, я мо...

7 ноября 2024 г.

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

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

Больше года в разработке: почему Metacast запустился позже и с меньшим функционалом

Когда я ушёл с работы в Гугле, Арнаб ушел из Амазона, и мы начали работать над Metacast, мы думали, что сможем запуститься за полгода и с весьма продвинутым функционалом. Спустя 14 месяцев, наше прило...

Приглашайте пользователей на встречи в середине спринта

Мне только что рассказали про прикольную практику — приглашать в середине спринта на встречу с командой (продакт + разработка + дизайн) пользователей, которым можно показать промежуточный прогресс по...

Feature toggles: как тестировать код в продакшене

Feature toggling, также называемый feature flagging — это механизм включения/выключения фич в продукте через простую конфигурацию. Например, у нас есть новая фича, которую мы тестируем с бета пользова...

Хардкод, шаблоны и водители в штуках

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

Твой продукт тебе не принадлежит

Пару недель назад я писал про разработчика, который затеял полный rewrite приложения и рассказывал о своём подходе на подкасте. На подкасте он налево и направо разбрасывался фразами вроде "приложение...

Привет из нулевых — сайты с уникальным дизайном

Случайно вылез в поиске емейл от 2009 года. Я делал сайт для тещи. Так и жили. Обменивались зип-архивами с заказчиком по электронной почте. Это было во времена, когда ценился "уникальный дизайн" (дру...

Полный rewrite приложения... FAIL!

“Software is never done” — эту фразу можно часто услышать от продуктологов и разработчиков. Её суть в том, что в приложениях всегда будут баги, которые по мере эволюции будут исправлены. Её также и ис...

ИИ не заменит глубокого понимания систем

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

Коммент к pull request

Как вам такой коммент к pull request? Мой СТО Арнаб бился со сложной проблемой целую неделю и дал себе последний день на ее решение. И решил!

24 августа 2024 г.

Flaky тесты и шумные дашборды

Автоматические тесты — это наше с вами всё, чтобы случайно не уронить продакшен. Необходимость тестов, думаю, никому объяснять не надо. Есть такой термин как "flaky tasks" (тесты-снежинки), то есть те...

Три типа душнил в продуктовой команде

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

Парадокс больших коммитов

За выходные захерачил пулреквест на 2000 новых линий и больше 1000 удаленных. Это конечно же не повод для гордости, так как ревьювить этот PR будет сплошным кошмаром для Арнаба… В идеале нужно исполь...

23 июля 2024 г.

Тонкая грань между рефакторингом и пустодрочерством

Про технические аспекты рефакторинга кода написаны целые книги, но что делать продакту, когда вместо фич команда рефакторит код и фиксит технический долг? Разработчики говорят, что это кагбэ нужно, но...

19 июля 2024 г.

Функция удаления аккаунтов

Когда продукт растёт, в нём появляются зависимости, которые легко пропустить. Например, в нашем приложении в настоящее время можно залогиниться только при помощи "Sign in with Google." Код, который от...

25 декабря 2023 г.

Чувство неадекватности, когда начал программировать

Я начал программировать и последнее время часто чувствую сильную неадекватность. Я часто буксую и не могу продвинуться дальше. Постоянно приходится просить помощи у СТО. Бывает сложно понять когда сле...

28 сентября 2023 г.

Армия джунов/миддлов или маленький спецназ?

В больших компаниях есть определённые пропорции между джунами, миддлами и сеньёрами. В Амазоне на команду из 10 разработчиков обычно 1-2 сеньера, 2-3 джуна, а остальные - миддлы. Эту команду можно зам...

Чудо-репозиторий e98e

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

27 декабря 2021 г.

Как SQL помог мне попасть в Google

Когда мне было 17, я очень хотел на каникулах между курсами поработать дизайнером. К тому времени я уже создавал сайты, но денег за это ещё не получал. Это конец 1990х - ранние 2000е, людям нужно было объяснять зачем им нужен компьютер, а интернет был вообще чем-то эзотерическим...

Неуд по программированию

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

Кто такой “ship it squirrel” и в чём его значимость?

Те из вас, кто пользуется Slack и GitHub наверняка видели эмоджи с белкой-гангстером (чтобы её увидеть, нужно напечатать :shipit: в сообщении). Когда разработчики готовят код к выпуску и его комментируют коллеги, “ship it!” — это знак одобрения, типа “всё збс! давай в продакшн!”

4 апреля 2021 г.

Pet Projects как фактор профессионального роста

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

Совпадения и шкура неубитого Паскаля

Сегодня мы с другом (назовём его Костей) обедали в машине на парковке горнолыжной базы и разговаривали про компьютерную школу Алиса в Иркутске, где я учился программировать на Pascal...

Что такое SQL Injection

Когда сайты или приложения используют на бэкенде SQL, а создали их неопытные программисты, то открывается возможность для взлома при помощи SQL Injection — внедрения вредоносного SQL, который может повредить или украсть данные.

22 февраля 2021 г.

Зачем специалисту программирование?

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

Базовые технические навыки современного специалиста: SQL

Какие технические навыки нужны современным специалистам, а особенно — продакт менеджерам? Начну эту серию постов с навыка аналитики при помощи SQL — языка запросов к базам данных

Нужно ли продакт менеджерам кодить?

На этот вопрос ответ однозначно это зависит от компании и продукта. Чтобы разобраться, давайте пройдёмся по требованиям к техническим навыкам продактов в Amazon и Google.

Вот поэтому мы все в айти такие злые

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

2 января 2021 г.

Копи-пейст или почему кодинг доступен каждому

С развитием интернета в последние 20 лет произошёл такой скачок, что 99% микро-проблем, которые ты хочешь решить кодом, уже решены

6 ноября 2020 г.

Почему я продолжаю писать код, даже если мне за это не платят?

Я не писал код за деньги уже 15 лет, но всё равно люблю работать над небольшими проектами и программировать своими руками. Сейчас объясню почему.

2 ноября 2020 г.