tgindex
Психология разработки | Сергей Андреев

Психология разработки | Сергей Андреев

Статистика

Изучаем как код, команды и мышление формируют друг друга

Последний пост
7 авг.
Последнее чтение
14 авг.
Постов за неделю
0
Всего постов
31
Тип
открытый
Язык
русский
Категория
Психология
В каталоге с
13 авг.
Подписчики
мало замеров
Замеров пока мало
Сутки
 
Неделя
 
Месяц
 
Просмотров на пост
759
13 постов
Вовлечённость
к подписчикам
Постов в день
0,0
всего 31
Упоминаний
0
каналов
Охват размещения
оценка
1/24сутки в ленте
1/48двое суток
1/72трое суток

Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.

Посты

  • генAI как гэмблинг, дергаешь ручку машины и она тебе выдает разные результаты, и ты дергаешь, пока не получится что тебе подходит Забавный факт: если попробуете почитать вступление книги про ТРИЗ, вы обнаружите, что очень похожими словами описана наука. Он говорит о том, что не существует, к сожалению, алгоритма решения изобретательских задач. По своей сути это просто перебор, пусть и оптимизированный. Если есть какая-то научная проблема, мы просто запускаем 1000 учёных, которые тестируют разные гипотезы, и, может быть, у кого-то что-то найдётся. Нет совершенно никакого алгоритма, по которому можно понять, как найти решение задачи. Эти решения обычно совершенно неочевидны и на первый взгляд нелогичны, а логичные решения не решают проблему. Там даже было исследование: учёным предлагали проанализировать уже решённые задачи, но с которыми они раньше не сталкивались, и никто не мог предложить правильный ход мышления, который бы привёл к результату. Ну и сам ТРИЗ, кстати, это тоже попытка найти и описать такой алгоритм. Кстати, рекомендую почитать, если ещё не знакомы. Всё ещё актуальное чтиво, которое вам может сильно зайти. Ну а что касается метода научного тыка, я думаю, его не стоит недооценивать. Что тогда, что сейчас, в эпоху искусственного интеллекта. Радуйтесь, что у нас появилась машина перебора. Всё равно в конечном итоге всё зависит от входных параметров, а, как показал тот же самый ТРИЗ, проблема не в том, чтобы решить задачу. Проблема в том, чтобы додуматься до абсолютно нелогичных этих самых параметров. Ещё про триз: - концепция идеального решения из ТРИЗ подходит и для программирования

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

  • Я потратил некоторое время на вайбкодинг лендингов, и вот что я понял про себя: Нужно сказать, что я не дизайнер, я умею программировать и верстать, и максимум, что у меня раньше получалось, это развивать чьи-то готовые шаблоны, но всегда хотел сделать что-то своё, а компетенции на полный цикл не хватало. Когда появился искусственный интеллект и маленько свободного времени, я прямо залип. Я словил такой поток, что просто днями и ночами вайбкодил вообще все свои идеи, которые у меня были в голове, и ещё немного даже для друзей и дочери. Первым же делом, когда я начал делать лендинги, я начал вставлять градиенты, анимации и вот это всё, что я видел на картинках и представлял себе как красивый сайт. Когда я получал результат, я был неистово счастлив и добавлял, добавлял, добавлял. Сайты получались как новогодняя ёлка. Да, некоторые элементы были никак не связаны друг с другом, но это действительно производило вау-эффект, на уровне от посещения сайтов каких-то крутых open source проектов. Я продолжал их докручивать и всё чаще начал замечать, что я устаю от этого, потому что я каждый день смотрел на этот сайт. Он буквально перегружал меня. То, что было приятно увидеть один раз и больше не открывать, оказалось неприятно смотреть каждый день, сайт буквально кричал мне в лицо. Когда я это заметил, я начал убирать, приглушать, делать спокойнее эффекты и вырезать анимации. Параллельно этому, сидя в Твиттере, я волей-неволей проводил исследование конкурентов. Я начал замечать, что все сайты такие: градиент на тексте, большие заголовки, сама структура лейаута. Я раньше этого не замечал, помимо того, что мой сайт был кричащим, он был ещё максимально вторичным. Оказалось, что моя насмотренность как обывателя сформировала во мне вкус к безвкусице, а я этого даже не замечал. Оказалось, что, когда я начал делать, я начал разбираться в деталях и начал на них обращать внимание. Вряд ли что-то ещё запустило эту цепочку событий. Я даже в какой-то момент понял, как же тяжело приходится дизайнерам и насколько их работа незаметна, когда всё выглядит хорошо. Вот так нейронные сети заставили меня больше уважать человеческий труд.

  • Сателлитная программа Голдратта / Goldratt Satellite Program (1999) Наконец-то у меня дошли руки, и я нашёл, где скачать записи старых лекций Голдратта по Теории ограничений. У него был просто замечательный курс из восьми семинаров, записанных ещё в 1999 году. Раньше ролики лежали на YouTube, но уже много лет как их удалили. Кстати, забавно, но перевод этих роликов делала председательница российского клуба TOC. Лежали эти ролики себе спокойно на YouTube, я их активно пересматривал и скидывал своим знакомым. Вообще, если честно, считаю, что эти восемь роликов должен посмотреть каждый в IT, а особенно если он менеджер. В какой-то момент ролики удалили, и я потом нашёл их во ВКонтакте. Но что-то в последнее время всё больше и больше хочется иметь локальный архив вещей, которые мне нравятся. Интернет странная штука. С одной стороны, он помнит всё, а с другой стороны, с регулярной периодичностью из него удаляется вот то, что тебе нравится, и потом это невозможно найти. На этой неделе озаботился поисками и нашёл старую раздачу на Рутрекере. Даже скачал себе Transmission, он, кстати, на удивление выглядит намного приятнее, чем я его запомнил с тех времён, когда сидел на Ubuntu. Вообще, если честно, маленько скучаю по временам, когда люди сидели на трекерах, делились через P2P контентом. Помимо пиратского контента, там всегда можно было найти настоящий кладезь исторических вещей, которые в других условиях просто были бы утеряны. Например, все сканы советских журналов, типа Юного техника. Никакому бизнесу в здравом уме не нужно хранить такие вещи, а вот люди готовы. Ещё забавно: пока качал, в какой-то момент увидел предполагаемое время скачивания 2 года), потому что там был всего лишь один сид. Но, благо, за пару дней всё скачалось. Теперь подумаю, может быть, попробовать выложить это в виде треда в Твиттере и загрузить в Telegram.

  • Ладно, есть один мысленный эксперимент, который не даёт мне покоя Предположим, у нас на проекте есть 10 больших и фундаментальных фич, которые мы хотим реализовать В зависимости от порядка реализации этих фич мы получим 10! разных системных дизайнов, хотя проект один и конечный объём функциональности одинаковый. Меняется только порядок, в котором появлялись решения По сути, большинство архитектурных решений, это следствие истории проекта: так исторически сложилось, слишком дорого сейчас переделывать, под новую фичу сделали вот так Если посмотреть на это с такой точки зрения, то самая дырявая абстракция, это текущая реализация системы. Ведь если бы мы отдали все 10 фич в разработку одновременно, то получили бы ещё один вариант системного дизайна, отличный от всех предыдущих А 10! это 3 628 800 разных вариантов, и на вашу архитектуру больше влияет порядок работы нежели чем частные решения которые вы принимаете внутри

  • Наверное, самая удивительная вещь в разработке это то, что наш код одновременно является как продуктом, так и рабочим местом. При этом при разработке мы не можем не учитывать второе, иначе будет как в том меме про user experience vs design. Но что поражает даже больше, когда мы начинаем размышлять о коде как о рабочей среде, это то, что он, только одна часть всего этого, а значит неотделим от прочих условий, таких как культура компании, её организационная структура, процессы, ну и, конечно, люди. Это значит, что при изменении этих вводных мы должны получать разные программные решения для одних и тех же задач. Что автоматически делает аксиомой невозможность получения каких-либо бест-практик в этой области и доказывает, что серебряной пули не существует для всех. Есть знаменитый закон Конвея, согласно которому структура создаваемой системы будет копировать структуру коммуникаций организации, которая её разработала. (Опять же смотрим на прекрасную картинку про UX/UI.) На примере урбанистики это кажется до ужаса очевидным. Ты начинаешь задаваться вопросом: ну как же так люди могли так тупо поступить и вообще не учитывать реальность? Но когда дело переходит до программного обеспечения и его архитектуры, это всё гораздо сложнее заметить. На компанию часто бывает сложно посмотреть как на парк с высоты птичьего полёта, поэтому эта часть часто ускользает. И мы как дизайнеры программного обеспечения упорно пытаемся игнорировать эту самую реальность, нам даже тяжело её просто принять, она нам часто не нравится. И мы как те самые проектировщики неудобных дорог в парке продолжаем и продолжаем строить идеальное решение в отрыве от этой самой реальности. Считая, что архитектура системы, это результат функции только от входящих требований. После этого в системе начинает неминуемо копиться технический долг (опять же смотрим на нашу уже любимую картинку, как раз те самые тропинки). По сути мы большую часть времени тратим на проектирование нежизнеспособных решений, потом на попытку их поддерживать, после этого пытаемся обкладывать их правилами, запретами, ограничениями (в случае парка, например, мы могли бы поставить забор: чего это народ топчет газон? Но в случае кода почему бы не добавить линтер, или бюрократии с согласованиями, или просто бегать и ругаться с коллегами, сетуя своим друзьям или интернету на глупых людей. Тут всё зависит от ваших полномочий.) Где-то здесь уже хотелось бы получить какие-то практические советы. И что же с этим делать? Я бы даже мог попробовать их вам дать или сделать, например, курс (хе-хе). Но, к счастью (об этом попозже), задача, у которой одним из аргументов является конкретно ваша компания, ваши процессы и вы лично сами, как вы понимаете, не существует готового универсального решения. Ну а хорошо это потому, что это и есть инженерная задача, а мы с вами как раз инженеры. На удивление, дисциплина разработки программного обеспечения сгенерировала тонны очень крутых и ценных подходов: DDD, SOLID, паттерны проектирования, микросервисный подход, модульные монолиты, Event Storming. Я уверен, вы можете добавить что-то своё, то, что вам нравится. И это всё правда работает (да даже микросервисы, если учитывать структуру коммуникаций вашей компании). Это всё правда работает, если при проектировании опираться на оба аргумента функции: то, что наш код одновременно является как продуктом, так и рабочим местом. А на этом у меня всё. Жду вас в комментариях.

  • 9 маяиз itnigilizm

    Я оч хотел поглядеть всякую русскую классику со своей девушкой Но это сложно! Она по-русски не говорит, а озвучки или сабов на английском почти никогда не бывает Окей, справляюсь сам: взял питон, ffmpeg, deepseek, накидал небольшой скрипт и готово Он берет видос, вытаскивает из него сабы на русском (или берет их рядом), переводит на другой язык дипсиком, вкладывает обратно в видос + синхронизирует FFmpeg реально велик Поглядели Тайну третей планеты с тайскими сабами. Полагаю, что впервые в истории

  • Я недавно нашёл один приятный побочный эффект от использования ChatGPT, и сейчас тестирую его. По сути ChatGPT дал мне то, что многие люди хотели бы получить от Obsidian, но им лень с ним возиться. Из-за того что я по всякой ерунде пишу что-то в чат, спрашиваю, скидываю картинки, то такие мелкие заметки, мысли вслух и вопросы теперь начали храниться в одном месте, и что более важно - храниться вообще. В какой-то момент времени я начал замечать, что ищу через поиск ChatGPT всякие вещи и нахожу их. По сути ChatGPT стал для меня записной книжкой идей с мгновенной обратной связью. Я подумал: а если это так работает, то почему бы не начинать всегда скидывать идеи в него, а ответы ИИ воспринимать не как ответ в чате, а просто как триггер для развития своей идеи. Так, чтобы если удалить весь ИИ, мои заметки всё ещё читались и были самодостаточны, а не просто потоком переписки. И это сработало. Всё, что раньше было только где-то в голове и не могло найти форму в виде слов, из-за цикла обратной связи начало доставаться. При этом здесь не так важно, как тебя понял ИИ. Если он тебя понял неправильно, это всё равно помогает тебе уточнить, что же ты на самом деле имел в виду. Мне такой подход использования настолько понравился, что я даже всерьёз подумываю написать себе отдельное приложение исключительно для ведения заметок с моментальным feedback loop, где ИИ просто помогает доставать идеи из тебя, а векторная база данных помогает легко находить нужное потом во всём этом. По сути цифровой сад идей на базе ИИ, где 0% AI-slop.

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

  • У меня есть увлекательная история,про: кино, VFX, green screen, обучение нейронок и силу open source. И про то, как ИИ помогает творческим профессиям. Это частично отвечает на вопрос: делает ли ИИ всех программистами? Ребята с YouTube-канала Corridor Crew обучили нейронку для идеального кейинга. Первая версия жрала 23 ГБ видеопамяти. GitHub за пару недель набрал 10 000 звёзд, появилось комьюнити. Потребление снизили до 6–8 ГБ, сделали GUI, установку в один клик и плагины для DaVinci Resolve. Сейчас думают открыть датасеты и подходы к обучению. Началось всё с гипотезы: можно ли нормально решить кейинг. Основные боли — движение, волосы, полупрозрачные цвета. Это сложно и при этом самая рутинная часть процесса. Камера не умеет понимать прозрачность. Раньше у Disney была технология съёмки через разные спектры света, но она исчезла вместе с камерами. В итоге ребята засели за тесты, и у них получилось что-то реально невероятное. Приятного просмотра

  • Агентам нужно строить scaffolding, нежели просто управлять контекстом и памятью. По сути, это про смену фокуса: не пытаться удержать всё в голове агента, а постепенно выносить повторяемую работу в инструменты. Это похоже на автоматизацию рутины при обычной разработке. Но при агентской это важнее на порядок: во-первых, это экономит токены, а во-вторых, делает работу в разы более повторяемой, вследствие чего снижается количество ошибок. Я бы это назвал scaffolding. По мере разработки проекта, точно так же, как при построении домов, вам нужны строительные леса. Сейчас многие пытаются городить их из md-файлов, фокусируясь только на написании самого проекта. Кстати, учитывая, что тот же Claude хранит все сессии и память локально, можно его же натравить на них: Проанализируй сессии ~/.claude на предмет повторяющихся работ, паттернов и предложи, какой минимальный тулинг стоит написать прямо сейчас для проекта и почему. Я на нескольких проектах попробовал, и временный тулинг действительно работает великолепно

  • Ну что поздравляю всех, в хроме до стабильной версии дошли вертикальные вкладки, можете начать проверять 🎉

  • Со всеми этими спорами вокруг ИИ провайдеров радует одно, рано или поздно это всё будет умещаться в ваш смартфон! Когда-то apple думала, а не перейти ли им на разработку network computer, но слава богу отказалась от этой идеи когда вернулся Джобс Вон глядишь и google выкатит свой Built-in AI к хрому (на апи кстати можно посмотреть тут) Будет доступно и расширениям и сайтам Я так и вижу сколько прикольных штук можно будет сделать Пока в целом с этим из проблем разве что нейронки требуют много места не менее 22 ГБ свободного места на томе, где находится ваш профиль Chrome. Вот к примеру демка с stt на react Пожалуй SpeechRecognition API самое интересное апи для меня Кому интересно можете почитать статейку на mdn И это я ещё не говорил про Google AI Edge Gallery, я как-то с ним игрался в самолёте и это что-то с чем-то Кстати можно поставить не только на android но и на iphone Ребята в последнем релизе завезли скилы в него Extend LLMs with modular tools like display interactive maps and search Wikipedia. Supporting custom skill loading from the community. И это я ещё молчу про их новую Gemma 4 В общем кажется из всех компаний Гугл играет в долгую и понимает что делает, хотя с виду может казаться иначе, особенно с их умением делать супер непонятные продукты которые мега крутые при этом, тот же notebookLM

  • 🤔, а ведь и правда так

  • Вообще, в последнее время всё больше начинаю задумываться о цифровых границах: насколько они нужны? И насколько их упорно все тащат. Начиная с региональных ограничений, банально, я не могу с женой завести себе семейный Google-аккаунт, потому что у неё одна страна, у меня другая. У меня стоит в Google Play американский регион, и я не могу скачивать некоторые приложения, хотя почему бы и нет? С одной стороны, мы вроде бы живём в общем пространстве, и самое время построить ту самую галактику Гутенберга, глобальную деревню, но все эти границы протекают. Абстракции, которые нужны только в реальном мире, смотрятся как legacy, а когда ты с ними сталкиваешься, то и подавно они тебя расстраивают. Хочешь слушать свою музыку, но ты привязан к региону. Хочешь покупать игры, ты либо берёшь их в аренду, либо ограничен определённой страной. Если попробовать трезво на это посмотреть, это действительно выглядит странно. Но это не единственные границы, которые заставляют задуматься. Например, вы могли замечать, что искусственный интеллект отказывается выполнять некоторые задачи. С одной стороны, это понятно: провайдеры переживают, чтобы вы чего-то такого не сделали или не узнали. Но сам факт: сейчас цифровые агенты отказываются делать что-то, что, в общем-то, вам и так, возможно, не нужно. Но это значит, что в искусственный интеллект закладывают некоторые нормы. Это уже не совсем ассистент, потому что он не делает то, что вы его просите, он делает то, что ему разрешили делать, и разрешающей стороной выступаете не вы. Сегодня вы боретесь с тем, чтобы скачать какой-то файлик, а нейронка переживает по поводу нарушения авторских прав и не хочет туда идти. А завтра она решит, что вам не нужно знать какую-то информацию, и просто не будет её показывать. И чем больше мы будем завязывать свою жизнь на нейронки, а всё к этому и идёт, агенты становятся привычным инструментом, тем сильнее будет вставать проблема контроля со стороны корпораций. Они уже перенесли свои границы из реального мира. Вы уже поручаете агентам делать множество дел за вас, а скоро вам будут говорить, как вам жить и что вам делать, как только вы глубже интегрируете это всё в свою жизнь. А что самое грустное, в этой истории побеждает не лучший и не сильнейший, а удобный. Мы пользуемся тем, что понятно и просто, тем, что доступно. И сейчас корпорации всеми силами создают максимально доступную среду для искусственного интеллекта, такую, что даже бабушка может написать себе Telegram-бота, и это не преувеличение.

  • Всё-таки Claude Code + Obsidian это что-то с чем-то. На выходных выгрузил туда все встречи, различные документы. Организовал, разобрал, структурировал, при этом всё это слинковано. Раньше у меня на такую работу ушло бы несколько лет. По сути я сделал AI-only vault, где я контролирую только inbox. При этом исходники всегда остаются неизменёнными, всегда можно перепроверить целостность итоговой базы. По мере анализа встреч агент находит всё новые объекты, людей, темы, модули различных систем. Это позволяет после первого прохода сделать второй, уже с новыми знаниями. По сути это чистой воды агентская разработка, только вместо кода человеческий неструктурированный текст, а vault это живая система, где я контролирую архитектуру, правила организации документов и связи между ними. Ну и, конечно, ничего такого я бы не смог сделать, если бы до этого аккуратно и методично не сохранял всю информацию. В общем, пушка бомба, буду дальше развивать.

  • А тебе помогает фоновый шум? Я, например, заметил, что мне достаточно просто концентрироваться в кафе или на лекциях в больших залах в универе. А когда появилась дочка, мы ей пробовали включать белый шум или что-то похожее, реально залипаешь. А если хочу поработать над чем-то, то включаю себе музыку. Кстати, на маке можно включить фоновый шум 🤯

  • Чувак, который разрабатывает обсидиан, недавно писал что теперь все ваши заметки - это исполняемая программа Мне кажется это хорошая идея Я буквально сегодня так и сделал, у меня была заметка о том как я хотел чтобы выглядел дизайн моего блог А сегодня без редактуры просто вставил в все сервисы для вайб кодинга, чтобы посмотреть кто что предложит По итогу кстати лучшие варианты оказались у v0 и gemini. Ну и gemini конечно не перестаёт меня удивлять, всё чаще начинаем пользоваться, это совершенно небо и земля по сравнению с тем что было раньше, сейчас очень круто Даже подумываю отменить подписку на чат gpt и взять подписку google 🤔

  • без подписи

  • без подписи