Я в целом более-менее согласен с комментарием, но есть один момент, про который очень хотел бы уточнить:
И я до сих пор в любой момент времени могу сказать что делает МОЙ код, который написал агент, под моим присмотром, а не я
Это ведь субъективная оценка, верно?
Я видел как в команде происходит примерно такой процесс:
это мой код, я его написал с нуля руками (даже если я его написал полгода назад - проматерюсь, но вспомню)
я там что-то поспрашивал у LLM, оно мне что-то посоветовало, но я все это пропустил через себя
копипаста из LLM, но я таки посмотрел и понял
я поставил агенту задачу - он что-то нагенерировал, но я ответственный и посмотрел все
я поставил агенту задачу - он что-то нагенерировал, раньше все было ок, и вообще, пойду кофе попью
И вот где-то начиная с п.3 разработчики начинают терять ownership над кодовым контекстом. Ну просто потому что (в целом, речь не только про код) написать самому и прочитать (и хорошо если реально прочитали находясь в сознании) - очень сильно разные штуки.
Глобально я заметил два эффекта:
программисты начинают реально тупеть (ну типа, а чего думать - оно там само, я задачу из жиры скопипастил)
связность контекста начинает пропадать. Код есть - а почему так - непонятно
Собственно вопрос: а как вы оцениваете, что действительно понимаете что делает код?
Меня очень настораживает не столько повальное поклонение AI, сколько радикализм происходящего (по крайней мере согласно публичным новостям).
Я согласен с большинством комментирующих в том, что 12 direct reports - это максимум, но давайте пофантазируем, что прорывные AI технологии позволяют сделать это число x10 (я не верю, но допустим).
Там же наверняка миллион сайд-эффектов будет. Возможно даже в перспективе - хороших. Но по первой - совсем непонятных. Провернуть такой эксперимент в отдельно взятом департаменте - ну ок, наверное занятно. Но на всей орг.структуре предприятия разом? Ну это же откровенная дичь. Как вообще в разумное время можно оценить impact от таких изменений на 6000 человек?
Я видел один раз программиста, которого, наверное, можно назвать 10x. И, скажу я вам, это большая-большая проблема.
прежде всего он выбивается из всех командных процессов. Пока команда обсуждает чего мы со всем этим делать будем - он уже что-то сделал. А если уже сделал - то и думать уже дальше не хочется (а сделал не всегда то, что на самом деле надо было). Плюс у команды теряется мотивация вообще включать голову - там же вон есть этот
менеджмент при должном объяснении понимает ситуацию, но со временем в их глазах возникает перекос - вот 10x это норма (посмотрите, я говорю - а он сразу делает), а остальные что-то какие-то совсем медленные
у менеджмента возникает ложное ощущение, что вообще все (включая не зону ответственности 10x) можно вот за пару часиков закодить. Из-за этого страдает планирование и ожидание
Пока для себя я выработал такой план работы с такими ребятами (мы подразумеваем, что это действительно ~10x):
нужно выделить прям специального менеджера по работе c этим человеком
в его задачи входит: кормить, поить, выдавать задачи из спец. пула, ассистировать в коммуникациях, эмпатировать данному человеку. Это действительно "курица, которая несет золотые яйца", и не нужно это ломать. Нужно это усиливать
но при этом важно сохранять общий коммуникационный фон: не запирая человека в клетке с одной стороны, с другой стороны не создавая негативного влияния на остальную часть команды, и с третьей стороны - не дать поймать звезду
Не могу сказать, что Markdown прям сильно удачный формат (парсить его сложновато, но библиотек - море), но в целом как будто бы Markdown наше все. Оно и прекрасно рендерится в сравнительно нарядный текст, и с помощью небольшого количества фантазии прекрасно читается прям сырым текстом.
Ну и все сорта LLM прекрасно могут в него.
А после 22 года, как-то очень не хочется, чтобы данные были в каком-нибудь таком формате, который только софтом компании X читается.
Откройте типичный джоб-постинг на позицию «Senior Backend Engineer» и посчитайте навыки:
Python
Kubernetes
Kafka
проектирование микросервисов
работа с BI-инструментами
коммуникация с заказчиком
участие в планировании спринтов.
Я не знаю как в этих ваших биг-техах, но это набор скиллов для миддла, а не для сеньора. Я разве бы убрал "работа с BI-инструментами" и "коммуникация с заказчиком".
Разумеется, никто не ждет Kubernetes СKA/CKAD от разработчика, но сходить сделать kubectl exec -it my-pod -- /bin/bash в дев-кластере и посмотреть чёоно - ну это в самом деле книжку два дня почитать.
Время от времени задаюсь тем же самым вопросом и пришел вот к чему:
в идеале хорошо бы уметь все хранить в text-friendly формате (html + js + css). Но риск того, что из-за динамического построения страницы, запросов куда-нибудь-там и логики рендера завязанной на ответы API, копия страницы не откроется - как будто бы высокая.
как будто бы Markdown + картинки очень не плох для этого, но результаты не впечатлили (иногда все хорошо, иногда всё очень плохо)
в итоге, пришёл к выводу, что если рендерить страницы в PDF, то получается достаточно хорошо. Не очень text-friendly, но в быту - удобно.
плюс из всяких Obsidian, Evernote, и что вы там любите, на PDF более-менее можно ссылаться и прикреплять
Да, ну и для чтения не требуется какой-то слишком специфичный софт. PDF внутри - это конечно адок, но PDF ридеров огромное количество. А вот что делать после того, как какой-нибудь SingleFile со товарищи загнется через пару лет - вопрос.
На всякий случай, кроме виртуалки, которую долго и нудно можно настроить под себя, есть еще вариант всяких GitHub Codespaces, где изолированная одноразовая среда, пристойная IDE через веб-морду и никакой сетевой связности с вашей локальной машиной.
VsCode конечно кому-то нравится, кому-то нет, но для ознакомления с чужим кодом - как будто бы ровно то, что доктор прописал.
Не смотря на то, что технику Apple я уважаю, использую и нежно люблю, всё не настолько безоблачно, как того бы хотелось.
Примерно за десятилетие в ремонте побывали:
MBP Pro 2015. 4 раза. 2 по гарантии, 1 за мой счет, 1 не ремонтировал - продал как есть. Проблема всё время одна и та же - вспухала батарея.
iPad 9.7" (год не помню). В какой-то момент приложения просто начали вылетать. Проблемы начались где-то на второй месяц. По гарантии под замену. Выдали новый.
iPad 9.7" (год не помню). Это другой айпэд. Проблема примерно та же. Приложения начали вылетать. Где-то на второй-третий год. Лежит на полочке в качестве сувенира, потому что ремонтировать оказалось экономически не целесообразно.
Во всех Agentic-AI-фильных текстах всегда одна и та же история: вы просто установите констрейнты задачи, передайте полный контекст, передайте базу знаний и business boundaries и модель сама все сделает!
Ребята, если бы у нас все это было известно полностью до начала выполнения задачи, и мы бы руками уже давно это сделали 😅
Впрочем, если постараться выключить хайп вокруг (что неимоверно сложно сейчас), штука и правда приятная, и рутину ускоряет очень здорово.
Ну, я считаю себя нормальным собеседующим: не ультра-требовательным, прекрасно понимающим, что с той стороны экрана - стресс, буквы путаются, самое очевидное забывается, язык заплетается.
Поэтому у меня на собесах можно гуглить. Гуглить можно не сразу, а когда я вижу, что человек подзастрял (см. выше про стресс).
Собственно, по сеньор и близко к нему уровню - всё просто: собрались, поговорили кто что делал, кто что видел, и какие они всё дураки, возможно решили несколько простых задачек, чтобы просто понять, что человек действительно может сам ручками, а не только травит байки... и в общем-то всё. В формате часа - дай бог бы на это времени хватило.
С миддл уровнем - примерно та же история, но меньше в сторону "где был, что видел" и больше в сторону "а реши-ка мне вот такую нехитрую задачу". Тут мы никакие деревья не переворачиваем, а делаем что-то простенькое, чтобы (см. выше про стресс)
На джуниор уровне - только простенькие задачки, начиная с: "умножь все числа в массиве на два", "удали у объекта свойство", "скопируй плоский объект, но без вот этих полей" и всякое подобное. Так вот, я думал, что тут можно затупить (см. выше про стресс), но обнаружить кандидата в состоянии "я не знаю", "я не знаю что такое массив", "а можно следующий вопрос" и вот всём прочем таком - невозможно. А нет, оказалось, что вполне возможно. И это были очень сильно не единичные случаи. И, к сожалению (см. выше про стресс), даже "окей, сходи в гугл, я просто посижу рядом молча" увы не помогал.
Точной статистики я не вёл, но навскидку, процентов 10 попадалось вот таких кандидатов. И это при условии, что HR отдел еще на дальних подступах отстреливал совсем неадекватов, проводил предварительный поведенческий скриннинг, и у нас даже была пачка маленьких тестов минут на 20, перед тем как кандидат доходил до живого человека (меня).
Это я не к тому, что все вокруг - не соответствуют нашим высочайшим стандартам. А к тому, что самый базовый sanity check о том, что человек может строить нехитрые логические цепочки "сначала А, потом Б, а если В, то Д" - нужна. Всё же, большую часть времени именно этим человек и будет заниматься на своей будущей работе. И как неожиданно выяснилось - не все кандидаты этим обладают (хотя казалось бы)
Мне тоже очень долго хотелось более автономное устройство, но в итоге, с современной итерацией устройств проблемы как таковой нет - ту или иную степень автономности они позволяют.
Сразу скажу - я полностью опутан Apple инфраструктурой, поэтому скажу только за Apple Watch:
прежде всего мне просто по кайфу как они выглядят. Собственно, мой переход с Android на iOS случился именно из-за часов. Очень хотелось часы, ради них пришлось одолжить старый iPhone у жены, а потом как-то оно само...
время, день недели, погода, ближайшее событие календаря, время восхода/заката, таймер всегда под рукой - мне удобно
таймер - поставил чайник, побубнил Siri чтобы позвала через 10 минут, спокойно вернулся к своим делам. Чуть меньше бытового шума
фитнес и всё, что с ним связано. В серьезные спортсмены я не мечу, но интересно сколько пробежал, сколько проехал, сколько проплыл и какой при этом был пульс и вот это всё
Можно ли без этого всего? Да конечно можно. Всё кроме фитнеса телефон прекрасно закрывает. Удобнее ли это с часами? Ну, мне удобнее.
Нужно ли для этого покупать Apple Watch за $800+? Как будто MiBand за $50 базово закроет все вопросы. А дальше уже на вкус и цвет
Хорошая новость заключается в том, что на сегодняшний день реляционные базы стали достаточно масштабируемыми для того, чтобы держать весь world-wide трафик.
Вон, небольшой американский стартап OpenAI недавно рассказывал как у них внутри PG внутри трудится.
Никак. В этом и состоит идея юнит-тестов -проверять соблюдение инвариантов. Инварианты меняются - тесты, как лакмусовая бумажка, меняют цвет (с зеленого на красный, если повезёт)
Я в целом более-менее согласен с комментарием, но есть один момент, про который очень хотел бы уточнить:
Это ведь субъективная оценка, верно?
Я видел как в команде происходит примерно такой процесс:
это мой код, я его написал с нуля руками (даже если я его написал полгода назад - проматерюсь, но вспомню)
я там что-то поспрашивал у LLM, оно мне что-то посоветовало, но я все это пропустил через себя
копипаста из LLM, но я таки посмотрел и понял
я поставил агенту задачу - он что-то нагенерировал, но я ответственный и посмотрел все
я поставил агенту задачу - он что-то нагенерировал, раньше все было ок, и вообще, пойду кофе попью
И вот где-то начиная с п.3 разработчики начинают терять ownership над кодовым контекстом. Ну просто потому что (в целом, речь не только про код) написать самому и прочитать (и хорошо если реально прочитали находясь в сознании) - очень сильно разные штуки.
Глобально я заметил два эффекта:
программисты начинают реально тупеть (ну типа, а чего думать - оно там само, я задачу из жиры скопипастил)
связность контекста начинает пропадать. Код есть - а почему так - непонятно
Собственно вопрос: а как вы оцениваете, что действительно понимаете что делает код?
Меня очень настораживает не столько повальное поклонение AI, сколько радикализм происходящего (по крайней мере согласно публичным новостям).
Я согласен с большинством комментирующих в том, что 12 direct reports - это максимум, но давайте пофантазируем, что прорывные AI технологии позволяют сделать это число x10 (я не верю, но допустим).
Там же наверняка миллион сайд-эффектов будет. Возможно даже в перспективе - хороших. Но по первой - совсем непонятных. Провернуть такой эксперимент в отдельно взятом департаменте - ну ок, наверное занятно. Но на всей орг.структуре предприятия разом? Ну это же откровенная дичь. Как вообще в разумное время можно оценить impact от таких изменений на 6000 человек?
Я видел один раз программиста, которого, наверное, можно назвать 10x. И, скажу я вам, это большая-большая проблема.
прежде всего он выбивается из всех командных процессов. Пока команда обсуждает чего мы со всем этим делать будем - он уже что-то сделал. А если уже сделал - то и думать уже дальше не хочется (а сделал не всегда то, что на самом деле надо было). Плюс у команды теряется мотивация вообще включать голову - там же вон есть этот
менеджмент при должном объяснении понимает ситуацию, но со временем в их глазах возникает перекос - вот 10x это норма (посмотрите, я говорю - а он сразу делает), а остальные что-то какие-то совсем медленные
у менеджмента возникает ложное ощущение, что вообще все (включая не зону ответственности 10x) можно вот за пару часиков закодить. Из-за этого страдает планирование и ожидание
Пока для себя я выработал такой план работы с такими ребятами (мы подразумеваем, что это действительно ~10x):
нужно выделить прям специального менеджера по работе c этим человеком
в его задачи входит: кормить, поить, выдавать задачи из спец. пула, ассистировать в коммуникациях, эмпатировать данному человеку. Это действительно "курица, которая несет золотые яйца", и не нужно это ломать. Нужно это усиливать
но при этом важно сохранять общий коммуникационный фон: не запирая человека в клетке с одной стороны, с другой стороны не создавая негативного влияния на остальную часть команды, и с третьей стороны - не дать поймать звезду
Короч сложно.
Не могу сказать, что Markdown прям сильно удачный формат (парсить его сложновато, но библиотек - море), но в целом как будто бы Markdown наше все. Оно и прекрасно рендерится в сравнительно нарядный текст, и с помощью небольшого количества фантазии прекрасно читается прям сырым текстом.
Ну и все сорта LLM прекрасно могут в него.
А после 22 года, как-то очень не хочется, чтобы данные были в каком-нибудь таком формате, который только софтом компании X читается.
Ну, начать стоит с того, что 300-400-500 это не так много как кажется на первый взгляд.
взял ипотеку
стал серьезнее относится к здоровью (брекеты-коронки какие-нибудь, доктора навещаешь когда что-то болит, а не когда уже невмоготу)
начал питаться стабильно, регулярно и разнообразно (особенно зимой в сибирско-уральских широтах)
взял какого-нибудь тренера в зале чтобы понимать ты вообще то делаешь или не то...
а и все, деньги закончились 🤷♂️
Я не знаю как в этих ваших биг-техах, но это набор скиллов для миддла, а не для сеньора. Я разве бы убрал "работа с BI-инструментами" и "коммуникация с заказчиком".
Разумеется, никто не ждет Kubernetes СKA/CKAD от разработчика, но сходить сделать
kubectl exec -it my-pod -- /bin/bashв дев-кластере и посмотреть чёоно - ну это в самом деле книжку два дня почитать.Время от времени задаюсь тем же самым вопросом и пришел вот к чему:
в идеале хорошо бы уметь все хранить в text-friendly формате (html + js + css). Но риск того, что из-за динамического построения страницы, запросов куда-нибудь-там и логики рендера завязанной на ответы API, копия страницы не откроется - как будто бы высокая.
как будто бы Markdown + картинки очень не плох для этого, но результаты не впечатлили (иногда все хорошо, иногда всё очень плохо)
в итоге, пришёл к выводу, что если рендерить страницы в PDF, то получается достаточно хорошо. Не очень text-friendly, но в быту - удобно.
плюс из всяких Obsidian, Evernote, и что вы там любите, на PDF более-менее можно ссылаться и прикреплять
Да, ну и для чтения не требуется какой-то слишком специфичный софт. PDF внутри - это конечно адок, но PDF ридеров огромное количество. А вот что делать после того, как какой-нибудь SingleFile со товарищи загнется через пару лет - вопрос.
Зря вы так про TS. В плане выразительности он на две головы выше Java/C#.
Строгая структурная типизация и всякие ништяки на типах ставят на колени традиционные языки с номинальной типизацией.
Однопоточность - да, тут не поспоришь.
На всякий случай, кроме виртуалки, которую долго и нудно можно настроить под себя, есть еще вариант всяких GitHub Codespaces, где изолированная одноразовая среда, пристойная IDE через веб-морду и никакой сетевой связности с вашей локальной машиной.
VsCode конечно кому-то нравится, кому-то нет, но для ознакомления с чужим кодом - как будто бы ровно то, что доктор прописал.
Цена - меньше чашки кофе
Иногда возникает желание иметь интернет на 400 Кбит/с, чтобы побольше читать, и поменьше смотреть :)
Не смотря на то, что технику Apple я уважаю, использую и нежно люблю, всё не настолько безоблачно, как того бы хотелось.
Примерно за десятилетие в ремонте побывали:
MBP Pro 2015. 4 раза. 2 по гарантии, 1 за мой счет, 1 не ремонтировал - продал как есть. Проблема всё время одна и та же - вспухала батарея.
iPad 9.7" (год не помню). В какой-то момент приложения просто начали вылетать. Проблемы начались где-то на второй месяц. По гарантии под замену. Выдали новый.
iPad 9.7" (год не помню). Это другой айпэд. Проблема примерно та же. Приложения начали вылетать. Где-то на второй-третий год. Лежит на полочке в качестве сувенира, потому что ремонтировать оказалось экономически не целесообразно.
Другие естественные спутники земли - крестьяне?)
О да!
Во всех Agentic-AI-фильных текстах всегда одна и та же история: вы просто установите констрейнты задачи, передайте полный контекст, передайте базу знаний и business boundaries и модель сама все сделает!
Ребята, если бы у нас все это было известно полностью до начала выполнения задачи, и мы бы руками уже давно это сделали 😅
Впрочем, если постараться выключить хайп вокруг (что неимоверно сложно сейчас), штука и правда приятная, и рутину ускоряет очень здорово.
Ну, я считаю себя нормальным собеседующим: не ультра-требовательным, прекрасно понимающим, что с той стороны экрана - стресс, буквы путаются, самое очевидное забывается, язык заплетается.
Поэтому у меня на собесах можно гуглить. Гуглить можно не сразу, а когда я вижу, что человек подзастрял (см. выше про стресс).
Собственно, по сеньор и близко к нему уровню - всё просто: собрались, поговорили кто что делал, кто что видел,
и какие они всё дураки, возможно решили несколько простых задачек, чтобы просто понять, что человек действительно может сам ручками, а не только травит байки... и в общем-то всё. В формате часа - дай бог бы на это времени хватило.С миддл уровнем - примерно та же история, но меньше в сторону "где был, что видел" и больше в сторону "а реши-ка мне вот такую нехитрую задачу". Тут мы никакие деревья не переворачиваем, а делаем что-то простенькое, чтобы (см. выше про стресс)
На джуниор уровне - только простенькие задачки, начиная с: "умножь все числа в массиве на два", "удали у объекта свойство", "скопируй плоский объект, но без вот этих полей" и всякое подобное.
Так вот, я думал, что тут можно затупить (см. выше про стресс), но обнаружить кандидата в состоянии "я не знаю", "я не знаю что такое массив", "а можно следующий вопрос" и вот всём прочем таком - невозможно. А нет, оказалось, что вполне возможно. И это были очень сильно не единичные случаи. И, к сожалению (см. выше про стресс), даже "окей, сходи в гугл, я просто посижу рядом молча" увы не помогал.
Точной статистики я не вёл, но навскидку, процентов 10 попадалось вот таких кандидатов. И это при условии, что HR отдел еще на дальних подступах отстреливал совсем неадекватов, проводил предварительный поведенческий скриннинг, и у нас даже была пачка маленьких тестов минут на 20, перед тем как кандидат доходил до живого человека (меня).
Это я не к тому, что все вокруг - не соответствуют нашим высочайшим стандартам. А к тому, что самый базовый sanity check о том, что человек может строить нехитрые логические цепочки "сначала А, потом Б, а если В, то Д" - нужна. Всё же, большую часть времени именно этим человек и будет заниматься на своей будущей работе. И как неожиданно выяснилось - не все кандидаты этим обладают (хотя казалось бы)
Я вообще не фаната алгособесов, но как еще проверить, что индивид может в простое и понятное:
я делаю A
потому делаю Б
если в Б выполняется условие В, то повторяю п.1 c A := Д
Мой опыт найма показывает удивительнейшую статистику, в которую, если бы мне кто рассказал раньше, никогда не поверил
Мне тоже очень долго хотелось более автономное устройство, но в итоге, с современной итерацией устройств проблемы как таковой нет - ту или иную степень автономности они позволяют.
Сразу скажу - я полностью опутан Apple инфраструктурой, поэтому скажу только за Apple Watch:
прежде всего мне просто по кайфу как они выглядят. Собственно, мой переход с Android на iOS случился именно из-за часов. Очень хотелось часы, ради них пришлось одолжить старый iPhone у жены, а потом как-то оно само...
время, день недели, погода, ближайшее событие календаря, время восхода/заката, таймер всегда под рукой - мне удобно
таймер - поставил чайник, побубнил Siri чтобы позвала через 10 минут, спокойно вернулся к своим делам. Чуть меньше бытового шума
фитнес и всё, что с ним связано. В серьезные спортсмены я не мечу, но интересно сколько пробежал, сколько проехал, сколько проплыл и какой при этом был пульс и вот это всё
Можно ли без этого всего? Да конечно можно. Всё кроме фитнеса телефон прекрасно закрывает. Удобнее ли это с часами? Ну, мне удобнее.
Нужно ли для этого покупать Apple Watch за $800+? Как будто MiBand за $50 базово закроет все вопросы. А дальше уже на вкус и цвет
Хорошая новость заключается в том, что на сегодняшний день реляционные базы стали достаточно масштабируемыми для того, чтобы держать весь world-wide трафик.
Вон, небольшой американский стартап OpenAI недавно рассказывал как у них внутри PG внутри трудится.
Не, не читал, но одобряю :)
Никак. В этом и состоит идея юнит-тестов -проверять соблюдение инвариантов. Инварианты меняются - тесты, как лакмусовая бумажка, меняют цвет (с зеленого на красный, если повезёт)
Человеки - очень неприятные люди с маленьким контекстным окном. Приходится нарезать все помельче 🤷♂️