Конец техноложества
December 07, 2024 . 8 минут на чтение статьиНикто не запомнил первого инженера, который переспал с новой технологией и получил оргазм. Может быть, он летел на первом в истории человечества самолёте и врезался в гору. Может быть, он добыл огонь и так засмотрелся на пламя, что был съеден львом.
Сейчас мы посмотрим, что же плохого в техноложестве, и как AI возвращает радость творчества.
В первую очередь, пост адресован тем, кто построил карьеру на хорошем знании деталей технологий: фреймворков, языков, стандартных приемов программирования и так далее.
💀💀💀 Техноложество 💀💀💀
В первый раз я услышал это слово от Димы Нестерука, поэтому здесь и далее буду считать его автором неологизма.
В разных странах по-разному относятся к мужеложеству — где-то запрещается его пропаганда (типа России в начале 20-х годов), где-то оно яро поддерживается (демократы США в начале 20-х).
В сфере информационных технологий и программирования техноложество стало профессией.
Как будто что-то плохое
Нет ничего плохого в том, чтобы любить разбираться в новых штуках. Новые фреймворки и языки — это блестяшки, красивые, интересные и манящие. На блестящие вещи залипают не только люди, а даже сороки. Кто мы такие, чтобы быть лучше птиц!
Проблема в том, что такой подход полностью отрывает разработчика от реальности.
Допустим, ты хотел делать игры. Интересные, красивые, наполненные мощным нарративом или хитроумным физическим моделированием. Сейчас, вместо игр ты пердолишь Unreal Engine и Unity. Ты пишешь посты в интернете о том, что TAA (temporal anti-aliasing), вкупе с DLSS и RT — это не рак, убивающий индустрию, а отличный способ экономить деньги на разработку 👍👍👍. Ты раскладываешь пасьянс из cpp-файлов на жестком диске, добиваясь максимального перформанса. Кто вообще придумал, что перформанс приложения должен зависеть от раскладки файлов?
Допустим, когда-то давно ты хотел делать веб-приложения. Сейчас, вместо веб-приложений ты занимаешься вопросами правильной настройки Spring Security в Java. Не то, чтобы кто-то знал, как это делать правильно. Не то, чтобы кому-то это было действительно нужно. Сейчас этот абзац читает куча народа, и никому из них не дело до Spring Security. Но ты заперся в своем виртуальном мирке, где этот вопрос действительно имеет первостепенное значение.
Завтра Java и Unreal могут исчезнуть.
Встреча с реальностью может быть жесткой.
Все, что тебе остается — надеяться, что на твою жизнь этих технологий хватит. Там жить-то осталось всего ничего.
Психология
Психология разработчика сильно отличается от обычных профессий. Если ты делаешь ремонты — на YouTube полно гайдов, как делать их хорошо. У врачей есть протоколы. У строителей есть готовые приемы и снипы. Классическая музыка — это вообще традиция.
Ты доехал до клиента, наклеил обои по гайду, в процессе получил что-то новое, получил денюжку — кайф.
Если ты работаешь в айтишке, можешь подтереться своими стандартами. Например, я делаю инструменты для разработчиков: большая часть задач начинается со слов "если это вообще возможно...". Никто в точности не знает, с какой производительностью заработает докер в докере в докере в докере, будет ли это работать хорошо, даст ли клиенту что-нибудь полезное. Чтобы узнать — нужно попробовать, пощупать результат вживую. А закоммититься на получение результата в конце квартала — нужно уже сейчас.
Жизнь разработчика — полосатая, но не как зебра. Черные полосы в десять раз шире. Она похожа на долину теней, в конце которой — яркий кратковременный миг просветления. И всё заново.
Ты увидел проблему. Ты работаешь над её решением. Что-то делаешь - не получается. И снова не получается. И снова.
И ТУТ КАК ПОЛУЧИЛОСЬ.
Просветление. Победа. Оргазм.
Наркомания
Сложно винить за то, что это вызывает в людях полу-наркотическую зависимость.
В игровых автоматах только 15% попыток приносят результат. Ты должен пробовать до 7 раз, прежде чем что-то получится. Для формирования прочной зависимости, необходима серия событий с непонятным, каждый раз изменяющимся количеством попыток.
В разработке количество неуспешных попыток — намного больше. Оно легко доходит до нескольких десятков. Мало кто выдерживает такой темп. Но если выдерживает...
Ты либо получил свою зависимость и стал разработчиком, либо оказался несовместим с концепцией непрерывных страданий и пошел из индустрии нахрен. Другие варианты в природе почти не встречаются.
Если ты был специалистом по деталям реализации технологий — у тебя возникает прочная зависимость от этих технологий. Как от наркотиков, только хуже.
Почему хуже? Потому что никто тебя не остановит. Употребление наркотиков — социально порицаемая практика. Проституция менее социально порицаема, хотя есть вопросики. Быть программистом — это как быть шлюхой-наркоманкой, только никто тебя не будет останавливать. Посмотри на свою зарплату, которой ты делишься с друзьями и родственниками. Вопросы отпали?
Зарплаты
Имхо, отсюда растут ноги у высоких зарплат синьоров.
Выучить JavaScript и стать Junior Node.js Developer — это не очень сложно. Выучить пачку библиотек — тоже.
Дальше придется пройти сквозь долгие годы непрерывных страданий, никаких не связанных с твоим техническим уровнем. Тебе не помжет выучить еще десять фреймворков и два языка программирования. Страдания — прямое следствие Пути Разработчика.
Тебе может помочь либо генетика (азарт, вызываемый аномально высоким количеством неуспешных повторений), либо бесконечное упорство и марафонская системность.
Об этом джунам рассказывать не положено. Демотивирует. Разбегутся. А нам ведь нужна свежая кровь, правда? Подумаешь, поработают три года и выгорят, как и все остальные до них. Так и живём.
Единственный способ сломать эту привычку
— сделать ненужной всю систему.
Проблема не в игроке, проблема в игре.
Быдлокодинг
Игра начинается с технологий, которые работают с двадцатого раза даже тогда, когда умеешь ими пользоваться. Они заставляют тратить годы на изучение и автоматически запускают цикл подкрепления с переменной вероятностью успеха.
Это не про "говнокодерские" языки типа JavaScript и PHP. Во "фрактале плохой архитектуры", PHP, очень даже можно писать код, который заработает с первого раза. Работать будет плохо — но запустится и веб-страничку покажет. К "традиционным" языкам типа Java и C++ это относится куда больше. В частности, C++ известен тем, что этот язык необходимо специально изучать годами.
Кажется, что это и должно называться "быдлокодерством". Но в мире Java и C++ это почему-то стало мерилом успеха.
Что, если вам больше не нужно этим занимться? Ничем из этого.
Тело
А ещё, игра начинается с человеческого тела и сознания. Тело подвержено эксплоитам типа азарта. Мозг стремительно забывает факты. Особенно те, для которых у него нет подвтерждений в ежедневной практике — а таких в программировании большинство. Тело стареет. Ясность сознания может колебаться от просветления до полной тупости в зависимости от времени дня и сезона года.
Человеческий мозг совсем не дружит со статистикой. У людей есть проблемы с "контр-интуитивной" квантовой механикой, хотя у квантовой механики с людьми никаких проблем нет. Люди не могут удержать в голове даже что-то настолько тривиальное, как теорема Байеса.
Человеческое тело не выдержит самого простого межзвёздного перелёта.
✨✨✨ AI ✨✨✨
Где нет таких проблем? Таких проблем нет у AI. AI — не человек, у него нет тела. Нет проблем с физиологической зависимостью от азарта и риска. Сознание AI напрямую основано на сложной матстатистике. Уже сейчас, в конце 2024 года, большие языковые модели знают таблицу умножения сильно лучше человека.
Вместо вас техноложеством может заняться AI.
Конец цикла
Классическая история использования технологии начинается в вопроса "как мне сделать X". Например, "как в Ruby on Rails добавить новую веб-страницу". С этим вопросом раньше мы шли в Google или Yandex, сейчас — в Perplexity.
Дальше оказывается, что решение из интернета работает не очень хорошо в рамках твоей задачи. Ты обдумываешь решение, ищешь в нем ключевые моменты. Все эти элементы изучаешь. В примере выше, нужно понять, как работает "Ruby on Rails", какая там схема расположения файлов на диске, как прописывать роуты до новых страниц, на каком языке разметки писать...
Проходит год-другой таких вопросов и таких ответов. И вот, ты — новоиспеченный специалист по технологии. Скорей всего, с уже сформировавшейся зависимостью: ты любишь Ruby, Ruby on Rails и в точности знаешь, как сделать в нем какие-то типовые вещи. А если попробовать двадцать раз — и не типовые тоже!
С нейронками всё немного по-другому. Ты идешь в ChatGPT / Claude, или Open WebUI / LM Studio, и спрашиваешь:
Напиши туториал, как взять типовое приложение на Ruby on Rails, и добавить новую страницу с нужными мне характеристиками. Характеристики перечислены ниже...
На выходе получаешь детальные инструкции, что нужно сделать. Выполняешь их, получаешь результат. Ты не знаешь Ruby on Rails, ты не знаешь как работает веб, тебе может быть неинтересно всё это. Но работающий результат у тебя есть.
Всё. Это конец цикла.
Это конец всей индустрии разработки, как мы ее знаем на начало 20-х годов. Не в том смысле, что нейронки начнут писать код лучше, сложнее и заменят людей. В том смысле, что психология разработчиков необратимо изменилась. Мы больше не живём в казино новых технологий, и не обязаны спать с ними за деньги.
Конец техноложества
Сейчас самое лучшее время, чтобы в это вкатиться. AI ещё не "победил" человека. Нейронки (пока что) не решют задачи, сформулированные на уровне высокоуровневых смыслов. Ты как человек и есть задача. Ты все еще ценен как специалист и как член общества.
Да, огромные части сообщества разработчиков специализировались на техноложестве. Их основной источник заработка — знать детали и особенности сложных механизмов. Им придется плохо, апгрейд до следующего уровня — это больно. Любая радикальная смена деятельности в возрасте 40+ — это больно.
Тем не менее, если хотелось яблок, а жизнь дала апельсины — давайте выжмем из них побольше апельсинового сока. Ты всё ещё можешь успеть что-то сделать самостоятельно, прежде чем наступит сингулярность.
Нейронки — это лучшее, что случилось со мной за последнее время. Ты можешь перестать заботиться о трендах, учить новые языки и фреймворки, и делать то, что всегда хотелось. Написать игру, запилить стартап, открыть бизнес. Что угодно! Самостоятельно. Сейчас.
Не знаю как вы, а я заканчиваю эту статью, и пойду сделаю чего-нибудь полезное...
Не забывайте подписаться на наши ресурсы, там есть ништяки:
- Откровения от Олега - Telegram-канал автора этого гайда
- Оправдания от Олега - Telegram-чат
- 1red2black - Youtube-канал
- Telegram-канал Failover Bar - единственный в Санкт-Петербурге (а может, и в России вообще) бар для разработчиков. Мы здесь постоянно встречаемся и разговариваем про Java.