Latest / // TODO: Переписать — IT без бигтеха и успешного успеха / // TODO: Читать код
Transcript
- Artem: я практически код не читаю. если я не буду так делать, то меня, скорее всего, бизнес просто уволит. Alex: сейчас конечно же никто руками код не пишет, но может где-то и пишут, но в современных компаниях уже никто здесь естественно давно не пишет, Artem: сейчас pull requests, они выглядят типа там от 50 до 100 файлов поменено в каждом pull Alex: Ну да. Artem: request скоро ты код читать не будешь. когда... Alex: Но я до последнего сопротивляюсь. Artem: Всем привет, С вами снова подкаст «Туду переписать» и его ведущая Александр Ляпин и Артём Самойлов. И сегодня у Alex: Всем привет! Artem: нас будет довольно интересный, как мне кажется, потому что мы собираемся сделать некое дополнение к нашему прошлому выпуску про «И». Там мы обсуждали, собственно, новые подходы, то, как «И» меняет текущую разработку. В этом выпуске мы хотим обсудить всё-таки, что происходит вот прямо сейчас. Потому что, опять же, мы с Алексом постоянно обсуждаем это в голосовых сообщениях в Telegram, и у нас сформировалось, по сути, два подхода, которые мы хотим сегодня и обсудить. Какие это два подхода? И вообще, что... Какой, главный вопрос, который мы хотим сами себе задать и на который хотим... в целом ответить по мере текущего выпуска. Это что такое читать код в 2026 году? То есть это профессиональная гигиена или все-таки это какая-то вот роскошь, которую уже позволяют себе не все компании? Почему такой вопрос? Просто потому, что сейчас по факту я работаю на новой работе, вот уже практически два месяца, и это стартап. Это довольно большой стартап, который уже прибыльный, но тем не менее это стартап. И по факту я сейчас занимаюсь единолично всем, что связано с поиском. То есть вот у нас компания, есть поиск, векторный поиск, есть OpenSearch технология. И вот все, что связано с работой с OpenSearch и с построением какого-то вот фрапера вокруг него, это вот все лежит на одном человеке. на мне. И так как это стартап, бизнес от тебя, естественно, требует просто постоянно каких-то новых фич, новых фиксов, существующих багов. То есть это просто каждый день. Ты заходишь в слаг, дальше просто смотришь, что тебя там тегуют с одной проблемой, с другой проблемой, третьей, когда вот эта фича будет, когда вот та фича будет. И это просто невозможно. То есть это настолько большой объем работы, который делает всего один человек, но приходится выполнять, потому что по сути у тебя есть нейронка и сейчас ты в принципе этот объем работы можешь делать. Другое дело, что мы находимся еще в такой перестраивающейся стадии. Так вот, я просто обратил внимание на свою работу и понял, что на данный момент я практически код не читаю. То есть вот то, что мне генерирует нейронка... я практически, ну вот, 100 % там принимаю это все. И, казалось бы, это очень плохое решение по многим вопросам, по многим причинам. Но ситуация такая, что если я не буду так делать, то меня, скорее всего, бизнес просто уволит. Потому что если я буду париться насчет кода, сидеть и как бы вот вчитываться там, условно, в каждую строчку и все проверять, моя продуктивность, она снизится вот в разы. Сейчас стартапу это просто не нужно. И понятно, что есть определенные минусы в связи с этим, и как раз это хотим обсудить. Но у Алекса подход абсолютно другой, и компания, в которой он работает, как будто бы вот сфокусирована на качестве кода. И насколько я, опять же, понимаю, раньше у тебя было как будто бы меньше задач по объему. И сейчас этот объем растет. И, ты уже как бы стал замечать, что читать там каждую строчку — это как будто бы сложновато. Вот мне интересен твой подход просто, чтобы ты рассказал в целом, как ты именно работаешь. Просто, да, расскажи, как оно есть. Alex: Да, у нас аутсордстная компания, да. меня подход, действительно, про чтение кода. И в принципе у хорошая такая достаточно хорошая инженерная культура, я бы сказал. Вот и качество кода хорошее и... Ну, в общем, стараемся следовать лучшим практикам. Но проектов сейчас действительно становятся... больше, но потому что не так давно работаю в компании, естественно, наверное был некий период такого бортинга, но я чувствую и скорее всего это будет со 100 % вероятности зона ответственности будет расширяться, соответственно, наверное, продолжать как-то супер вчитываться в каждую строчку будет challenging, тем не менее Я думаю, в какой-то большей степени это будет возможно, потому что у нас есть хорошая такая вот обвязка, хорошая... ну скажем так, некие паттерны общие, устоявшиеся с помощью которых мы разрабатываем проекты, поэтому в принципе если это ядро знать и разбираться в этом, да, скажем так, то можно будет в какой-то большей части читать именно код, но меня подход именно, да, что я не могу там на 100 % все это отдать нейронке Я читаю, ну если не полностью там все пьеры, которые она делает, то по крайней мере какой-то core-частью всегда читаю. Ну понятно дело, что есть какие-то части, допустим, скажем так вот, обвязки структуры, которая я еще там не до конца прям так разобрался, но... большую часть уже понимаю разбираюсь вот довольно глубоко естественно ну вот такой подход при этом какие-то Artem: Слушай, мне особенно нравится, что у нас сейчас разговор идет про то, что мы именно код сами руками вообще не пишем, принципе. То есть просто нейронка Alex: Угу. Artem: пишет код всегда, теперь. И вот мы просто именно обсуждаем, что Alex: аааа Artem: мы смотрим или не смотрим, да, не проверяем, не проверяем. Alex: Да, да, то есть да, сейчас конечно же никто руками код не пишет, но может где-то и пишут, но в современных компаниях уже никто здесь естественно давно не пишет, с тех пор как вышли все эти агенты, да, соответственно, ну ты просто да не будешь успевать и по сути, ну лично мне кажется, по крайней мере в своей практике, что сейчас ты должен... как бы держать такой баланс, то есть и качество кода. Ну, понятное дело, что есть компания, где вообще пофиг на качество кода. Там лишь бы оно просто завелось, лишь бы тесты прошли, а что там под капотом, абсолютно пофиг. Я как бы работал в такой компании. И это было ну как бы не кайф вообще. Вот. Тоже там больше уделял внимание бизнесу каким-то вещам, да. То есть верхний уровень осмотрел их раз таки через нейронку, через агентов. Вот что оно мне там ответит, вот я как бы доверяю. Ну просто потому что по-другому было сложно. То есть там много всего, скажем так, тоже много бизнес задач, что надо было делать. И не было просто времени на это. Вот. Мне кажется, что зависит действительно от компании, где ты работаешь. Если там компания... еще пытается сохранить, скажем так, какой-то хороший код, качество кода там, какие-то лучшие практики там, такое, делает ревью, бы старается, можно меньше тех долг оставлять, там и все такое, это как бы хорошо, наверное. Ну, для меня было бы хорошо это. А если... это все оголопом по Европам и пофиг там стартапы какие-то продукты однодневные и все такое, то не знаю, мне бы там не очень хотелось работать на самом деле. Artem: Слушай, ну это же как раз такая тема, знаешь, для дебатов, типа вот, я постоянно слышу, раньше всегда говорили, что вот, вы там пишете на Python, а на Python это ну это что, вот на три месяца там MVP запилить и все, и типа дальше там вы будете переделывать какой-то нормальный язык, там на Java, например, на не знаю, там C-sharp или еще на какую-нибудь херню. Ну то есть просто все время говорили про это, да, то есть что Python это ну так, скриптовый язык, ну что с ним взять. Alex: Ну, мне кажется, так говорят люди, Artem: И здесь как будто бы то же самое. Alex: которые просто не понимают, что они говорят. Artem: Ну это... это безусловно, Alex: И как бы они... Ну, это всё равно, что там, я не знаю, скажу JavaScript плохой язык или там, скажу, что Java плохой язык. То есть, каждого языка как бы своё назначение, своя глубина, своя вообще целая экосистема, история и так далее. И как бы огульно так говорить, что Python это G. Ну, как бы люди, кажется, просто недалёки. Ну, это как бы моё мнение. Вот. Artem: Я согласен, но я тут больше про то, что сама тема здесь для дебатов, потому что как будто бы похожая ситуация с тем, что ты описал. Alex: Ну, понимаешь, мне кажется, что мы, по крайней мере, разработчики не совсем в том положении, чтобы выбирать. То есть индустрия сильно меняется, требования, запросы бизнеса тоже сильно меняются, и ты находишься в этом потоке, ты находишься в этой волне, и соответственно ты не можешь что-то там... Ну, на каком-то микроуровне ты, может быть, и можешь... протестовать, что-то говорить, как-то вызывать к чему-то. Но глобально, с такого макроскопического уровня, вот куда это всё пойдёт, туда тебя и понесёт. И, соответственно, у тебя есть выбор либо отказываться от этого, и тогда с риском, я не знаю, что ты просто не впишешься в новую, скажем так, парадигму, либо подстраиваться просто. Artem: Ну, смотри, опять же, опять же давай возьмём техническую сторону вопроса. Многие люди говорят про то, что, ну, я, наверное, был в их числе, что сейчас вы пользуетесь там нейронками, условно там занимаетесь вайп-кодингом, а дальше-то что? Ну, дальше это всё развалится, конечно, в какой-то момент. Дальше там всё точно, 100 % пойдёт по одному месту. развалится, да, сейчас там в стартапах это, наверное, окей, а потом надо будет все, конечно, переделывать, там, нанимать разработчиков хороших, чтобы они все ручками там переписывали. Ну, ты же понимаешь, что это утопия. То есть сейчас уже как будто бы доказано, что, ну, на примерах, ничего не разваливается. Оно работает, в принципе. Если у тебя как бы компания не rocket science делает, и ты не связан там с какой-то, знаешь, там, медициной, либо чем-то еще, что, по сути, может как-то влиять на здоровье человека, может там убить тебя и так далее. то мы там G-Sony перекладываем условно. Alex: Ну не знаю, это опять-таки такой стереотип, но опять-таки это чисто мое мнение, бы мое МХО. Я много слышал про это, как бы и дебаты, естественно, тоже гуляют по интернету, я бы тоже все это видел, читал. Тут не то чтобы Rocket Science, но я не согласен, что это должен быть обязательно Rocket Science. Я думаю, что маломальский нормальный большой проект, с какой-то сложной бизнес-логикой, если сложной вообще, ну... какой-то доменной логик, какие-то сложные расчеты, обсчеты, там всё такое. как бы... Я думаю, уже на этом уровне вряд ли какой-то вайп-кодинг без понимания вообще того, что там под капотом происходит, прокатит. Вот. Artem: Так, смотри, а где тогда эта грань? Вот что такое понимание того, что там происходит? Вот, например, опять же, в моем случае я знаю, что там происходит, но я знаю, не там каждую строчку я этот код практически не читал, но я знаю просто по определенным паттернам, по тому, какие там слои есть, по тому, ну, какой ресурс я там делал, опять же, с помощью нейрону, потому что код очень большой. То есть я знаю, что происходит в коде, я знаю, как это устроено. И этого достаточно для того, чтобы, в принципе, как бы, всем руководить. Alex: Слушай, ну если ты как бы не запутываешься...как сказать... Ну, короче, тут тоже на самом деле можно задавать вопросы. То есть, что значит хорошо работает, по каким метрикам это хорошо работает, насколько это эффективно работает. Ну, ты можешь как-то численно хотя бы там качественно объяснить там, я не знаю, там latency, нелатенси, что там еще, какое там количество запросов там у тебя базу уходит, если там n плюс один, там и все такое. То есть, как бы... если там у тебя все окей, ну зависит от SLI конечно кому-то вообще пофиг, реальностью бизнесу пофиг, хоть ты там сотку запросов базу долби на одной ручке, то тут зависит мне кажется зависит от того насколько требования вообще ну компания есть к производительности там и так далее Artem: Слушай, ну ты же не AWS делаешь, чтобы у тебя там был SLA-99, 99 и вот ты сидел и обеспечивал это все. Ну это во-первых. А во-вторых, ну по поводу metric, естественно, это все есть, и бизнес был бы недоволен, если бы были какие-то проблемы. Мой take в этом. То смотри, опять же, ты со стороны юзера заходишь там и пользуешься нашими приложениями. Ну если у тебя как бы все работает, то все работает хорошо. Это признак того, что продукт, ну как бы, рабочий и в принципе, всё с ним нормально. Ну, мне кажется, да. Alex: У меня есть... Ну, главный, короче, скепсис, в чём заключается, что... в принципе, принципе, наверное, в какой-то несложной системе есть как-то научить нейронку, она, наверное, будет плюс-минус там что-то правдоподобное делать. Соответственно, мой скепсис заключается в том, до какого времени, ну то есть не 100 % то, что ты там даёшь нейронке, она 100 % прямо так всё сделает хорошо. Особенно там учитывая, что там деградации моделей есть, там регрессии всякие и так далее. есть она тебе... Output она тебе сделает, что я все сделал супер, там все по солиду, по паттернам, там все идеально, супер-пупер, короче. Ты ей поверишь, как бы, не смотря в код, а если ты посмотришь в код, бы, ну... Там не так все супер-хорошо. И... Artem: А там не по сходу, какой ужас. Alex: И куча там исправлений, да. скажем так, какого до коля ты сможешь так полагаясь чисто на нейронку делать. Опять-таки, мне кажется, зависит от сложности Artem: Но как будто бы... Alex: системы. Мне кажется, зависит. Вот. И в какой-то момент, ну чисто мое мнение, в какой-то момент, может просто стать каким-то сложным и чем-то и неподдерживаемым. Если там что-то нейронку запнется, запутается там, не туда пойдет. там навернёт короче друг на друга что-то. Ну вот ты пойдёшь как бы разбираться и удачи тебе с разбором. Artem: Слушай, ну окей, окей, но мне кажется, что нейронка в контекст может загрузить гораздо больше информации, чем ты как разработчик можешь загрузить. есть, ну вот, единовременно в контекст она может загрузить гораздо больше всего. Alex: Ну, это знаешь как вот, да, она типа может промолотить большее количество информации, чем ты. Ну там условно это как, да, она допустим файлом прочитает быстрее тебя, но знает ли она, что именно сейчас нужно и в какую сторону пойти. Artem: Так вот ты и дополняешь, а код-то тебе зачем для этого нужен? Alex: Ну, так если ты дополняешь, ты... Artem: Ну ты прям пишешь нейронки типа вот, сходи, посмотри на вот этот вот класс, посмотри, что у него Alex: Да. Artem: там есть какой-нибудь там, не знаю, метод вот этот вот и Alex: Да конечно. Artem: добавь мне в этот метод там что-то, короче, не знаю, чтобы он возвращал там что-то. Alex: Ну, у меня, допустим, был кейс, ну, я как бы не знаю, это вроде бы был еще опус 4.8, я на пятых тогда не пересаживался, меня он там создал клиент на каждый запрос, создал клиента на каждый запрос, хотя я там все в промте хорошо там писал. Вот. Он никак бы не переиспользовал соединение, он создал клиент на каждый запрос. Вот частный пример. Artem: Это же тестом можно поймать. Alex: Ну и тестами можно поймать. Он то поймет, Artem: Ну вот, а зачем тебе тогда самому читать? Alex: он тестами допустим поймает, а дальше что? Он сейчас просит что делать. Artem: Ну и исправит. Ну ты и скажешь, ну переделай. Ну он тебя даже не спросит, кстати. Он просто сам поймёт, что тест упал и всё. Ну как бы если тебя там когда создаётся куча клиентов, а у тебя должен быть такой, типа ну сингл тон паттерн какой-то, то ну соответственно ты просто ну написал этот тест. Опять же Ниронка там написала когда-то. Или ты там сам написал этот тест. И дальше у тебя ну как бы этот тест он распространяется на всё, что ты делаешь. Alex: Ну, аааа Можно, конечно, записать всякие CloudMD, всякие тесты, там Гарды, 5-я, 10-я Наверное, это будет хорошо, лучше, чем ничего Но опять-таки зависит от сложности системы Лично мне это кажется на данном этапе Что зависит от сложности системы, от требований Даже если ты даешь какой-то референс на ей проект Ну она в принципе, допустим, нормально сделает, плюс-минус Но опять-таки там можно улучшать и улучшать То есть... Artem: Ну, смотри, я тебе так скажу, как человек, который типа а-ля там не читает код условно, который сейчас генерируется, естественно, это может звучать ну, очень плохо, да, типа я тут сижу инженер и не читаю там код, который пишет Neuronka, но по факту для того, чтобы достичь, такой возможности, я построил как бы систему, которая позволяет мне это делать, то есть у меня есть различного рода pipeline, которые друг за другом просто вот все проверяют. И что самое интересное, да, вот, собственно, все, как ты описал, то есть сначала нейронка делает какую-то задачу, которую ты дал, дальше пишет, молодец, вообще все классно, сделано, все, естественно, там учтено, все хорошо. Окей, я мог бы там пойти и сам почитать этот код, да, потратить время там, почитать строчку за строчкой и сказать... Слушай, так оказывается вот здесь вот ты же неправильно сделал, вот здесь неправильно сделал. Но сколько опять же времени опять у меня займет? Чтобы мне этого не делать, у меня есть pipeline, который проверяет за нейронкой все, что происходит дальше. Есть wall harness, которые у нас проверяют качество. есть у нас важно вот именно в нашем проекте с поиском. У нас важно, чтобы ничего там никуда не двигалось, если мы этого не хотим. Вот в плане... реранкинга и так далее, есть результатов, которые мы получаем от поиска. Вот, и все это как раз обеспечивается за счет EvalHarness существующих, за счет тестов. Плюс, опять же, pipeline из Neuron, которые друг за другом с разных сторон проверяют все. И этот pipeline работает достаточно хорошо. Вот как раз совсем недавно был довольно тяжелый случай, потому что нужно было ревью сразу три. они были связаны и их не я делал. То есть был другой человек, который создал эти три pull requests и они очень важны, потому что если они пойдут в production и что-то пойдет не так, то скорее всего будут проблемы. Вот, поэтому было несколько раундов и вот первый раунд, который собственно все проверял, он нашел достаточно много блокеров и казалось бы, ну вот окей, типа найдено много блокеров, нужно все пофиксить, все пофиксили. Есть ли смысл запускать второй раунд, если мы все пофиксили вот эти блокеры? Ну, как будто бы да. То есть пока ты фиксишь там блокеры, могут появиться другие. Ну, нейронки как бы запросто бывает. Да ты и сам, кстати, как человек, ты можешь вполне себе с такой ситуацией столкнуться, когда ты что-то сам фиксишь руками, ломаешь что-то другое. То есть ты можешь тоже на это попасться. И, собственно, Я говорю про то, что ну как будто бы надо запускать вот pipeline из нескольких раундов. Да, это там будет жрать токены. Alex: Ну конечно, конечно, надо запускать pipeline, я тоже несколькими нейроночками, все это review, там и скилы есть ответствующие, вот и так далее. Artem: Угу. Alex: Несколько субагентов там проверяют на один аспект, на другой аспект, там и так далее. Потом там все это воедино сводится, это конечно нужно делать естественно, вот, потому что нейронка может уйти то, чего ты не увидишь. Но, тем Artem: Так. Alex: не менее, мне кажется, что здесь наилучший вариант — это, конечно же, комбинация. То есть, да, ты там мальтипаст такой делаешь, нейроночный, аишный, вот. Но как бы это все равно не значит, что человек не должен смотреть это. Но это бред, это абсолютный бред, что если не... Ну, это абсолютное бредятина, что если несколько нейронок просмотрели, то ты там, а, окей, как бы запушили. Ну, так-то... Artem: Ну окей, а вот ты посмотрел и ничего не нашел, например. Ну типа все выглядит хорошо. А ты уверен, что вот ты посмотрел и все реально хорошо? Что ты че-то не пропустил? Alex: но человеческий фактор конечно же тоже есть, но если человека вообще не будет в этом вайплайне, то, так сказать, это это конечно вообще очень ненадежная, нестабильная штука. Artem: Так вот понимаешь, чём странность-то? Что ты как человек... понятно, что... Alex: Так а если ты посмотрел к человеку, увидел что там отстойно все это написано, ну типа вообще не так, че тогда? Artem: Не, это безусловно. Да, вот если ты как человек посмотрел и нашел проблему, окей, хорошо, молодец, здорово, есть фактор сработал. Ну а если ты посмотрел и ничего не нашел? Alex: Ну вот. Так я не вижу причины, члеча человеческий фактор тогда. Я же говорю, я за комбинацию. Конечно же, должна быть комбинация. Human Factor, reviewer обязательно должен быть. Artem: Не, при... Окей, смотри, при здравом раскладе, да, я тоже за комбинацию, но вопрос возникает в том, когда человек должен смотреть, после там, не знаю, скольких раундов после нейронки ты должен смотреть, когда включаться, потому что у тебя ограниченное количество времени. И второй момент заключается в том, что ты как человек можешь сделать ошибку. Ты как человек — не последняя, знаешь, вот инстанция, которая типа знает всё лучше всех. Alex: Ну так, Artem: может быть такое, что нейронка знает лучше тебя. Alex: это может быть такое, да, но может быть и наоборот. Поэтому ты общаешься Artem: Угу. Alex: с нейронкой, говоришь свой промд, свой дес, и она... Если не соглашается, ты читаешь, почему, перезвешиваешь. Это же диалог человека и нейронки. Artem: Диалог, да. Есть такое. Alex: Вот, соответственно, как бы... Ну, короче, я ни в случае не говорю, что там человек видит лучше, знает больше, так сказать, чем АИшка. Я думаю, что АИшка — просто как бы дополнение. Но это не значит, что ты не должен читать... Ну, как бы у меня лично подход сейчас такой, что я стараюсь понять суть. Стараюсь понять суть, что мы делаем. Я так Artem: Вот. Alex: сказать, так сказать, логику, там, допустим, обвязки. логику каркаса Artem: Угу. Alex: то есть почему именно так какая последовательность действий, условности сервера запускается цепочка последовательность всяких там инициализации контейнеров там 5-10 то есть я думаю что если ты понимаешь как бы суть то в принципе ну как бы направление суть да короче направление суть то у тебя уже есть архитектурное видение правильно. Ну там плюс-минус, если что-то не, так сказать, в пределах этого, ну скажем так, архитектуры коридора, что-то не так будет, это поправить легче, чем если это совсем архитектурно неправильно. Ну тогда будут уже Artem: Согласен. Alex: проблемы большие. есть цена архи... Да, то есть цена архитектурной Artem: Ну вот здесь мы как раз и сходимся по факту. То есть что... Alex: ошибки, конечно же, она гораздо больше, чем цена какой-то мелкой... Там ошибки Artem: Но для этого тебе не надо читать Alex: Вот. Artem: каждую строчку кода. Alex: но скажем так может быть каждую и не надо читать но по крайней мере ну вообще же есть какие-то переиспользуемые штуки и даже я бы сказал их очень много то есть все же плюс-минус там есть паттерны что-то повторяется какая-то логика переиспользуется то есть я допустим-то могу скажем так, какие-нибудь чеки пайплайные там, что там всякие гитхаб чеки, нечеки там скажем так, сиайки там, я могу просто на модуль смотреть и ну моментально, есть по сути даже не то чтобы скипать, а я просто смотрю по блокам, что оно похоже, что оно понятно оно так и было или там по диффам можно смотреть, с существующим каким-то референсом, проектом ты как бы понимаешь, что тут не надо вчитываться в каждую строчку, то есть естественно это не значит, ты там ну типа там 5 секунд читаешь какую-то строчку. Бывает, что ты просто весь модуль сразу понимаешь, что здесь все окей, да, даже вот так вот. Но какие-то сложные вещи там... короче, да, мой тейк том, что нужно как бы понимать суть, нужно понимать суть там обвязки, суть вообще логики, которая происходит, что откуда и куда. Вот, и как бы там нейроночку спрашивать, то есть чтобы оно... как бы усиливала, скажем так, вот, диалог постоянно... да, я постоянно общаюсь с нейронкой, там, с одной, другой, там, там, чтобы докопаться до сути, понять вообще, как оно работает по-настоящему, типа, А потом какие-то вещи, Artem: Да. У меня точно так же. Alex: какие-то вещи, конечно, потом можно просто уже на автоматику отдать, как бы, вот, и... Artem: Ну смотри, я думаю, окей, мы тут сходимся, единственное, наверное, различие заключается в том, что всё равно ты стараешься больше смотреть всё-таки низкоуровнево, если пропитанно, можно так сказать. Вот, а я больше смотрю, наверное, больше высокоуровнево, то есть я не смотрю там, не слежу какой там класс создан и так далее там. Alex: Ой, пропитон можно отлично, низкий уровень его прямо посмотреть. Залезть там в какое-нибудь Artem: Ну типа да. Вот, ну короче. Alex: это, Artem: Вот, и короче, то есть я для себя понял, что, ну естественно, диалог с нейронкой это 100 % нужная вещь. То есть если ты постоянно делаешь какие-то фичи, там фиксишь баги, то я хочу понимать, что происходит там, что этот баг делает, какой импакт он дает на бизнес. И как бы у нас, что интересно, то есть я могу сразу видеть этот импакт в цифрах. потому что, опять же, есть доступ в OpenSearch, и, соответственно, я могу просто там калькуляциями посмотреть, как это отражается, там тот или иной баг, как это будет выглядеть. Вот, это очень удобно, то есть ты сразу видишь, как это может влиять на бизнес. Это прикольно. Вот, но вообще, в целом, да, идея заключается в том, естественно общаться с нейронкой и понимать, как в целом всё устроено. То есть если ты делаешь какую-то фичу, то нужно понимать, как примерно это будет работать. как это будет работать именно с точки зрения бизнеса, как это будет работать на уровне кода, но не то, что там каждая строчка и каждый класс объясняется, а просто верхний уровень понимания того, как это устроено. И я вот думаю, окей, убрать у меня там нейронку, что со мной будет? Ну, будет грустно, да, скорость, естественно, снизится в разы, но я просто пойду читать код. Ну, буду так же, как раньше, сидеть, читать код и разбираться. Alex: Ну я думаю что раз пять точно снизится скорость у всех. Artem: Да, да. Я думаю, даже больше, скорее всего. И бизнес, что самое интересное, пострадает как бы очень сильно, потому что сейчас... Alex: А еще как постоянно. Artem: Да, сейчас вот мы привыкли к этим скоростям, Alex: Еще как. Artem: и они очень высокие. То есть вот эти скорости, они супер высокие. И, честно говоря, поддерживать вот этот вот темп, который сейчас есть, очень тяжело. Очень тяжело. Но по-другому просто никак. Это вот текущая реальность. которые мы как разработчики должны просто смириться. Сейчас, да, у нас есть там нейронка, но из-за нейронки мы гораздо больше делаем, гораздо больше думаем, как это не странно звучит, да, то есть мы там, может быть, не читаем код так, раньше и не пишем код самостоятельно, но мы гораздо больше делаем фич, гораздо больше, как это сказать, в общем, больше асинхронной работы над разными задачами происходит. И это не совсем прям хорошо, то голова порой хочет взорваться. Alex: как-то читаешь, кладешь язык, сходишь на... Artem: Кладешь, да-да. Alex: сходишь на English. Ну да, кода читать... код читать вообще очень много стало. Согласен. Не знаю, раньше, по-моему, так столько кода не читал, сколько сейчас... что она генерится, всё, да? Artem: 100 % я не представляю, сейчас, слушай, сейчас pull requests, они выглядят типа там от 50 до 100 файлов поменено в каждом pull Alex: Ну да. Artem: request и это просто жесть, ну вот ты сам когда ручками писал, ну такого ж не было Alex: Естественно не было такого. Сейчас среди наверное Artem: А почему сейчас есть? Alex: какой-нибудь две-три-четыре тысячи строк пьерка. Artem: Да, минимум. Ну вот да, текущая реальность. Ещё здесь важно проговорить про разницу, опять же, в подходе компании. То есть мы с Алексом строились по сути на наши работы в примерно одинаковое время. И было довольно забавно смотреть за тем, как Алекс на своей работе растёт, и как я на своей новой работе расту. То есть у нас вот, опять же, противоположны абсолютно компании, где в моей компании главное, чтобы ты... делал фичи и фиксил баги ну и как бы в целом там за все отвечал чтобы все хорошо работало чтобы там пользователи были счастливы, чтобы поиск работал быстро и так далее вот как ты это будешь делать это вообще без разницы хочешь там с нейронкой хочешь без нейронки но по факту без нейронки ты ну просто невозможно держать этот темп вообще никак вот вообще никак и и Alex: что бы без шансов. Artem: невозможно читать даже вот то что она делает невозможно читать вообще никак потому что ты в день делаешь просто по дохеряще pull requests и это как бы не самая даже главная часть, вот что ты... Alex: Не, ну в принципе если дробить и на комитике плюс-минус там читаемые какие-то пиарочки там ну пиарочек там какой-нибудь большой Artem: До на! Alex: может комитики там на комитике дробить. Но и то, и то да. Artem: Ну, у тебя как-нибудь сложность тогда вырастет, еще и в комитах, потому что чем больше, не в комитах, а в полуреквестах, чем больше у полуреквестов, тем больше у тебя разных таких задач, которые ты должен думать каждый раз. И это тоже напрягает, потому что вот с одной стороны, типа это хорошо, что ты разбиваешь на мелкие задачи, но с другой стороны, это плохо, потому что это как история с микросервисами, когда у тебя там, не знаю, там три микросервиса, это окей, а потом у тебя их тысяча становится и как бы уже... как-то не очень весело. Вот, мне кажется, то же самое. Короче, как будто бы здесь нет правильного варианта ответа, это просто вот реальность, какая она есть. И у тебя в компании сейчас, по сути, ну вот на той должности, где ты находишься, ты можешь там себе позволить заниматься больше кодом, что, наверное, хорошо. Вот, а у меня в такой возможности нету вообще. То есть, я бы, может быть, хотел погружаться в код больше. но я просто понимаю, что это физически невозможно, к сожалению. Может быть, у меня будет больше времени, если к там кого-то еще наймут, хотя я думаю, вряд ли. Ну вот я Alex: Расширяйте команду. Расширяйте команду. Artem: думаю, окей, даже, слушай, даже если мы расширимся, вот я сейчас думаю, ничего по факту не поменяется, просто будет больше фич. И у тебя еще надо будет, у тебя будет нагрузка дополнительная на то, там руководить командой. Alex: Ну, наверное, да, тут один человек делает один X, а два человека будут два X делать. Нагрузка не упадет, просто бизнес больше захочет и больше скинет на двух человек с нейрончиками. Artem: Да, да, да. Alex: Ну, скорее всего, так и будет, да. Но это, конечно, жесть. Что-то можно сказать. Artem: Но я могу сказать, Alex: Ааааа Artem: вот что, мне моя работа нравится. Вот и если как бы говорить честно, то мне нравится. То есть очень много всего. Alex: Ну, меня тоже, но я не знаю, вот на самом деле опасения есть, если темп возрастет и зона ответственности увеличится, то скорее всего, придется меньше возиться с кодом, так сказать, ну, Artem: И больше с Клодом. Alex: с кодом оно постоянно, но Artem: Да. Alex: придется больше, наверное, как-то, да, типа бизнесового, архитектурного, думаю, все такое. Artem: Да, да. По факту сейчас... Ну вот, да, я там в команде занимаюсь... Ну, есть еще один человек, который у нас тоже занимается поиском, но он скорее как дополнение, то есть не основной, знаешь, член команды, чтобы вот именно разрабатывать поиск. То есть он может где-то в другом проекте что-то делать, в другом репозитории. Вот, что-то может в этом. И по факту вот, да, сейчас я один человек, и мне кажется, эта ситуация, такой будет... довольно продолжительное время и скорее всего во многих компаниях, которые сейчас существуют ситуация она достаточно похожа то есть ты там допустим один или два разработчика и ты делаешь там огромный проект Alex: Ну да, такие микрокоманды. Микрокоманды. Ну вот сейчас у меня тоже полный цикл, так сказать, ну с систем дизайна начинаю, заканчиваю, полный там реализации, выкатки там, по большей части. есть уже, да, уже все пошло, поехало полностью сам за крупную фичу, крупный, скажем так, проект отвечаешь. Вот. Дальше больше, мне кажется, Artem: Ну да, мне кажется, дальше будет ещё больше, действительно. Пока непонятно, это вообще закончится или нет, но мне кажется, что нет. То есть, скорее всего, вот то, то, что было раньше, до появления нейронок, про это можно уже вообще забыть. И по факту тебе нужно будет переучиваться. Вот, не знаешь, мне интересно особенно, ну, вот люди, которые сейчас хотят войти в разработку. Вот. Как им надо учиться? Вот чтобы сразу войти там в бизнес, да, условно, ну вот, в то, что происходит, и понимать, как бизнес работает сейчас, какие вообще задачи ты будешь выполнять. Alex: Ой, ну не знаю, это надо у рынка спрашивать. Artem: Ну, кстати, кстати, спойлер, спойлер. У нас будет выпуск подкаста с Костем, который как раз сейчас хочет войти в IT. И такой небольшой, опять же, спойлер. Он учится по старинному такому образу, то есть самостоятельно пишет код руками. Всё, естественно, само изучает. И мне кажется, что для начала это как будто бы такой подход правильный. Вот, но работать-то он будет с нейронками постоянно. И вот здесь вот возникает диссонанс. Но об этом, опять же, мы поговорим на следующем подкасте, следующем выпуске. Не знаю, когда он выйдет. Может быть, будет прям следующий выпуск за этим. Может быть, когда-то через несколько. Но такой выпуск точно будет. И я думаю, что это будет очень интересно. Вот. Чё думаешь, Алекс, вообще в целом вот по поводу, знаешь, разницы в... компаниях и вот насколько, как тебе кажется, таких вот, не знаю, компаний, как у меня, то есть, таких стартапов, да, условно, где вот ты работаешь там микрокомандой, отвечаешь практически за все, и вот у тебя, ну, становится все меньше и меньше времени сидеть и там читать код и вообще думать о коде. Alex: Ну, я не могу сказать. У меня нет статистики под рукой. Вот, к сожалению, меня всё меньше меньше времени вообще остаётся на что-либо другое, кроме занимания, занятия своими задачами. Вот, но вопрос, конечно, интересный. Сложно сказать, не знаю, тут как будто компании много становится, правда, которые хотят там быстренько-быстренько там что-то наклепать, да, типа на деньги. что-то сделать. Не знаю, не владеешь статистикой, не могу сказать, но, наверное, тебе виднее. Не знаю, владеешь ты статистикой, не владеешь. Artem: Слушай, ну, у меня просто, у меня чисто по ощущениям, вот. То есть мне кажется, во-первых, конечно, сложно говорить за там весь рынок. Мы, собственно, и стали делать этот подкаст ради того, чтобы, ну, посмотреть вообще, как это устроено у ребят. Потому что мы показываем, как нам кажется, наверное, большинство. То есть как будто бы мы показываем реальность, ну, которая сейчас существует. Вот, но как бы естественно точно мы там знать не можем, поэтому если вы напишите в комментариях, это будет очень классно. То есть как это выглядит у вас, какие процессы сейчас происходят, реально ли у вас становится всё меньше и меньше времени на то, чтобы вообще код читать в принципе. Нравится вам это или не нравится, тоже довольно-таки интересный вопрос. Вот, но мне кажется, что это повсеместно происходит. То есть абсолютно у всех сейчас такая история. И, честно говоря, это пугает, но как будто бы это просто вот, ну надо с этим, надо с этим жить, смириться. Alex: Ну, они что-то здесь не сделают, что это уже, так сказать, какие-то крупномасштабные процессы от нас не зависят. Посмотрим, куда это уйдет, не знаю, не могу сказать. Мне тоже интересно, куда это все придет. Artem: Да, да, особенно будет интересно собеседование, как будет проходить через некоторое время. Alex: Да. Artem: когда ты сам руками уже естественно не пишешь, и это как бы мы абсолютно все прекрасно понимаем, но скоро ты код читать не будешь. Практически. Я думаю, что Алекс тоже дойдет до такого момента, когда... Alex: Но я до последнего сопротивляюсь. Artem: Да, Алекс сопротивляется, то есть он очень как бы хочет читать код, но Alex: Очень хочу. Artem: времени становится всё меньше и для того, чтобы это делать. Вот, и Алекс грустит из-за этого порой. Alex: Да, про это самое есть такое. Artem: Ну да, в общем, тут действительно как бы непонятная ситуация, опять же, с тем, как проходить там собеседование на работу. Сейчас мне кажется, что вот Life Coding формат, он по сути умер. То есть я не знаю, как нанимать инженеров с помощью Life Coding, просто потому что... Alex: Ой, я не уверен, что он умер на самом деле. Может быть, даже жив. типа просто смотрят как ты знаешь базу вот Artem: Да какую базу, если ты сам код руками не пишешь? Alex: да как и чё да стоподобно это лайкодинг он Artem: Ну и чё ты напишешь? Alex: ещё будет жить мне кажется это лайкодинг вообще ещё нас может переживёт потому что ну не знаю типа оно же всегда так было что ты там перекладываешь джисон и по факту спрашивают тебя за rocket science то же самое здесь всякие там Artem: Ну да. Alex: ну на самом деле это даже кстати неплохо ну это конечно стрессовано но это неплохо вот и базовую там База повсеместная, если бы код читать, то база повсеместная. Базу прямо очень хорошо она бы знает, всякий там... Ну не будем, короче. Вот оно там... Artem: Ну, короче, окей, к собесу надо готовиться как к экзамену. То есть ты понимаешь, что да, в работе ты там не будешь использовать эту теорию никогда, но учить надо и сдать надо. Alex: Да нет, нет, ну тут я не согласен, короче, опять-таки возвращаясь к Artem: Ну давай развей, развей миф. Alex: тому, если ты смотришь код, как оно там все устроено, там очень много вещей, которые спрашивают на собесах, самом деле. Artem: Так, и когда тебе это пригодилось? Alex: Ну так... Да вот сегодня. Ну вообще каждый день пригождается на самом деле. Как-то не Artem: Ага, ну вот на собесе тебя спрашивают, окей, самый банальный. Alex: странно звучит, но каждый день пригождается. Artem: Банальная, самая банальная задача, вообще, которая, ну, каждый типа разработчик должен делать. Напиши там декоратор. Ээ, окей. Ну вот ты напиши декоратор, а ты в жизни его пишешь? Да нихера ты не пишешь в жизни. В жизни за тебя Клот напишет декоратор. Дай бог, чтоб ты его прочитал, кстати. Alex: Ну, напишет, напишет, конечно, но надо же понимать, что там вообще устроено, что там происходит. Artem: А надо ли? Alex: Ну, где-то надо, где-то нет. Вопрос такой. опять-таки, зависит от того, читаешь такое или нет, если читаешь, то там эти декораторы с Пошей рядом, вот, либо фреймарки там, или вообще. Вот. Ну, короче, резюмирую. Мой тег в том, что если ты типа заморачиваешься и читаешь код, и пытаешься понять, там человек-то все устроенно работает, потому что сейчас с нейронками реально скорости выше. Соответственно, тебя парадоксально есть больше времени погружаться в какие-то внутренности, допустим. Да. Скажем так. потому что ты можешь погружаться-погружаться, потом раз, и нейрончик от тебя всё реализует. есть тебя как будто бы есть больше времени для планирования реализации, смотрения по сторонам, в глубину и так далее. И потом за тебя нейронка напишет. Ну, меня есть ещё такой экспедиция. Не знаю, как у других, меня есть ещё такой экспедиция. Artem: Ай, ну, в общем-то... Alex: Короче, тут сложно, наверное, всё индивидуально, всё зависит от того, где ты работаешь, что ты как делаешь. Artem: Я согласен, естественно, зависит от контекста в первую очередь. Давайте, короче, сделаем так вот. Если чисто подводить итог, мне кажется, что всё всегда зависит от контекста, от того, что вас окружает. Потому что Alex: Угу. Artem: я вообще это как бы называю вот две такие грани. Вот если посмотреть. Первая грань это когда у тебя настолько много времени, что ты можешь позволить себе вчитываться в код. и спорить о том, что использовать, там, ARGS или QWARGS Вот это, мне кажется, это проблема белых людей. То есть, ну, вот с одной стороны, то есть, бизнес тебя не тревожит по бизнес-вопросам, по продуктовым вопросам, и ты спокойно концентрируешься на коде, разработке. Это, это первая сторона. А вторая сторона это когда у тебя бизнес и продукт отнимают столько свободного времени, что у тебя не остается времени на то, чтобы читать код вообще. И у тебя не то, там ARGS-KWARGS ты вообще, принципе, ну тебе без разницы, что там происходит в коде. Вот, как это написано и так далее. Потому что продукт требует большего внимания. И это, что самое интересное, бы наиболее важная часть твоей работы. То есть то, как ты видишь продукт, то, как он работает, то, как ты видишь, чтобы этот продукт рос и улучшался. То есть вот в моем контексте... это самое главное. И это то, что бизнес хочет от меня. И мне кажется, я должен просто взять и построиться под это. Это та парадигма, которую мне надо принять. А у Алекса получается что-то такое, ну, микс. сейчас. есть тебя все-таки раньше было больше как бы на коде акцент. Сейчас, когда у тебя больше задач становится, тебе уже сложнее это поддерживать. Alex: типа того. Artem: Вот поэтому, отвечая на наш вопрос, да, вот что такое там чтение кода в 2026 году, ну, это зависит от контекста, вот. То есть в какой-то компании это роскошь, в моей компании это будет роскошь, в компании, где работает Алекс, это, ну, база. То есть вполне себе можно позволить там читать код и уделять этому больше внимания. Но все компании разные, бизнес, естественно, разный. У всех всё по-разному. Но нам будет очень интересно узнать о том, какой опыт сейчас на рынке. То есть, вот расскажите, пожалуйста, в комментариях про то, что у вас происходит. Какие процессы сейчас у вас? Как вы вообще относитесь к тому, что читать код — это уже не всегда легко и не всегда возможно. какая сторона вам ближе, что вам приятнее и так далее. То в целом было бы интересно послушать разные истории на этот счёт. Вот, а на сегодня, я думаю, всё. У нас такой быстрый достаточно выпуск и как будто мы обсудили то, что хотели. Вот, поэтому да, подписывайтесь на канал, ставьте лайки, пишите комментарии. Мы будем ждать. Спасибо большое. Alex: Спасибо, до встречи.