Pull to refresh
4
Алексей Повар@wert_lex

Server Side Developer

0,2
Rating
Send message

Я в целом более-менее согласен с комментарием, но есть один момент, про который очень хотел бы уточнить:

И я до сих пор в любой момент времени могу сказать что делает МОЙ код, который написал агент, под моим присмотром, а не я 

Это ведь субъективная оценка, верно?

Я видел как в команде происходит примерно такой процесс:

  1. это мой код, я его написал с нуля руками (даже если я его написал полгода назад - проматерюсь, но вспомню)

  2. я там что-то поспрашивал у LLM, оно мне что-то посоветовало, но я все это пропустил через себя

  3. копипаста из LLM, но я таки посмотрел и понял

  4. я поставил агенту задачу - он что-то нагенерировал, но я ответственный и посмотрел все

  5. я поставил агенту задачу - он что-то нагенерировал, раньше все было ок, и вообще, пойду кофе попью


И вот где-то начиная с п.3 разработчики начинают терять ownership над кодовым контекстом. Ну просто потому что (в целом, речь не только про код) написать самому и прочитать (и хорошо если реально прочитали находясь в сознании) - очень сильно разные штуки.

Глобально я заметил два эффекта:

  1. программисты начинают реально тупеть (ну типа, а чего думать - оно там само, я задачу из жиры скопипастил)

  2. связность контекста начинает пропадать. Код есть - а почему так - непонятно

Собственно вопрос: а как вы оцениваете, что действительно понимаете что делает код?

Меня очень настораживает не столько повальное поклонение AI, сколько радикализм происходящего (по крайней мере согласно публичным новостям).

Я согласен с большинством комментирующих в том, что 12 direct reports - это максимум, но давайте пофантазируем, что прорывные AI технологии позволяют сделать это число x10 (я не верю, но допустим).

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

Я видел один раз программиста, которого, наверное, можно назвать 10x. И, скажу я вам, это большая-большая проблема.

  1. прежде всего он выбивается из всех командных процессов. Пока команда обсуждает чего мы со всем этим делать будем - он уже что-то сделал. А если уже сделал - то и думать уже дальше не хочется (а сделал не всегда то, что на самом деле надо было). Плюс у команды теряется мотивация вообще включать голову - там же вон есть этот

  2. менеджмент при должном объяснении понимает ситуацию, но со временем в их глазах возникает перекос - вот 10x это норма (посмотрите, я говорю - а он сразу делает), а остальные что-то какие-то совсем медленные

  3. у менеджмента возникает ложное ощущение, что вообще все (включая не зону ответственности 10x) можно вот за пару часиков закодить. Из-за этого страдает планирование и ожидание

Пока для себя я выработал такой план работы с такими ребятами (мы подразумеваем, что это действительно ~10x):

  1. нужно выделить прям специального менеджера по работе c этим человеком

  2. в его задачи входит: кормить, поить, выдавать задачи из спец. пула, ассистировать в коммуникациях, эмпатировать данному человеку. Это действительно "курица, которая несет золотые яйца", и не нужно это ломать. Нужно это усиливать

  3. но при этом важно сохранять общий коммуникационный фон: не запирая человека в клетке с одной стороны, с другой стороны не создавая негативного влияния на остальную часть команды, и с третьей стороны - не дать поймать звезду

Короч сложно.

Не могу сказать, что Markdown прям сильно удачный формат (парсить его сложновато, но библиотек - море), но в целом как будто бы Markdown наше все. Оно и прекрасно рендерится в сравнительно нарядный текст, и с помощью небольшого количества фантазии прекрасно читается прям сырым текстом.

Ну и все сорта LLM прекрасно могут в него.

А после 22 года, как-то очень не хочется, чтобы данные были в каком-нибудь таком формате, который только софтом компании X читается.

Ну, начать стоит с того, что 300-400-500 это не так много как кажется на первый взгляд.

  • взял ипотеку

  • стал серьезнее относится к здоровью (брекеты-коронки какие-нибудь, доктора навещаешь когда что-то болит, а не когда уже невмоготу)

  • начал питаться стабильно, регулярно и разнообразно (особенно зимой в сибирско-уральских широтах)

  • взял какого-нибудь тренера в зале чтобы понимать ты вообще то делаешь или не то...

  • а и все, деньги закончились 🤷‍♂️

Откройте типичный джоб-постинг на позицию «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 со товарищи загнется через пару лет - вопрос.

Зря вы так про 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 о том, что человек может строить нехитрые логические цепочки "сначала А, потом Б, а если В, то Д" - нужна. Всё же, большую часть времени именно этим человек и будет заниматься на своей будущей работе. И как неожиданно выяснилось - не все кандидаты этим обладают (хотя казалось бы)

Я вообще не фаната алгособесов, но как еще проверить, что индивид может в простое и понятное:

  1. я делаю A

  2. потому делаю Б

  3. если в Б выполняется условие В, то повторяю п.1 c A := Д

Мой опыт найма показывает удивительнейшую статистику, в которую, если бы мне кто рассказал раньше, никогда не поверил

Мне тоже очень долго хотелось более автономное устройство, но в итоге, с современной итерацией устройств проблемы как таковой нет - ту или иную степень автономности они позволяют.

Сразу скажу - я полностью опутан Apple инфраструктурой, поэтому скажу только за Apple Watch:

  • прежде всего мне просто по кайфу как они выглядят. Собственно, мой переход с Android на iOS случился именно из-за часов. Очень хотелось часы, ради них пришлось одолжить старый iPhone у жены, а потом как-то оно само...

  • время, день недели, погода, ближайшее событие календаря, время восхода/заката, таймер всегда под рукой - мне удобно

  • таймер - поставил чайник, побубнил Siri чтобы позвала через 10 минут, спокойно вернулся к своим делам. Чуть меньше бытового шума

  • фитнес и всё, что с ним связано. В серьезные спортсмены я не мечу, но интересно сколько пробежал, сколько проехал, сколько проплыл и какой при этом был пульс и вот это всё

Можно ли без этого всего? Да конечно можно. Всё кроме фитнеса телефон прекрасно закрывает. Удобнее ли это с часами? Ну, мне удобнее.

Нужно ли для этого покупать Apple Watch за $800+? Как будто MiBand за $50 базово закроет все вопросы. А дальше уже на вкус и цвет

Хорошая новость заключается в том, что на сегодняшний день реляционные базы стали достаточно масштабируемыми для того, чтобы держать весь world-wide трафик.

Вон, небольшой американский стартап OpenAI недавно рассказывал как у них внутри PG внутри трудится.

Не, не читал, но одобряю :)

Как писать юнит-тесты, которые не ломаются

Никак. В этом и состоит идея юнит-тестов -проверять соблюдение инвариантов. Инварианты меняются - тесты, как лакмусовая бумажка, меняют цвет (с зеленого на красный, если повезёт)

Человеки - очень неприятные люди с маленьким контекстным окном. Приходится нарезать все помельче 🤷‍♂️

1
23 ...

Information

Rating
3,295-th
Location
Россия
Registered
Activity