Книжный куб
11.1K subscribers
2.66K photos
6 videos
3 files
1.96K links
Рекомендации интересных книг, статей и выступлений от Александра Поломодова (@apolomodov), технического директора и эксперта в архитектуре
Download Telegram
Code of Leadership #34 - Interview with Alexander Kiverin about Strategy (Рубрика #Management)

В очередном выпуске подкаста ко мне пришел интересный гость, Александр Киверин, с которым мы вместе являемся членами программного комитета CTO Conf X (https://ctoconf.ru/2025/). Александр - директор по развитию ИТ B2C Сбер, ex-CTO Газпром нефть, ex-CTO Ак Барс Банк. 15 лет успешного опыта в техническом менеджменте. В своей работе фокусируется на максимизации бизнес-эффектов путем создания цифровых продуктов, а также за счет повышения технологической зрелости, формирования продуктового подхода, выстраивания работы эффективных кросс-функциональных команд, тесной работы ИТ и бизнеса. В Сбере отвечает за формирование и реализацию технологической стратегии.

За час мы успели обсудить следующие темы
1. Роль технического директора как партнера бизнеса
2. С чего начинается технологическая стратегия
3. Зачем отслеживать технологические тренды
4. Какова роль метрик в технологической стратегии
5. Почему популярна тема platform engineering и как она связана со стратегией
6. Зачем нужны итерации для контроля и улучшения стратегии
7. Как балансировать между краткосрочными и долгосрочными результатами
8. Как архитектура связана со стратегией
9. Как сделать стратегию "живым документом" для адаптации под меняющиеся условия
10. Как подходить к реализации стратегии

Выпуск подкаста доступен в Youtube, VK Video, Podster.fm, Ya Music.

#Architecture #Software #Engineering #ProductManagement #Management #Economics
🔥7👍43
Tech Titans of China (Мир в тени дракона) (Рубрика #Management)

Эта книга Ребекки Фэннин вышла на английском в далеком 2019 году, в 2023 вышло русское издание, а прочитал я ее буквально на днях. Ребекка Фэннин — известный журналист, автор и медиапредприниматель, специализирующийся на глобальных инновациях, особенно в китайском технологическом секторе. Она начала свою карьеру, освещая венчурный капитал в Силиконовой долине, и стала одной из первых американских журналистов, которые документировали предпринимательский бум в Китае. В итоге, ее рассказ выглядит как исторический обзор развития технологического сектора Китая. Ключевые идеи книги такие
1) Китай прошел от имитации к инновациям - страна эволюционировала от копирования западных технологий до лидерства в таких областях, как AI, электронная коммерция, мобильные платежи, EVs и дроны. Похожим курсом когда-то проходила Япония, но лет на 30-40 раньше
2) На этом пути поддержка правительства выступала как катализатор - программы навроде "Made in China 2025" предоставляют финансирование, инфраструктуру и стратегическое направление для технологического развития.
3) У Китая есть глобальные амбиции - китайские компании не только варяться внутри своей страны, но также активно выходят на международные рынки через адаптацию продуктов к местным условиям.
4) В Китае распространена культура трудоголизма - в технологическом секторе принят режим "996" (с 9 утра до 9 вечера шесть дней в неделю), что демонстрирует интенсивный подход к инновациям, который значительно интенсивнее США, а про Европу можно и не упоминать


Если же говорить про содержание книги, то в ней 3 основные части (и заключение), состоящие из отдельных глав
1) Часть первая: Как Китай побеждает
- Автор рассказывает про китайские Facebook, Amazon, and Google, а точнее про трио Baidu, Alibaba и Tencent (BAT). Она объясняет как эти компании доминируют в поиске, электронной коммерции и социальных сетях в Китае, одновременно развивая передовые технологии, такие как искусственный интеллект (AI) и автономные транспортные средства.
- Дальше реч идет про новых игроков XTMD: Xiaomi, Toutiao (ByteDance), Meituan и Didi Chuxing. Эти компании бросают вызов гигантам BAT благодаря инновационным бизнес-моделям в смартфонах, социальных медиа, доставке еды и сервисах такси.
- Одна из глав посвящена успехам/неудачам американских компаний на китайском рынке: Starbucks и Airbnb адаптировались к местным предпочтениям в Китае, а вот у Google возникли трудности из-за столкновений с регуляторными барьерами.
2) Часть вторая: Венчурные инвесторы silicon dragon в Китае
- Этот раздел исследует роль венчурного капитала в стимулировании технологического бума Китая. Здесь описываются ключевые инвесторы, поддерживающие стартапы, а также то, как государственная политика способствует инновациям через инициативы финансирования вроде "Made in China 2025".
3) Часть третья: Наиболее значимые технологические секторы, в которые входят
- AI - тут речь идет про SenseTime, а также успехи Baidu, Tencent, а сейчас бы точно пошла речь про DeepSeek
- Sharing economics - такси, велосипеды, скутеры и все остальное
- E-com - Alibaba, Pinduoduo
- Электромобили - тут шла речь про NIO, а сейчас бы точно пошла речь про BYD
- Дроны - тут обсуждался DJI

В общем, если смотреть из 2025 года, то видно, что автор достаточно хорошо описывала тренды развития Китая и многие области за прошедшие 5 лет еще сильнее развились, ключевыми из которых являются
- Повышение конкуренции между американскими и китайскими компаниями, которые быстрее внедряют инновации и масштабируются глобально.
- Политические последствия в виде усиления контроля США над китайскими инвестициями за рубежом и увеличивать финансирование собственных исследований для противодействия достижениям Китая.

В итоге книга Ребекки Фэннин "Tech Titans of China" позволяет взглянуть на историю подъёма китайских технологий, увидев, ключевых игроков, их примерныые стратегии, вызовы и глобальные последствия.

#Management #Leadership #BusinessStory #Economics
👍65🔥1
Обложки книг "Tech Titans of China" и "Мир в тени дракона"
5🔥2👍1
ЦСКА - Динамо Махачкала (Рубрика #Kids)

Были на выходных на очередном матче футбольного ЦСКА вместе с Максимом, моим средним сыном. Погода в этот субботний вечер была отличная и мы пришли пораньше, благо нам надо только дорогу перейти, чтобы попасть на стадион. Мы посмотрели разминку команд, оценили танцы ростовой фигуры коня, а Макса даже показали на экране стадиона, так как он подтанцовывал на трибуне, повторяя действия аниматора:) Дальше начался сам матч, который был динамичным и интересным, но ЦСКА хорошо держал мяч и смог забить пару мячей. Мне нравился матч, но еще приятнее было наблюдать за эмоциями болельщиков - мы были на семейной трибуне, где собралось куча мальчишек и они пели кричалки. Максу эта атмосфера тоже нравилась и он с большим удовольствием подпевал. Классно, что матч закончился победой его любимой команды.

#ForKids
🔥144👍2
[1/2] Поражение Запада (The Defeat of the West) (La Défaite de l'Occident) (Рубрика #History)

Эта книга, вышедшая в оригинале в 2024 году из под пера Эмманюэля Тодда показалась мне очень интересной. Надо сказать, что автор - французский историк, антрополог, демограф, социолог и политолог - почти 50 лет назад предсказал распад Советского союза, который он сделал на основе демографических данных. Та работа принесла ему широкую известность и дальше он писал довольно глубокие книги на темы истории Европы, глобальных политических изменений. В своей последней книге на текущий момент он утверждает, что Запад находится в состоянии упадка из-за внутренних противоречий, ошибок в международной политике и неспособности адаптироваться к меняющемуся миру.

Он обосновывает свои взгляды в 11 очень интересных главах, которые рассматривают всех основных участников текущего конфликта, что тянется с 2022 года. А в финале он дает свое предсказание развития событий, которое за прошедший год с написания книги достаточно точно попадает в реальность.

1) Российская стабильность: Тодд анализирует внутреннюю устойчивость России, подчёркивая её способность адаптироваться к внешним вызовам. Он отмечает, что, несмотря на санкции и международное давление, российская экономика и общество демонстрируют стабильность и способность к самовосстановлению.​
2) Украинская загадка: В этой главе рассматриваются сложные и противоречивые аспекты украинской ситуации. Автор исследует исторические, культурные и политические факторы, влияющие на текущий кризис, и подчёркивает роль внешних игроков в эскалации конфликта.​Мне показался интересным его тезис насчет failed state (провалившегося госудраства), которое после распада СССР не смогло найти себя. Также анализ прихода к власти олигархов и разделения в принципе политиков на 3 центра: западной, восточной и центральной части Украины, каждая со своими политическим направлением, а дальше Майдан и все что было после.

Продолжение в следующем посте.

#History #Economics
👍164🔥4🙏1
[2/2] Поражение Запада (The Defeat of the West) (La Défaite de l'Occident) (Рубрика #History)

Продолжая рассказ об этой интересной книге, обрисую кратко содержимое оставшихся глав.

3) Постмодернистская русофобия в Восточной Европе: Тодд анализирует рост антироссийских настроений в странах Восточной Европы, связывая их с историческими обидами, национализмом и влиянием западной идеологии. Он утверждает, что такая русофобия препятствует конструктивному диалогу и сотрудничеству в регионе.​
4) Что же такое Запад?: Автор пытается определить сущность и ценности западного мира, рассматривая его эволюцию и внутренние противоречия. Тодд ставит под вопрос универсальность западных ценностей и их применимость в глобальном контексте.​
5) Ассистированный суицид Европы: В этой главе обсуждаются саморазрушительные тенденции в европейской политике, включая демографический спад, утрату культурной идентичности и неспособность противостоять внешним вызовам. Тодд утверждает, что Европа движется к упадку, не осознавая масштабов кризиса.​
6) Великобритания: на пути к ноль-нации: Тодд анализирует текущее состояние и перспективы Великобритании, рассматривая последствия Брекзита, внутренние социальные проблемы и утрату влияния на международной арене. Он приходит к выводу, что страна находится в состоянии неопределённости и поиска новой идентичности.​
7) Скандинавия: от феминизма до воинственности: В этой главе исследуется история скандинавских стран и показывается связь между социальными движениями, такими как феминизм, и агрессивной внешней политикой. Тодд рассматривает, как внутренние социальные изменения могут отражаться на международных отношениях и приводить к усилению воинственности.​
8 ) Истинная природа Америки: олигархия и нигилизм: Автор критикует американскую политическую систему, утверждая, что она превратилась в олигархию, где власть сосредоточена в руках немногих. Тодд также отмечает рост нигилизма и утрату моральных ориентиров в американском обществе.​
9) Спад экономики США: В этой главе обсуждаются экономические проблемы США, включая деиндустриализацию, рост неравенства и зависимость от финансовых спекуляций. Тодд утверждает, что американская экономика находится в состоянии упадка, что влияет на её глобальное влияние.​
10) Вашингтонская банда: Тодд критикует политическую элиту США, обвиняя её в коррумпированности, некомпетентности и стремлении к гегемонии. Он рассматривает, как решения этой «банды» приводят к международным кризисам и подрывают доверие к Америке.​
11) Почему остальной мир выбрал Россию: В заключительной главе автор анализирует причины, по которым многие страны предпочитают сотрудничество с Россией, а не с Западом. Тодд подчёркивает роль России как альтернативного центра силы и критикует западную политику изоляции.​

В общем, основной тезис Тодда в том, что мы видим не имперские амбиции России, а упадок стран Запада, которые слишком поверили в себя и заигрались. Он призывает к переосмыслению западных ценностей и стратегий для предотвращения дальнейшего ослабления позиций Запада на глобальной арене.​

P.S.
Особенно интересно было читать предсказания автора после прихода к власти Трампа ...

P.P.S.
На Youtube есть разбор основных идей книги на английском языке

#History #Economics
🔥20👍12👎85🙊2
Interview with Vibe Coder in 2025 (Рубрика #AI)

Забавное видео про то, как выглядит Vibe Coding в 2025 году. У этого автора есть куча интересных видео про разные профессии, причем про пару из них я уже рассказывал "Next-Door Tech CEO 2024" и "Interview with Product Manager in 2024 [Corporate]". Ну а для нового видео ребята выбрали тему вайб кодинга, что сейчас моден, например, про это говорили ребята из Y Combinator в выпуске "Vibe Coding Is The Future", про который я уже рассказывал. Вот подбор цитат, что мне особенно понравились

- "Are we cahing a data? Oh I'm cashing in hard on it yeah" - про кеширование
- "What is a database?" - про хранение стейта
- "Tests? We test it on TikTok yeah" - про тестирование
- "Fix it now or you go to jail" - агенту для фикса проблемы
- "It's not a syntax error, a mood misalignment, bro" - про ошибки
- "This is production code, yeah. It's producing lots of cash" - готов ли код для продакшена
- "Technical debt? I am not technical" - про технический долг
- "Cursor make no mistake, don't hallucinate" - промпт для генерации лучших результатов
- "It deleted a whole repo ... I had a different idea anyway" - про переключение на следующий проект после фейла
- "The vibe coding thing really works well with my attention span" - почему vibe coding подходит для СДВГ людей
- "Why is my bill 30k?" - про контроль стоимости
- "Private key? The one I put on my Github?" - про безопасность
- "I don't know how to build a feature to turn it off" - про отключение разработанного:)
- "Lawyers with a criminal record near me" - про поиск людей для помощи

#Humor #AI #Engineering #Software
👍5🔥32
Code of Leadership #35 - Interview with Eugene Kozlov about SDLC (Рубрика #Engineering)

В очередном выпуске подкаста ко мне пришел интересный гость, Евгений Козлов, с которым мы вместе работаем в Т-Технология. Женя является Staff Software Engineer и руководит разработкой аналитической платформы Statist https://www.tbank.ru/career/technologies/statist/ , на которую мы съехали с другим решений наровде Amplitude, Adobe Site Catalyst и других. Женя интересуется высоконагруженными серверными системами, вопросами производительности, системами управления базами данных а также хранилищами данных. Женя ведет интересный канал @careerunderhood

За час мы успели обсудить следующие темы
1) Работу над платформенным продуктом "Статист"
2) Важность профессиональных связей и сотрудничества
3) Личную историю Жени и его выбор карьерного пути
4) Зачем нам фундаментальное образование и как оно помогает в разработке софта
5) Карьерный путь: от Ruby к C#, а дальше к Go
6) Чем Ruby был хорош и почему упала его популярность
7) Особенность работы с асинхронными бекендами, с которой Женя познакомился еще программируя на Ruby
😍 Переход в T-Bank и развитие навыков
9) Будущее программирования - важно не знать язык, а уметь решать проблемы с его использованием
10) Важность широты интересов и базы знаний

Рекомендации от Жени для изучения
1) The Pragmatic Programmer, 20th Anniversary Edition - книга о лучших подходах к разработке программного обеспечения, обновленная версия классического труда для современных программистов.
2) Программирование Cloud Native. Микросервисы, Docker и Kubernetes (2-ое издание, 2022) - компактная книга о создании облачных приложений с использованием микросервисов, Docker и Kubernetes.
3) Scalability Rules: Principles for Scaling Web Applications - руководство для инженеров стартапов о масштабировании веб-приложений.
4) Fundamentals of Data Engineering: Building Reliable Data Systems - книга о базовых принципах проектирования надежных систем обработки данных.
5) Путеводитель по базам данных - подробное руководство по архитектуре и алгоритмам современных систем управления базами данных

Выпуск подкаста доступен в Youtube, VK Video, Podster.fm, Ya Music.

#Architecture #Software #Engineering #ProductManagement #Management #Economics
9🔥7👍3
Diagrams AI Can, and Cannot, Generate (Рубрика #Architecture)

Недавно добрался до осенней статьи из 2024 года про рисование архитектурных диаграмм при помощи AI. Автор рассмотрел три сценария использования и привел в конце три проблемы, которые мешают AI рисовать диаграммы как бог. Вот три сценария
1) Генерация generic диаграмм на заданную тему - я не совсем понял зачем такие диаграммы нужны автору кроме как иллюстрационные примеры, но AI справляется с их рисованием, правда, поиск по картинкам в Google справляется еще лучше
2) Whiteboarding with AI - когда мы рисуем планиремую систему, для которой мы хотим придумать решение и рассмотреть возможные проблемы. В принципе, адаптируя промпты с божьей помощью и крепким словом можно получить что-то удобоваримое, но иногда проще взять условный DSL языка типа Plantuml и ручками дописать что именно нужно подправить:) Но тут AI в принципе неплохо может помогать. Про разные подходы к рисованию можно почитать книгу "Creating Software with Modern Diagramming Techniques", про которую я уже рассказывал
3) System diagramming with AI - здесь суть в том, чтобы восстановить архитектурную диаграмму из кода проекта. Здесь часто сложно получить что-то осмысленное, так как кода может быть много, что в нем важно не ясно, а еще AI может нагаллюцинировать что-то чего нет. В общем, если проект не супер-простой, то сложно получить что-то вменяемое. И автор статьи описывает ключевые проблемы, среди которых выделяются три
- Мало тренировочных данных в виде проекты с кодовой базой + диаграммы, что их описывают не в generic виде, а детализированно
- Проблемы с анализом кода, где есть разные языки и технологии, есть разделение кода и конфигураций, а также общая каша из зависимостей между компонентами на статических диаграммах (deployment diagrams, диаграммы компонентов), а также каша в динамических диаграммах (sequence, activity) из-за количества бранчей с альтернативной логикой
- Проблема с сутью и фокусом на главном - создание хороших диаграмм в том, чтобы выделить главное, а для этого надо понимать цель системы и основные ее части. А это не всегда отражено в коде. Возможно, это можно скармливать в виде дополнительного контекста AI агенту - про что-то близкое к этому идет речь в whitepaper "From Requirements to Architecture: An AI-Based Journey to Semi-Automatically Generate Software Architecture", о которой я рассказывал раньше

В общем, чуда не произошло, серебрянная пуля пока не появилась, работаем дальше и готовим роботов, что облечат жизнь кожанным мешкам:)

#AI #Engineering #ML #Software #Architecture
👍43🔥2
China built hundreds of AI data centers to catch the AI boom. Now many stand unused (Рубрика #AI)

Интересная статья про перепроизводство датацентров в Китае от MIT Technology Review. Суть в том, что
1) Китайский технологический сектор столкнулся с серьезным кризисом избыточных мощностей - до 80% недавно построенных вычислительных ресурсов для искусственного интеллекта остаются неиспользованными. Масштабная инициатива по строительству инфраструктуры для ИИ, поддержанная как государством, так и частными инвесторами, сегодня переживает драматический спад.
2) Масштаб кризиса велик - за 2023-2024 годы в Китае анонсировали более 500 новых проектов дата-центров, из которых по меньшей мере 150 завершенных объектов сейчас отчаянно ищут клиентов. Государство вложило $6,1 млрд в строительство крупных вычислительных кластеров, а частные компании добавили еще $28 млрд.
3) Кризис вызван несколькими ключевыми факторами:
- Технологический переворот. Появление открытой модели DeepSeek R1, сравнимой по возможностям с ChatGPT, но требующей значительно меньше ресурсов для обучения, радикально изменило рыночный спрос. Фокус сместился с масштабного обучения моделей на инференс
Стратегические просчеты, где многие дата-центры построены:
- Компаниями без достаточного опыта в ИИ-инфраструктуре
- В удаленных регионах для экономии на электроэнергии и земле, хотя современные ИИ-задачи требуют близости к технологическим хабам для минимизации задержек
- С переоценкой долгосрочного спроса на вычислительные мощности
4) Кризис привел к экономическим последствиям - цены на аренду оборудования обрушились: кластеры из восьми GPU Nvidia H100 сейчас сдаются за 75 000 юаней ($10 333) в месяц, хотя ранее достигали 180 000 юаней.
5) Такое развитие ситуации скорее всего приведет к следующим эффектам
- Государственное вмешательство: Правительство Китая, вероятно, будет вынуждено вмешаться для стабилизации ситуации.
- Консолидация рынка: Ожидается волна слияний и поглощений среди операторов дата-центров, так как мелкие игроки не смогут выдержать финансовое давление.
- Переориентация инфраструктуры: Существующие объекты будут адаптированы под новые рыночные реалии - от массивных тренировочных кластеров к распределенным системам для инференса.
- Экологические вызовы: Даже при нынешнем уровне загрузки дата-центров растет их воздействие на окружающую среду.

Эта новость показывает, что масштабные китайские инвестиции в быстро развивающиеся технологии сопровождаются большими рисками и не всегда карта ложится как надо:) Интересно, что раньше я уже рассказывал про книги, в которых преимущественно описывались успехи Китая и его компаний
- Книга "Tech Titans of China (Мир в тени дракона)" - общий обзор венчурной истории Китая с начала 2000х по двадцатые
- Книга "Attention Factory: The Story of TikTok and China's ByteDance (TikTok. Фабрика Внимания. История взлета)" - история подъема ByteDance
- Книга "Smart Business: What Alibaba's Success Reveals about the Future of Strategy" ("Как Alibaba использует искусственный интеллект") - интересная книга зэна Мина, ключевого стратега Alibaba Group (2006–2017), бывшего главы штаба Джека М. Мой обзор в двух частях: 1 и 2
- Книга "Alibaba: The House That Jack Ma Built" ("Alibaba. История мирового восхождения от первого лица") - интересный рассказ о восхождении Alibaba в нескольких частях: 1, 2 и 3
- Книга "Цифровая трансформация Китая" ("The Digital Economy") от Ма Хуатэна, основателя компании Tencent - я думал, что в книге будет чаще Tencent и Wechat, но оказалось, что нет, но я все равно про нее написал
- Книга "Baidu" ("Artifical Intelligence Revolution. How AI Will Change our Society, Economy, and Culture") - книга 2017 года про Baidu от Робина Ли, CEO и председателя совета директоров. Тема интересная, перевод г..но
- Книга "Haier purpose. The real story of China's first global super company" ("Эволюция Haier") - интересная книга про эволюцию этого технологического гиганта из Китая

#Management #Processes #Leadership #BusinessStory #Engineering #Software #Engineering
👍83🔥1😁1
Техлид и развитие в Individual Contributor: Как превратить код в карьеру (Рубрика #Career)

5 июня буду участвовать в конференции Techlead Conf X как участник круглого стола "Техлид и развитие в Individual Contributor: Как превратить код в карьеру". Речь пойдет о том, а кто такой техлид в разных компаниях, какую пользу он может приносить компании, какие навыки и подходы необходимы техлиду и так далее. Интересно, что я уже достаточно много рассказывал про эту тему, приводя в пример западные компании, а также то, как это устроено у нас в Т-Банке. Но в этой дискуссии мы обсудим росссийское IT и насколько ветка для инвидидуальных контрибьюторов (IC) выского грейда распространена у нас. Приходите на конференцию послушать, если вам интересна эта тема, так как в дискуссии будет топовый состав джентельменов
- Александр Ложечкин, Райффайзен Банк
- Глеб Михеев, Сбер
- Максим Вишневский, Mindbox
- и ваш покорный слуга из Т-Банка

P.S.
Если ждать 5 июня для вас долго, то можете почитать и посмотреть материалы по этой теме, что я публиковал раньше
- Code of Leadership #6 Staff+ инженеры, архитектура и SDLC
- Варианты роста инженера, если он уже Senior на Tinkoff Meetup 2023
- Как нанимать технических руководителей на Teamlead Conf 2023
- Книга Will Larson "Staff Engineer" и мои обзоры этой книги в двух частях: 1 и 2
- Архитектура в масштабе на ArchDays 2020
- System Design Interview на ArchDays 2021
- Как подготовиться и пройти System Design Interview на ArchDays 2022

#Management #Software #Processes #Project #ProductManagement #Engineering #Processes #Leadership #Staff #Architecture #Career
👍16🔥82
[1/3] Resolving Code Review Comments with Machine Learning (Рубрика #AI)

Этот whitepaper от Google Research, впервые опубликованный в 2023 году и представленный на Международной конференции по инженерии программного обеспечения (ICSE) в апреле 2024 года. Исследование посвящено AI-фикации процесса код ревью. Суть в том, что исследователи сделали систему, что способна понимать комментарии рецензентов на естественном языке и предлагать соответствующие изменения в коде. Авторы описывают, как Google успешно внедрил эту технологию в свой рабочий процесс разработки, что привело к значительной экономии времени и повышению производительности. Мне этот paper понравился своим подходом - авторы не просто впиливали AI куда-то в процесс разработки, а делали это в продуктовом стиле, меняя как саму модель, так и сам UX процесса код ревью. Суть самой статьи можно описать так

- Проблематика: Ревью кода - это важный процесс особенно в Google, но он занимает много времени. Разработчики тратят в среднем около часа на каждое изменение кода после ревью.
- Решение: AI-система читает комментарии рецензентов и автоматически предлагает изменения кода для исправления проблем.
- Как это работает: Система обучена на прошлых code reviews; она анализирует контекст кода, понимает комментарий рецензента и генерирует подходящие изменения. Это решение прошло несколько итераций от асинхронной генерации исправлений до генерации предложенного фикса на лету, пока ревьювер пишет свой комментарий. Финальный вариант предполагает, что ревьювер может согласиться с предложенным моделькой исправлением, а может пореджектить его.
- Эффект: Реализованное решение в итоге привело к тому, что авторы изменений принимают автоматически предложенное моделью в 7.5% случаев. Это экономит сотни тысяч часов работы разработчиков ежегодно.
- Гибкость: Система справляется как с простыми изменениями, так и со сложными. Отдельно авторы отмечают, что ревьюверы начали подстраивать свои комментарии к коду так, чтобы система генерировала лучшие подсказки для автора кода.
- Обратная связь: Пользовательская обратная связь помогла улучшить систему со временем за счет фильтрации некорректных предсказаний.
- Польза для разработчиков: Система позволяет сосредоточиться на более творческих аспектах разработки вместо рутины.

Автор подход был примерно следующим
- Авторы воспринимали эту задачу как стандартную text-to-text ML задачу, для использования которой взяли традиционный трансформер на базе T5X Framework
- Авторы взяли реальные code review и сделали inline комментариев из ревью в код в виде комментов, а таргетом было уметь предсказывать предлагаемый diff patch, который реально был предложен для решения этого комментария из ревью
- Тренировали он модель для код ревью и других задач в области software engineering и использовали для этого DIDACT фреймворк. Тренировочный корпус состоял из 3 миллиардов примеров, из которых 60 миллионов были примерами с code review. В pre-training использовались достаточно свободный набор code review примеров, включая автоматические комментарии, комментарии для всего набора изменений, а также целых файлов. Для fine-tuning использовали code-review примеры, где комментарии писали только люди. Тюнили метрику standard cross-entropy loss, типичную для таких моделе
- На этапе inference модель использовали так, чтобы выдать желаемый precision - каждое предсказание сопровождалось вероятностью и большая вероятность означала большую уверенность модели в предсказании
- Для валидации модели использовался набор данных, что не использовался при тренировках
- Отдельно авторы выставляли threshhold для предсказаний, то есть предлагаемые изменения показываются пользователям только тогда, когда модель уверена в своем предсказании и удовлетворяет дополнительным эвристикам.

Продолжение в следующем посте, где я расскажу как это решение было встроено в процесс ревью.

#Software #AI #Engineering #Process #DevEx
7👍5🔥1
System Design: пережить интервью (Acing the System Design Interview) (Рубрика #SystemDesign)

Недавно вышла новая книга в издательстве Питер на тему System Design Interview. Тема для меня интересная и я много о ней рассказывал, в последний раз на Highload++. И вот вышла новая книга, которую можно прочитать и сравнить с той же "классикой" от Алекса Ксю. Вот я думаю, а стоит ли ее читать и устроил для этого опрос. Проголосуйте и я дальше уже решу, а стоит ли книга подробного разбора.

#Software #Architecture #DistributedSystems #SystemDesign #Engineering
👍144🔥3💯3
[2/3] Resolving Code Review Comments with Machine Learning (Рубрика #AI)

Продолжая рассказ про whitepaper от Google опишу чуть подробнее эволюция системы
V1) Начиналось все с генерации suggests изменений после отправки комментариев код ревьюверами
V2) Инструмент развился до предложения изменений кода ревьюверам во время написания комментариев
V2 + IDE integration) На основе обратной связи пользователей команда внедрила лучшую интеграцию с IDE, включая просмотр конфликтующих изменений (3-way-merges)

В итоге, текущий процесс работы этой фичи и воронку
- Ревьювер пишет коммент - на лету моделька генерирует код для фикса
- Ревьювер может принять этот код или нет, если принимает, то дальше автору MR прилетает комментарий с этим auto suggest, если отклоняет, то просто комментарий
- Дальше автор кода при ревью может жмякнуть кнопку автопринятия

Цель всей работы и метрика для оптимизации была сформулирована так
A primary goal for any assistance tool is to increase productivity. One metric we use to gauge the positive impact of our assistant on productivity is acceptance rate, the fraction of all code-review comments that are resolved by the assistant; this measures, out of all (non-automated) comments left by human reviewers, what fraction received an ML-suggested edit that the author accepted and applied directly to their changelist.

Стата по каждому этапу выглядит сильно интереснее, чем просто 7.5% автоприемов suggest от всех комментариев.
Stage -- (%) of total -- (%) of previous step
Incoming comments -- 100.0% -- 100.0%
Confident predictions -- 49.0% -- 49.0%
Accepted by reviewer -- 33.1% -- 63.6%
Previewed by authora -- 10.7% -- 34.5%
Applied by author -- 7.5% -- 69.5%

Ну и шаг превью в этой стате не так значим как в первом варианте того, как они сделали эту фичу, там под табличкой такая аннотация идет
The concept of author preview is less significant in V2. The author automatically sees a small preview and can “click-to-view” full suggested edits. This full view either shows the “Apply“ button or informs about an edit that requires a three-way merge. Almost all not-applied previews in V2 denote an edit that required a three-way merge to be applied.

Качественный фидбек по этой фиче звучал так
Early feedback about the assistant in internal message boards is enthusiastic, including characterizations such as “sorcery!”, “magic!”, “impressive”. Although the new version V2, in which suggested edits are presented as the reviewer is typing a comment, has only been deployed to 100% of the population for a relatively limited time, we have received delighted reports demonstrating that just the location and the initial sentiment of the reviewer’s comment can lead to helpful suggested edits, for both parties involved.


Помимо результатов авторы статьи описали как они тюнили качество системы через тюнинг модели и тюнинг данных
- Model tuning включал: fine-tuning DIDACTR модели, size tuning количества параметров в модели, уменьшение precision, тюнинг hyperparameters, тюнинг под языки программирования и финально preview для ревьюверов, что позволило еще нише сделать отсечку по precision
- Data tuning включал: оффлайн датасет для оценки ограничили только single comment изменениях, тренировка на "done" комментариях, тренировка на синтетических задачках

В общем, получился интересный whitepaper с описанием подхода ребят в Google и интересными практическими результатами. В последнем посте прилинкованы интересные картинки из этой статьи.

#Software #AI #Engineering #Process #DevEx
👍7🔥64