Недавно, 11 июля, в Санкт-Петербурге проходила летняя айтишная конференция ProIT. У меня особых ожиданий не было, но вышло гораздо удачнее и интереснее.
Контекст
Пригласила меня на выступление очаровательная @Ann4ony, хотелось дискуссий по поводу LLM и собеседований. Я же долгое время сомневался (по многим причинам). Первый разговор пришёлся на мои разъезды – поездки, поэтому благополучно потерял диалог на пару месяцев. Потом всё же поговорили голосом, я почему-то согласился, пришлось экстренно двигать планы.
Очень краткое содержание статьи
Распорядок дня вышел интересный:
приехать после концерта;
сделать вид, что поспал;
со вторыми лучами солнца встать и побежать в аэропорт (хорошо, недалеко);
перекусить в бизнес-зале (единственная по-настоящему полезная опция программы лояльности Гринпис-банк Премьер);
сделать выбор "вода или ничего";
потом какое-то движение по этажам, попутно заскочил на интересную дискуссию архитекторов;
взял кофе (хорошо, что безлимит был), проснулся, сделал пару кривоватых фото, лично познакомился с Анной (всё было субъективно одновременно);
снова броуновское движение – в результате сижу с бизнесменами в бизнес-клубе
на бизнес-яхте;моё выступление, в ходе которого познакомился с оппонентом (оказалось, что не оппонент);
побежал в аэропорт, попутно застав окончание лета в северной столице;
дальше слушал полтора часа сводки по отложенным рейсам;
что-то было в самолёте, вроде что-то выпил (но это не точно);
придя домой обрадовался (ненадолго), что всё это успел за сутки.
Утро
Я давно хотел повторно навестить северную столицу, да как-то времени не было. И в этот раз экскурсии по городу не случилось, а случилась самая быстрая поездка – всего пять часов. Я, конечно, мечтал о таком. Лет 20 назад. Мечты имеют обыкновение сбываться не вовремя.
Стартовал из Москвы в 7 утра, приехал около полудня в центр. Погода чересчур радовала и удивляла (30°, штиль и солнце), а я пытался понять, точно ли эта та площадь Строителей или я случайно в Казань улетел.
Помогла знакомая вывеска «сурфа», где я (насколько мог) по-быстрому закинулся живительной влагой импортозамещённого руссиано и был готов к труду и обороне искать кофе в Seno, где и должен был выступать.
Сено нашёл быстро по шортсам от организаторов. Приятная чешско-немецкая внешность дворика и старых зданий. Немного, чем-то неуловимо, напомнило Зеленоградск.

Атмосфера локации



Выдача бейджика и огромного плаката с программой (только тут осознал масштабы и амбициозность проекта) – и я готов идти, куда-то.
Программа

Примерно то же самое в электронном виде.
Много интересных для себя встреч увидел, но пока просыпался и пытался понять своё местонахождение первые встречи пропустил.

Архитектурная встреча
Немного послушал обсуждения про ИИ, потом двинулся к следующему выступлению. Очень заинтриговали эти спикеры и их встречи.

Атмосфера


Спикеры тут были известные в узких кругах Ф. Дельгядо и Д. Подольский, они часто выступают на JPoint, Highload и подобных конференциях. На ProIT были обсуждения про сбор НФТ (нефункциональных требований). Из моей практики – в небанковской сфере на них часто забивают экономят ресурсы. В лучшем случае срисовывают с потолка какие-то цифры. А тут – целая встреча об этом. Ни для кого не секрет, что очень часто НФТ принципиально влияют на архитектуру системы и последующие выборы.
Рассмотрели варианты нефункциональных требований. Поговорили о различных требованиях в финтехе. Большой упор был сделан на соблюдении регуляторных требований. Отдельно спикеры подсветили момент, что при формировании требований к системе нужно знать, какими именно законами и постановлениями руководствоваться, а собрать набор юридических документов архитектору без помощи юристов может быть очень непросто, и даже искусственный интеллект не такой уж интеллектуальный при работе с отечественными законами. Специальных моделей, конечно нет в широком доступе.
Технические подробности
Зачастую в энтерпрайзе достаточно сложными требованиями и ограничениями являются регуляторные. По-простому – это соблюдение законов. Часто бывают требования по обработке, хранению, передаче персональных данных (даже просто фамилии), а в финтехе – ещё работа с банковской тайной и соблюдения требований ЦБ.
Была высказана дельная мысль использовать DDD не по предметной области или процессу (горизонтальные и вертикальные слои), а по регуляторным требованиям. Работаем с платежами? Тогда один сервис должен удовлетворять требованиям например PCI DSS, и делает только ту работу, которая накрывается такими требованиями; другой сервис работает с анкетой клиента и удовлетворяет требованиям по недопущения перс.информации в логи (если упрощать); остальные же сервисы могут делать всё остальное, на что нет жёстких ограничений. Это реально может упростить проектирование, разработку и поддержку сервисов.
Многим известная головная боль, когда в уже сформированную систему (монолит или нет – не так важно) врывается безопасник (хорошо если свой) и требует очистить персональные данные. Эта задача, как правило, простирается дальше чистки логов и обезличивания данных для слепков баз. Эта задача может быть почти невыполнимой, если в контуре используется мониторинг с ELK: в огромной куче плохо структурированных данных найти и стереть что-то может требовать неоправданного количества ресурсов. Отдельная задачка – стереть персональные данные по чьему-то требованию извне, например, того же клиента. Так вот Филипп подкинул мысль, что у клиентов могут быть персональные ключи, и их персональная информация может шифроваться. Тогда при потере ключа фактически теряется информация без её физического стирания.
Было интересно послушать о рисках бизнеса в случае несоблюдения регуляторных требований, о последствиях для бизнеса и проекта.
Были ещё обсуждения о том, что является требованиями, а что нет.
Подробнее
Например, у архитекторов есть такие термины как RTO, RPO (время недоступности при аварии и длительность интервала потери информации, если просто). И вот эти цифры важны, причём их важность устанавливается самим проектом. Например, в банковской сфере недопустимо дублировать или потерять информацию, но может быть допустимо в случае аварии часть системы сделать недоступной (для возможности восстановить). В этом случае надо минимизировать RPO, а вот RTO может быть менее жёстким критерием.
С другой стороны, такая штука, как SLA (упрощённо: степень доступности системы или услуги) может быть юридическим термином, критерием для KPI или чем угодно ещё, но не будет нефункциональным требованием, поскольку это комплексная оценка, которая зависит не только от каких-то показателей системы или оборудования.
Немного неожиданно для меня разговор сместился в сторону исследования контекста проекта, определения заинтересованных лиц и поиск ресурсов. Спикеры подсветили ценность личного общения со стейкхолдерами, в частности и для того, чтобы повысить их заинтересованность в проекте. Тут архитектор может выступать уже как маркетолог, рекламируя проект внутри компании до его фактического начала. Очень свежая точка зрения.
Ни в коем случае не рекомендация и не реклама, совпадения случайны
Разговор немного свернул в тему неспортивного поведения токсичного коллектива, и был упомянут цикл статей по защите от тёмных искусств. Может быть, пригодится.
Конечно не могли не зацепить ИИ. Помимо ценности в поиске информации, подборе нормативных актов, LLM и агенты способны помочь построить целостную картину, собрав модели предметной области и их связи. Поговорили о том, какие именно позиции (роли) в IT больше рискуют быть пошатанными при дальнейшем развитии искусственного разума. Это уже было не по теме встречи, но звучало интересно.
Мысль о будущем
Была высказана мысль-предположение, что будущее за инженерной онтологией. Для продуктивного использования ИИшек сильные разработчики и архитекторы должны уметь их правильно готовить. А для этого – понимать как мыслит ИИ и как выстраивает связи. Если принять правила игры и вовремя подстроиться, меньше всего рискуют больше всего выиграют лидеры вертикальных линейных компетенций.
После обсуждений все пошли кушать в большие переговорные, а я, быстро записывая конспект в телефон, пошёл куда-то в направлении Полярной звезды (заодно рассматривая граффити и картинки).

Был почти час собраться с мыслями, выпить кофе, сделать кучу селфи.
Спойлер
Почти все с плохой композицией и засвечены. Экран телефона вообще не видно было.

Бизнес-клуб
После ланч-брейка вернулся в бизнес-центр, думал побывать на встрече о найме, послушать, как в других компаниях и отраслях дела обстоят, но Анна утянула меня к фаундерам, стартаперам и прочим английским словам.
В маленькой комнате собрались все, кто мог поместиться туда, – видимо, встреча реально интересна почти всем – даже со своими стульями. В основном люди рассказывали о своем бизнесе или стартапе, какую ценность несут, с какими сложностями столкнулись. И многие говорили, кого и зачем ищут. Разброс сфер и идей потрясающий: и медицина, и ЖКХ, и что-то облачное и то, чему даже нет ещё категорий.

Легализации ИИ
Встреча затянулась, никто не собирался покидать комнату по истечении времени. Я по будильнику вышел и прошёл в свой зал.

Ближе


На встрече должны были обсуждать уместность использования LLM со стороны кандидатов на собеседованиях, их ограничения и вообще целесообразность (и использования, и ограничений). Изначально меня пригласили после написания статьи на хабре. Предполагалось, что я обозначив некоторые мысли из статьи, свою позицию, дальше буду сравнивать её с позицией оппонента, Кирилла Мокевнина. На деле оказалось, что взгляды в целом совпали, и, рассказывая свою историю, невольно повторил некоторые тезисы из моей статьи:
сильных ИИ усиливает, слабых топит;
мало декларировать свою причастность к хайпу, с ними надо уметь работать;
если человек не знает чего хочет – нейронка тоже не знает.
Мы сошлись на том, что live-coding обязателен, он не заменяет и не исключает какие-то архитектурные обсуждения, планирование или проектирование, но позволяет проверить базу. Для него, разумеется, нужна наименее оторванная от реальности задача, но при этом такая, которую можно понять и выполнять в узких рамках интервью. Кирилл, например, даёт код готового проекта, который надо модифицировать. Я даю короткую абстрактную задачу, но с использованием тех средств и алгоритмов, которые нужны в повседневной работе у меня в команде. А заранее подготовленный большой листинг кода я даю не для модифицирования, а для оценки и правки ошибок. В этом, как ни странно, наши методы похожи.
Использование агентов на собеседованиях – с разной степенью легальности – уже не гипотетическое будущее, а киберпанк в настоящем. Кто-то борется, кто-то надеется (теряя контроль над процессом), а кто-то пытается управлять, ограничивать, регламентировать. Кто больше прав – покажет будущее.

Взгляд с другой стороны

Насыщенный день, насыщенная конференция. Очень рекомендую к посещению в следующем году.
