Pinned Tweet
8 лет назад я решил написать учебник по языку программирования Python для полных новичков с нуля. Спустя пару месяцев работы над текстом, я понял, что текста будет не достаточно, а еще надо разобраться как работает мозг при изучении новых вещей. Это запустило невероятно большую цепь событий. Благодаря @kukutz меня пригласили в Яндекс.Практикум и я поучаствовал в создании курса Бэкенд разработки на Python'е который на сегодняшний день прошло больше 10 тысяч студентов.
Но мне и этого было мало. Я хотел сделать курс лучше чем команда профессионалов в самом Яндексе. И больше 4х лет я занимался созданием своего собственного учебного курса. Изучал когнитивистику, методолгию, много новых технологий необходимых для создания проекта. Создал свою собственную платформу, строил маркетинг, а когда появились студенты то обучал и делал практику.
Прошло время, я изменился и изменился мир. Я оказался не самым талантливым продажником, мне всегда было интереснее создавать и в этом мое благословление и проклятие. Я решил, что лучшее, что я могу сделать — это открыть и отдать учебный курс в открытый мир и посмотреть что произойдет.
Поэтому я собрал все материалы создал новый сайт для контента курса, а видео перенес на Youtube. Когда мы анализировали рынок, то оказалось, что мой курс по объему относится к нише учебных проектов стоимостью от 2700 до 4500. Мы анализировали предложения от всех крупных школ представленных на рынке.
Да у конкурентов в пакет входит предложение проверки кода, поддержки, мотивации и унижения учеников. Эти обязательства я на себя не беру. Но в остальном я выкладываю свой курс в открытом виде и бесплатно.
Вы можете зайти на сайт pylot.me/ и начать двигаться ступень за ступенью.
Когда-то я вышел один в поле боя с горячим желанием поменять этот рынок. Но компании с большими бюджетами меня победили. Пусть так, но сейчас я открываю всем свой проект. Вам больше не надо брать кредит на обучение, не надо занимать у родителей и друзей. Теперь вы только наедине с собой и своей дисциплиной. Если вы пройдете этот путь, то сможете выучить прекрасный язык Python и научиться всей небходимой базе.
Что я хочу взамен? Мне кажется мир станет немного лучше если у вас будет такая возможность. Я не знаю куда заведет меня этот путь. Подозреваю, что может быть это будет просто классное путешествие. Надеюсь мы все вместе станем лучше в процессе.
Пожалуйста поставьте лайк и если можете, то сделайте репост.
Предположу, что это такой ответный твит на мой пост про тестировщиков. Но доказать не могу.
Для неспециалистов надо объяснить в чем сыр-бор с тестированием в процессе разработки.
Раньше стоимость рабочего часа оказывала давление на процесс. У вас был коллектив каждый час которого стоит как чугунный мост, а в месяц спокойно влетает в стоимость новой квартиры. И поэтому была задача создавать специализацию и экономить.
Час работы программиста стоил дорого, значит можем ли мы отобрать у него часть функций и перенести на более эффективных или более дешевых специалистов. Кроме того, множество классических исследований показывали, что чем ближе к разработке исправляется ошибка, тем дешевле она обходится. Представьте, что вы запустили в космос спутник, а в нем из-за ошибки ПО не фотографирует фотоаппарат. А значит вообще хотелось бы выделить человека, задача которого следить за качеством. Ну чтобы не приходилось в ночь с пятницы на субботу надевать скафандр и лететь на орбиту Марса фиксить прошивку.
Получалась такая сложная многомерная матрица:
- написать руками дополнительный код дорого
- исправлять ошибку на стороне клиента дорого
- просить программистов выделять отдельно время на чтение второй-третий раз документацию дорого
- и т.д.
И появилась хорошая идея брать на работу специалистов, которые потратили на обучение не 5–10 лет, а прошли курсы тестировщиков. Может, они и не супер глубоко разбираются, но такая работа давала хорошие результаты, причем почти сразу.
И вот вмешался ИИ.
Стоимость написания строки кода упала драматически. Более того, тесты покрытия в основном — это очень однообразный и не творческий код. Нет вы, конечно, можете пытаться самореализовываться, но экономическая целесообразность творческих потуг тут не высокая. Для программиста такие тесты работают очень просто: берется каждый обособленный участок кода и проверяется, что он ведет себя предсказуемо. Покрывается весь код и когда вносятся изменения, то проверяется, что код не упал.
Дорого обходились еще и интеграционные тесты, когда у вас есть разный код, зачастую разные продуктые которые разрабатывались разными командами и которому надо обеспечить непрерывность выполнения требований. Сейчас и эту задачу ИИ хорошо выполняет.
Проверить, что код должен соответствовать требованиям? Подержите мое пиво, загружаешь подписанный договор с приложениями и через часок у тебя список согласования, в котором перечислены пункты договора и ссылки на исходники, в которых эти пункты не выполняются.
Ну и последний пункт. Дистрибьюция ПО очень сильно поменялась. Раньше, чтобы исправить ошибку, вам надо было о ней узнать, продиагностировать, создать условия ее возникновения и тогда уже исправить. За последние лет 10 в этой части возникло невероятное количество инноваций: мониторинг, телеметрия, обзервабилити, вам эти слова что-нибудь говорят? Даже просто доставка приложений сильно упростилась.
Сейчас для того, чтобы исправить ошибку в проде, вам в большинстве случаев вообще ничего не надо делать. Ну кроме начальной настройки инструментов, которые тоже настраиваются с помощью агентов.
Можно говорить о том, что контроль качества формируется в фазе улучшения сбора требований. Но и тут большое поле для автоматизации.
Показательный пример. Мне понадобилось найти оптимальную стратегию конфигурирования сложного продукта, который может запускаться на разном железе, но на конкретном должен работать оптимально. Я выделил доступы к ~десятку разных серверов, обсудил варианты того, что можно менять. Получилось что-то типа X^n возможных вариантов. Руками их перебирать было бы сложно. Ставишь задачу хороводингу агентов запустить множество каскадов тестов, чтобы определить, на каком железе какие варианты работают лучше. В результате получено множество графиков, точек отказа, сырых данных конфигурации. Такого качественного сбора информации у меня в жизни не было. А заняло времени меньше, чем если бы я сидел и формулировал аналитику.
Я не говорю, что люди, которые были тестировщиками, никому больше не нужны. Если вы прочитали это так, то вопросы к вам.
Я говорю, что набор функциональных обязанностей к тестировщикам буквально рассыпался в воздухе как песок через пальцы. Люди нужны, но они будут делать что-то новое и другое.
Запросил цены на ИИ сервера. Прислали цену 1.8–1.9 миллиона долларов.
Но есть нюансы:
- по одной штуке их не продают, от 50
- продадут только если у меня есть достаточные мощности по электричеству и отводу тепла, а потребление как у завода
- предоплата 100%, не факт, что я даже встречусь с этими людьми
- цена на сегодня, через месяц это будет 2.2–2.3 миллиона долларов, потому что за всеми доступными серверами очередь
- не все карточки такой ценовой категории подходят для обучения моделей, некоторые хороши в инференсе, то есть даже такого уровня железки не закроют все задачи
Классная получается история, на сервера надо 100 лямов вперед людям, которых ты не знаешь и даже скорее всего не увидишь.
Но, чтобы их воткнуть, надо выстроить здание, желательно рядом с электростанцией. Ну как эклектростанцией. Тоже не каждая подойдет. Например, в этом году Дунай обмелел и атомные станции выключали, потому, что не хватало воды их охлаждать (АЭС Чернаводэ, АЭС Пакш, АЭС Козлодуй). Производитель серверов можно и послать нафиг.
Помимо самой ветки электричества нужна уже своя трансформаторная подстанция. Помещение с кучей требований и т.д. В общем датацентр.
Конечно, в розницу тоже можно покупать. Но даже на оптовом уровне очереди стоят и выкупают за такую цену.
Мое скромное частное мнение, что профессии тестировщик больше нет.
То что описывает Олег во-первых делали дай бог 2% тестировщиков, во-вторых это делали только продукт менеджеры, которые действительно рубили фишку того, что надо пользователям.
И даже во времена расцвета тестировщиков жутко мешали тестировщики которые не понимали что нужно продукту и клиенту и лезли с бесполезными улучшениями.
Серьезно неиронично, тестировщиков ИИ заменит позже, чем программистов.
Знаете в чем радикальная разница тестировщика и обычного штатного линейного кодера?
Кодер кодирует то, что ему скажут.
Хороший тестировщик тратит время на то, чтобы угадать неизвестное.
Найти дыры в системе. Найти систему в ее отсутствии. Понять загадочную психологию пользователей.
Кодировать задачи по точному ТЗ (без которго как известно - результат ХЗ), отлично может и Клод.
А вот взять готовый продукт и понять, что он делает не то, что нужно пользователю (при этом полностью до последней буквы соблюдая ТЗ) - для этого пока все еще нужен человек.
Ситуация, когда бюрократы не несут ответственность за свои действия, порождает европейское безумие.
So, the French socialists, and Parliament members just voted a tax, that they don’t understand, which would cost VideoLAN more than 1 million euro per year.
They are probably the most clueless politician on Earth? And they claim they want technological sovereignty…
@LaurentLhardit
Пытаюсь сделать ров.
Я выложил демку otkuda.com и на сайте добавил информацию о товарах. Мне пришли люди и написали, что эта инфа есть в numbeo. Это немного разные проекты, но обратная связь это обратная связь. Именно ради нее и спрашивал.
Это натолкнуло на мысль. А что, если сделать инструмент, который будет собирать полную базу продуктов для локальных онлайн ритейлеров.
В чем же ров? Ну во-первых, сайты у всех разные, для каждого нужен свой адаптер. Во-вторых, сайты парсить сложно. Более стабильно собирать информацию через API, но нет никаких причин выкладывать API публично. Кроме одного особого места. Мобильное приложение работает с бэком через API.
Поэтому я сделал форк эмулятора приложений для Андроида, который перехватывает сетевой трафик и позволяет документировать работу с API и на основе этого делать собирать информацию для реверс инжиниринга API. Чтобы делать экспорт продуктовых каталогов онлайн сторов.
Пока не знаю, куда меня это выведет. Более того я не знаю, насколько это реалистичный план сам по себе. Но раз мы живем в безумном мире, то давайте посмотрим насколько можно быть более безумным чем окружающая реальность.
По чатикам выложили ссылки на приложение для обучения болгарского с нуля. Подобрали самое подходящее имя на букву М.
Жаль нет других кириллических имен для примера на букву М.
До меня дошло в чем проблема RAG систем, которые все ругают. Люди думают, что RAG это векторная база данных. И не понимают, что такое R в Retrieval-Augmented Generation.
Судя по критике, на которую я даже уже почти научился не обращать внимания. Люди думают, что промпт надо строить только на данных, которые получаются из векторной базы.
Dzen Chat использует достаточно большой, но вычислительно эффективный пайплайн из нескольких видов поиска, предварительной обработки данных и формирования структуры гардрейлов и реранкинга. То есть до того, как данные попадут в промпт, они уже прожили жизнь.
IBM выпускает потом такие пейперы, при том, что то что они там предлагают в целом является даже не научной, а просто обычной инженерной задачей. arxiv.org/abs/2609.03874
Видимо если бы я был в академической среде, то в потоке около-иишного мусора были бы и мои пейперы. Но я не в том месте и не в то время.
Читать в чужих документах наивные версии своих решений это как сдать экзамен в институте. Вроде и приятно, а вроде не понятно, перед кем этим можно выпендриться. Денег-то больше не стало.
IBM может делать даже самые глупые пейперы, нанимать самых нейрослопных индусов и все равно самые злобные продаваны у них. Эти деды своих детей поженили на своих клиентах. Они продают совершенно на другом уровне.
Господа понауехавшие и собирающиеся.
Если вы хотели понять, куда стоит переезжать, то вам такая игрушка otkuda.com/country/bgr-vs-es…
Можете сравнивать страны по разным показателям. Например распространенность языков, скорость интернета, популярные религии, экономика и т.д. Очень крутая фишка это увидеть, в каких международных организациях состоит страна. Например если вас интересуют только страны НАТО.
Но помимо этого есть бриллиант 💎, которого вообще нигде нет! Информация о стоимости базовых продуктов — бананы, курица, молоко, яйца и т.д.
Для сбора данных пришлось лопатить магазины почти всех стран мира. То есть это реальные цены, хоть и не в реальном времени.
Но если вам кажется этого мало, то в интерфейсе есть возможность конвертировать локальную цену по актуальному курсу в $/Euro/UAH. Цены есть для ~200 стран мира.
Можно сравнивать несколько стран.
Удивительное открытие, которое я обнаружил за время путешествий в мире, что большинство населения даже не тянет арифметику.
Наше простое дать монету в 2 евро, чтобы было проще дать бумажку в 10 и не считать какие-нибудь французы не тянут. Но поскольку страна побогаче, то там стоят специальные автоматы, которые собирают мелочь перед кассой.
В Тае мы как-то взяли чай на всю семью в фудкорте. Девочки очень старательно хлопали ресничками, потом собрались и вчетвером в течение 5 минут складывали цену 6 стаканов холодного чая. 2 было одного вкуса, 4 другого.
Но у такого наивного представления об арифметике есть и плюс. Причина, по которой в некоторых странах вас не обманывают, как туристов, в том, что местные не умеют быстро складывать. Те, кто умеет считать в уме, быстро догадываются, что туристы среднестатистически тоже слабы и за счет этого можно поживиться.
Мне не нравится обманывать людей, поэтому у меня много раз была ситуация, когда я просил пересчитать сдачу. И видел счастливые лица людей, когда они посчитали правильно и понимали, что дали мне лишние деньги, а я их возвращаю.
В твитере ситуация даже немного лучше, чем на рынке. В США куча процессов строится на том, что вы никогда не понимаете конечную цену. А сейчас еще и вводят ИИ-цены (хотя казалось бы какой нахер ИИ в обычном мухлеже), если вы покупаете чай в холодную погоду, то он обойдется дороже.
Правильный ответ 9, но больше 50% людей из 1.4 миллиона проголосовавших даже не смогли скопировать пример в ChatGPT.
Построить ленту твиттера оказываеться легко. За что вы деньги только берете, погромисты чертовы?! Вот же бесячие обманщики.
Уже бы собрались вместе и хотя бы научились делать автокомплиты.
Вайбкодинг — это новая уринотерапия
В macOS есть fseventsd. Это специальный демон, который отвечает за отслеживание изменений в файловой системе. Файл изменяется, но информацию об этом надо получить десятку служб: бэкапы, поиск, выкладка на iCloud. Вот такая архитектура, чтобы каждая служба не пыталась мониторить жесткий диск.
Но если вы вайбкодите фронтенд то у вас вполне может получиться какая-то ситуация когда этих файлов за минуту создается 100 тысяч и тут же они удаляются. Например при запуске тестов фронтенда и разворачиваете с нуля окружение. Еще ситуация, когда вы в Postgres вроде сделали таблицы, но по ним запускаете truncate, чтобы удалить тестовые записи.
Я попал в эту ситуацию при работе с одним проектом, и у меня начал греться ноут. Вроде делаю все нормально, но долго-долго висит процесс fseventsd и не прекращается спустя длительное время.
Что сделал я? У меня нет мысли о том, что я самый лучший специалист во всем мире благодаря тому, что я вставил себе в жопу растопырку с логотипом Claude. За столько лет работы я просто убежден, что в любом узком вопросе окажется какой-то охуенный специалист, что, чтобы понять которого, мне надо будет прослушать лекцию. Поэтому я не считаю, что проблема в macOS, а я где-то что-то не знал. Проеб в том, что плюс-минус 300к файлов за 10 минут. Понимая корневой характер проблемы, я проживаю эмоцию и с возгласом "ну надо же", иду и меняю все сомнительные места при запуске тестов. Лишние файлы не создаются, события не создаются, вентилятор перестает крутиться.
Что же делает вайбкодер?
Я сейчас смотрю на вайбкодерский репозиторий человека, у которого 10к коммитов за последний год. Который сделал специальный мутантский код, который надо устанавливать как скилл. Который добавляет хуки, которые мониторят и делают графики событий и убивают процесс шины событий через kill.
Это самая что ни на есть уринотерапия в мире айти. Разобраться в проблеме заняло бы у человека время, может даже час, может в два подхода. Но угашеный об дерево вайбкодер считает себя центром вселенной, а айтишников и программистов, даже тех, кто пишут операционки, тупыми. Скиллы, которые они даже не читают, вершиной автоматизации. И думают, что могут переломать через ногу законы физики.
Цена от такого взгляда на мир объективна. Придется купить новый ноутбук, проебутся проекты, сроки. Реальность всегда решает. Те, кто лечится мочей, быстро начинают плохо пахнуть.
Обновил операционку, а запуск @battlenet требует установки Rosetta, потому что @Blizzard_Ent так и не обновили лончер с Intel на Silicon.
Дорогая, Близзард! Возьмите меня на неделю на работу в компанию, я переведу Battle.net на Silicon и уволюсь.
Поздравьте, принял оффер.
Поиск работы занял приблизительно 20 дней. Я, правда, больше вайбкодил, чем ходил по собеседованиям. Продукт использует ИИ и современные подходы к разработке. Мне хотелось именно такого.
Я не писал, что ищу работу, потому что хотел прежде всего понять насколько ситуация такая, какая она есть, и прочувствовать на себе, какой он новый найм и новый рынок. Было несколько этапов, попросили навайбкодить, показал софтскиллы. Если кратко, то харды и софты.
Ближайшее время буду отдыхать перед новым проектом. Хочу немного прийти в себя и поиграть в Киберпанк 2077.
Как всегда открыт к дружбе, сотрудничеству и общению.
Важно: не приглашаю созерцать наступающую сингулярность, это мы будем делать вместе с женой.
Я: опубликую всратый советский анекдот, как внутряковая шутка для пары людей.
Вестерны: лайк, шер, алишер.
У игровой студии начали падать продажи.
Расстроился директор и поехал к консультанту по дайверсити.
— Помоги, игроки не приходят в наши игры играть
— А ты повесь над студией кружочек из бумаги с радужным флагом и добавь в игру небинарного персонажа, они сразу появятся.
Выпустили новую игру, а игроки не приходят. Снова приходит к консультанту:
— А ты повесь квадрат из бумаги с надписью «Black Lives Matter» и сделай всех NPC разных рас и гендеров, обязательно поможет. Обязательно пусть персонаж объяснит всем игрокам про правильные прононсы.
Новую игру выпустили, онлайн в стиме 0, 20 покупок и 200 рефандов. Только игровая пресса игру хвалит, но директор уже не пишет консультанту. Тот решил пойти проверить что и как.
Приходит, а там пиздец. Помещения пустые, мусор на полу, маркетинговые материалы просто кучами мусора навалены. Директор сидит бухой:
— Всё сдохло, ничего не помогло.
— Жаль, а у меня ещё столько идей было: обязательные квоты в команде, семинары по инклюзивности, гендерно-нейтральные диалоги и триггер-ворнинги перед каждым уровнем.
Взоржал в голос, аж хрюкнул
Replying to @mkashkin
Я как раз придумал механику для нового Масс Эффекта. Короче, во время сражения нужно проверить,, является ли вражеский моб небинарной персоной. Если нет - стреляешь. Если да, то оставляешь на конец боя, и вступаешь с ним в диалог, в ходе которого моб понимает, что ты хороший.
У игровой студии начали падать продажи.
Расстроился директор и поехал к консультанту по дайверсити.
— Помоги, игроки не приходят в наши игры играть
— А ты повесь над студией кружочек из бумаги с радужным флагом и добавь в игру небинарного персонажа, они сразу появятся.
Выпустили новую игру, а игроки не приходят. Снова приходит к консультанту:
— А ты повесь квадрат из бумаги с надписью «Black Lives Matter» и сделай всех NPC разных рас и гендеров, обязательно поможет. Обязательно пусть персонаж объяснит всем игрокам про правильные прононсы.
Новую игру выпустили, онлайн в стиме 0, 20 покупок и 200 рефандов. Только игровая пресса игру хвалит, но директор уже не пишет консультанту. Тот решил пойти проверить что и как.
Приходит, а там пиздец. Помещения пустые, мусор на полу, маркетинговые материалы просто кучами мусора навалены. Директор сидит бухой:
— Всё сдохло, ничего не помогло.
— Жаль, а у меня ещё столько идей было: обязательные квоты в команде, семинары по инклюзивности, гендерно-нейтральные диалоги и триггер-ворнинги перед каждым уровнем.














