Getting to Neutral. How to conquer negativity and thrive in a chaotic world (Главное правило мышления) (Рубрика #Thinking)
Эта интересная книга Тревора Моавада, ментора спортсменов мирового уровня, предлагает интересный подход к управлению своим ментальным состоянием и принятию качественных решений. В английском названии книги основная мысль вынесена в название "Getting to neutral" - автор предлагает концепцию нейтрального мышления, что расположено между позитивным мышлением и негативным. Позитивное мышление - это зобирование себя мыслями, что все так или иначе будет хорошо, а негативное мышление предполагает рассмотрение всего происходящего со стороны негативных факторов и рисков. Автор же предлагает сбалансированно и рационально смотреть на ситууацию и вызовы, которые нам требуется преодолеть. Забавно, что для этого понадобилось отдельное название - я практикую такой взгляд на мир уже больше 30 лет. Странно, что МИФ дал книге альтернативное название при переводе "Главное правило мышления" - это вводит читателей в заблуждение, так как автор ни разу не называет никакого правила мышления в книге, но приводит несколько концепций, которым рекомендует следовать
- Neutral thinking (нейтральное мышление): этот майндсет помогает людям оставаться спокойными и объективными в условиях высокого давления. Вместо того, чтобы быть слишком оптимистичными или пессиместичными такое мышление позволяет оценить обстоятельства и доступные варианты и принять качественне решения
- Power of words (сила слов): Тревор отмечает, что произнесенные слова оказывают на порядок больше влияния, чем мысли. Причем негативные слова оказывают больше влияния, чем нейтральные или позитивные. Например, Тревор называет заболевание, с которым он боролся во время написания книги, "словом на букву р" (и только один раз он говорит о том, что это рак, описывая первый раз, когда ему огласили диагноз)
- Behavior over words (поведение важнее слов): действия значат больше, чем мысли или слова. Тревор отмечает важность фокусировки на желаемом поведении, которое приближает нас к желаемым целям.
- Behavior over emotion (поведение важнее эмоций): успех связан с консистентным поведением больше, чем с флуктуациями эмоций. Нейтральное мышление фокусируется на действиях, что приближают к успеху, а не к следованию за эмоциональными пиками и спадами
- Eliminating negativity (устранение негатива): автор рекомендует читателям идентифицировать и устранять влияние негатива на их жизни, включая чтение новостей и социальных медиа
- Adversity tolerance (устойчивость к невзгодам): нейтральность помогает людям развивать устойчивость, отстраняясь от прошлых неудач или успехов и сосредотачиваясь на том, что можно контролировать в настоящий момент.
- Value-based decision making (принятие решений на основе ценностей): Тревор поощряет выравнивать действия с ключевыми ценностями для поддержания ментального баланса даже в стрессовой ситуации.
Тревор Моавад так и не смог победить рак, но он успел дописать эту книгу, в которой поделился своими секретами психологической подготовки, которые он практиковал с элитными спортсменами, военными и корпоративными лидерами. Он получал награды за его инновационные методы оптимизации производительности в условиях давления, но главное - это признание его вклада в успех его клиентов. Например, послесловие написал квотербек НФЛ Рассел Уилсон, с которым он сначала работал над мотивацией, а потом Рассел помогал Тревору в период его лечения. В общем, Тревор в своей книге предлагает прагматичную альтернативу традиционным парадигмам позитивного мышления. Приняв нейтральное мышление, люди могут лучше ориентироваться в сложностях жизни с ясностью и устойчивостью..
P.S.
Интересно, что эти принципы отлично работают в больших компаниях - например, важно смотреть не на слова, а на действия топ-менеджмента, чтобы понимать какие ценности у компании на самом деле.
#Management #Leadership #Psycho #SelfDevelopment #Brain #Thinking
Эта интересная книга Тревора Моавада, ментора спортсменов мирового уровня, предлагает интересный подход к управлению своим ментальным состоянием и принятию качественных решений. В английском названии книги основная мысль вынесена в название "Getting to neutral" - автор предлагает концепцию нейтрального мышления, что расположено между позитивным мышлением и негативным. Позитивное мышление - это зобирование себя мыслями, что все так или иначе будет хорошо, а негативное мышление предполагает рассмотрение всего происходящего со стороны негативных факторов и рисков. Автор же предлагает сбалансированно и рационально смотреть на ситууацию и вызовы, которые нам требуется преодолеть. Забавно, что для этого понадобилось отдельное название - я практикую такой взгляд на мир уже больше 30 лет. Странно, что МИФ дал книге альтернативное название при переводе "Главное правило мышления" - это вводит читателей в заблуждение, так как автор ни разу не называет никакого правила мышления в книге, но приводит несколько концепций, которым рекомендует следовать
- Neutral thinking (нейтральное мышление): этот майндсет помогает людям оставаться спокойными и объективными в условиях высокого давления. Вместо того, чтобы быть слишком оптимистичными или пессиместичными такое мышление позволяет оценить обстоятельства и доступные варианты и принять качественне решения
- Power of words (сила слов): Тревор отмечает, что произнесенные слова оказывают на порядок больше влияния, чем мысли. Причем негативные слова оказывают больше влияния, чем нейтральные или позитивные. Например, Тревор называет заболевание, с которым он боролся во время написания книги, "словом на букву р" (и только один раз он говорит о том, что это рак, описывая первый раз, когда ему огласили диагноз)
- Behavior over words (поведение важнее слов): действия значат больше, чем мысли или слова. Тревор отмечает важность фокусировки на желаемом поведении, которое приближает нас к желаемым целям.
- Behavior over emotion (поведение важнее эмоций): успех связан с консистентным поведением больше, чем с флуктуациями эмоций. Нейтральное мышление фокусируется на действиях, что приближают к успеху, а не к следованию за эмоциональными пиками и спадами
- Eliminating negativity (устранение негатива): автор рекомендует читателям идентифицировать и устранять влияние негатива на их жизни, включая чтение новостей и социальных медиа
- Adversity tolerance (устойчивость к невзгодам): нейтральность помогает людям развивать устойчивость, отстраняясь от прошлых неудач или успехов и сосредотачиваясь на том, что можно контролировать в настоящий момент.
- Value-based decision making (принятие решений на основе ценностей): Тревор поощряет выравнивать действия с ключевыми ценностями для поддержания ментального баланса даже в стрессовой ситуации.
Тревор Моавад так и не смог победить рак, но он успел дописать эту книгу, в которой поделился своими секретами психологической подготовки, которые он практиковал с элитными спортсменами, военными и корпоративными лидерами. Он получал награды за его инновационные методы оптимизации производительности в условиях давления, но главное - это признание его вклада в успех его клиентов. Например, послесловие написал квотербек НФЛ Рассел Уилсон, с которым он сначала работал над мотивацией, а потом Рассел помогал Тревору в период его лечения. В общем, Тревор в своей книге предлагает прагматичную альтернативу традиционным парадигмам позитивного мышления. Приняв нейтральное мышление, люди могут лучше ориентироваться в сложностях жизни с ясностью и устойчивостью..
P.S.
Интересно, что эти принципы отлично работают в больших компаниях - например, важно смотреть не на слова, а на действия топ-менеджмента, чтобы понимать какие ценности у компании на самом деле.
#Management #Leadership #Psycho #SelfDevelopment #Brain #Thinking
👍11❤3🔥3👎2
Обложки для книг "Getting to Neutral" и "Главное правило мышления"
👍9❤3🔥2
ArchInsight в Лемана Тех - Панельная дискуссия про архитектуру
Пару недель назад я ездил в Лемана Тех на их первый офлайн-митап архитекторов под названием ArchInsight, где поучаствовал в дискуссию про будущее архитекторов и архитектуры. Буквально сегодня появилась запись дискусии, а также пост ребят о самом мероприятии в их tg канале. Напомню, что мы за час успели обсудить следующие темы
1. Управление архитектурными изменениями в быстро меняющемся мире
2. Сложные кейсы архитектуры: что делать, когда все не так, как должно быть?
3. Архитектурный репозиторий: как сделать его инструментом для всех?
4. Архитектор как посредник между бизнесом и ИТ: как говорить на одном языке?
5. Эффективное управление архитектурными изменениями: от идеи до внедрения
В дискуссии мы вспоминали много разных тем и конкретно книгу "The Software Architect Elevator" Gregor Hohpe, про которую я писал раньше. Суть была в том, что архитектору не стоит отрываться от земли и уходить в фантазии на N-том этаже своей башни, а стоит быть поблжие к земле и спускаться в машинный зал, где работают инженеры. Забавно, что после окончания конфы спикерам раздали подарки в сумке "Do it yourself", где были шуруповерты. В общем, я понял намек на то, что слова не должны расходиться с делами и обязательно воспользуюсь этим инструментом:)
P.S.
Спасибо организаторам за мероприятие - мне понравилось общение с другими участниками панельной дискуссии и всего митапа в целом, а также понравился подарок:)
#Architecture #Software #Management #Leadership
Пару недель назад я ездил в Лемана Тех на их первый офлайн-митап архитекторов под названием ArchInsight, где поучаствовал в дискуссию про будущее архитекторов и архитектуры. Буквально сегодня появилась запись дискусии, а также пост ребят о самом мероприятии в их tg канале. Напомню, что мы за час успели обсудить следующие темы
1. Управление архитектурными изменениями в быстро меняющемся мире
2. Сложные кейсы архитектуры: что делать, когда все не так, как должно быть?
3. Архитектурный репозиторий: как сделать его инструментом для всех?
4. Архитектор как посредник между бизнесом и ИТ: как говорить на одном языке?
5. Эффективное управление архитектурными изменениями: от идеи до внедрения
В дискуссии мы вспоминали много разных тем и конкретно книгу "The Software Architect Elevator" Gregor Hohpe, про которую я писал раньше. Суть была в том, что архитектору не стоит отрываться от земли и уходить в фантазии на N-том этаже своей башни, а стоит быть поблжие к земле и спускаться в машинный зал, где работают инженеры. Забавно, что после окончания конфы спикерам раздали подарки в сумке "Do it yourself", где были шуруповерты. В общем, я понял намек на то, что слова не должны расходиться с делами и обязательно воспользуюсь этим инструментом:)
P.S.
Спасибо организаторам за мероприятие - мне понравилось общение с другими участниками панельной дискуссии и всего митапа в целом, а также понравился подарок:)
#Architecture #Software #Management #Leadership
YouTube
ArchInsight в Лемана Тех - Панельная дискуссия про архитектуру
На конференции Лемана Тех был круглый стол по архитектуре, в котором я участвовал. Мы обсуждали темы
1. Управление архитектурными изменениями в быстро меняющемся мире
2. Сложные кейсы архитектуры: что делать, когда все не так, как должно быть?
3. Архитектурный…
1. Управление архитектурными изменениями в быстро меняющемся мире
2. Сложные кейсы архитектуры: что делать, когда все не так, как должно быть?
3. Архитектурный…
❤9👍8🔥5
Large-Scale Automated Refactoring Using ClangMR (Рубрика #Architecture)
В последнее время я много изучаю, как Gen AI помогает в SDLC. Но иногда надо вернуться на шаг назад и понять, а как мы жили до генеративного интеллекта и что делали для повышения эффективности рефакторинга. И если копнуть туда, то видно, что эти старые и проверенные подходы активно используются в современности для обеспечения предсказуемых результатов комбинации стохастических и детерминированных подходов. Собственно, именно так я дошел до чтения короткого whitepaper 2013 года ребят из Google. Здесь они рассказывали про крупномасштабный рефакторинг своей кодовой базы на C++, например, со старой версии стандарта на более новую. Интересно, что их масштаб кодовой базы потребовал сразу учитывать возможность распараллеливания работы, для чего они использовали Map Reduce (именно это означает MR в конце названия ClangMR). Но теперь пора перейти к основным идеям из этой статьи
Собственно, суть в том, что фреймворк ClangMR решает проблему технического долга в крупных C++ кодовых базах через семантически безопасный рефакторинг, который хорошо параллелится. Ключевыми моментами подхода является
- Использование AST (abstract syntax tree), абстрактных синтаксических деревьев. В отличие от regex-инструментов, это позволяет гораздо точнее описывать изменения ,например, легко можно различить методы с одинаковыми именами в разных классах
- Масштабируемость. Распределенная обработка через MapReduce сокращает время рефакторинга с месяцев до часов.
- Повторяемость. Поддержка инкрементных изменений, когда авторы использовали инструмент итеративно для рефакторинга десятков тысяч файлов частями
Сама реализация ClangMR основана на трех китах
- Indexing (индексация): компиляция кодовой базы в AST с хранением в распределенной БД (e.g., Google's Bigtable).
- Node matching (сопоставление узлов): Разработчики определяют AST-шаблоны (например, memberExpr(hasName("OldMethod")) и коллбэки для генерации правок. Интересно, что эта часть состоит из описания паттерна для матчинга частей дерева, а также callback для применения изменений (причем callback может решить, что изменений не требуется)
- Sorce code refactorer (применение изменений): Локальное применение правок с разрешением конфликтов и автоформатированием через ClangFormat.
Эта статья и подход, описанный в ней, привели к нескольким последствиям
- Развитие Clang/LLVM: Компоненты вроде AST matcher API стали основой для Clang-Tidy и Clang refactoring engine
- Смена практик рефакторинга: Популяризация AST-подходов, повлиявшая на инструменты вроде Coccinelle для ядра Linux.
- Эволюция стандартной библиотеки: Ускоренное внедрение современных возможностей создало давление на вендоров компиляторов.
В общем, статья была очень интересной для 2013 года. Но если говорить про микс этого подхода с Gen AI, то можно посмотреть доклад ребят из Uber 2024 года "This Year in Uber’s AI-Driven Developer Productivity Revolution", в котором они рассказывали среди прочего про миграцию с Java на Kotlin, где активно использовался микс AST matcher, а также Gen AI, который помогал генерировать правила трансформации:) Подробнее можно почитать в моем обзоре этого доклада (1 и 2)
#Architecture #Leadership #Software #SoftwareDevelopment #AI #Engineering
В последнее время я много изучаю, как Gen AI помогает в SDLC. Но иногда надо вернуться на шаг назад и понять, а как мы жили до генеративного интеллекта и что делали для повышения эффективности рефакторинга. И если копнуть туда, то видно, что эти старые и проверенные подходы активно используются в современности для обеспечения предсказуемых результатов комбинации стохастических и детерминированных подходов. Собственно, именно так я дошел до чтения короткого whitepaper 2013 года ребят из Google. Здесь они рассказывали про крупномасштабный рефакторинг своей кодовой базы на C++, например, со старой версии стандарта на более новую. Интересно, что их масштаб кодовой базы потребовал сразу учитывать возможность распараллеливания работы, для чего они использовали Map Reduce (именно это означает MR в конце названия ClangMR). Но теперь пора перейти к основным идеям из этой статьи
Собственно, суть в том, что фреймворк ClangMR решает проблему технического долга в крупных C++ кодовых базах через семантически безопасный рефакторинг, который хорошо параллелится. Ключевыми моментами подхода является
- Использование AST (abstract syntax tree), абстрактных синтаксических деревьев. В отличие от regex-инструментов, это позволяет гораздо точнее описывать изменения ,например, легко можно различить методы с одинаковыми именами в разных классах
- Масштабируемость. Распределенная обработка через MapReduce сокращает время рефакторинга с месяцев до часов.
- Повторяемость. Поддержка инкрементных изменений, когда авторы использовали инструмент итеративно для рефакторинга десятков тысяч файлов частями
Сама реализация ClangMR основана на трех китах
- Indexing (индексация): компиляция кодовой базы в AST с хранением в распределенной БД (e.g., Google's Bigtable).
- Node matching (сопоставление узлов): Разработчики определяют AST-шаблоны (например, memberExpr(hasName("OldMethod")) и коллбэки для генерации правок. Интересно, что эта часть состоит из описания паттерна для матчинга частей дерева, а также callback для применения изменений (причем callback может решить, что изменений не требуется)
- Sorce code refactorer (применение изменений): Локальное применение правок с разрешением конфликтов и автоформатированием через ClangFormat.
Эта статья и подход, описанный в ней, привели к нескольким последствиям
- Развитие Clang/LLVM: Компоненты вроде AST matcher API стали основой для Clang-Tidy и Clang refactoring engine
- Смена практик рефакторинга: Популяризация AST-подходов, повлиявшая на инструменты вроде Coccinelle для ядра Linux.
- Эволюция стандартной библиотеки: Ускоренное внедрение современных возможностей создало давление на вендоров компиляторов.
В общем, статья была очень интересной для 2013 года. Но если говорить про микс этого подхода с Gen AI, то можно посмотреть доклад ребят из Uber 2024 года "This Year in Uber’s AI-Driven Developer Productivity Revolution", в котором они рассказывали среди прочего про миграцию с Java на Kotlin, где активно использовался микс AST matcher, а также Gen AI, который помогал генерировать правила трансформации:) Подробнее можно почитать в моем обзоре этого доклада (1 и 2)
#Architecture #Leadership #Software #SoftwareDevelopment #AI #Engineering
research.google
Large-Scale Automated Refactoring Using ClangMR
❤3👍3🔥2
AchDays 2024 "Архитектура в Т-Банке: вчера, сегодня, завтра" - Александр Поломодов (Рубрика #Architecture)
Наконец-то появилась запись моего выступления про наши подходы к проектированию и построению архитектуры систем. Я в компании уже 8 лет и видел как эти процессы эволюционировали во времени, а также знаю к чему мы пришли. Я выделил следующие четыре стадии и объяснил как и почему они сменяли друг друга во времени
1. COTS (commercial of the shelf)
2. Свой собственный софт
3. Platform Engineering
4. Большие мегапроекты и governance
Напоследок я рассказал про подходы корпораций и технологических компаний к должностям/ролям архитекторов, а также поделился своим видением того, как нам дальше стоит развиваться. У меня есть расшифровка этого выступления в отдельной статье
#Architecture #Software #Evolution #Management #SystemDesign #Engineering
Наконец-то появилась запись моего выступления про наши подходы к проектированию и построению архитектуры систем. Я в компании уже 8 лет и видел как эти процессы эволюционировали во времени, а также знаю к чему мы пришли. Я выделил следующие четыре стадии и объяснил как и почему они сменяли друг друга во времени
1. COTS (commercial of the shelf)
2. Свой собственный софт
3. Platform Engineering
4. Большие мегапроекты и governance
Напоследок я рассказал про подходы корпораций и технологических компаний к должностям/ролям архитекторов, а также поделился своим видением того, как нам дальше стоит развиваться. У меня есть расшифровка этого выступления в отдельной статье
#Architecture #Software #Evolution #Management #SystemDesign #Engineering
YouTube
Архитектура в Т-Банке: вчера, сегодня, завтра. Александр Поломодов
Презентация выступления: https://drive.google.com/file/d/1PSA7tt1J9uprbxXJCUNYqzKXrS_2oAIo/view
В этом докладе Александр рассказал про развитие подходов к проектированию и архитектуре в Т-Банке с начала времен и до текущего момента. Также спикер объяснить…
В этом докладе Александр рассказал про развитие подходов к проектированию и архитектуре в Т-Банке с начала времен и до текущего момента. Также спикер объяснить…
🔥12❤5👍5
CTO Conf X и Teamlead Conf (Рубрика #Management)
Я уже рассказывал раньше про конференцию CTO Conf X, которая пройдет этим летом, в программном комитете которой я состою. А программный комитет так устроен, что его участники ревьювят все заявки на конференцию и выбирают лучшие доклады. Сейчас у нас уже есть порядка 120 заявок на примерно 20 мест, то есть конкурс 6 к 1, что достаточно солидно. В итоге, нам приходится повышать требования по качеству и стараться искать доклады, которые принесут что-то новое и интересное нашей аудитории. И одним из критериев для меня является сравнение с тем, а как заявленную тему раньше раскрывали на другой конференции Онтико, которая идет уже давно и где обычно обсуждались темы менеджмента и эта конференция "Teamlead Conf". Я сам выступал на ней несколько раз, а также знаю многих спикеров и членов программного комитета, то есть конференция достойная. Теперь представьте, что ко мне попадает заявка про создание самой перформящей команды, которая мотивирована на достижение результата, причем именно такого что нужен бизнесу. Вроде звучит хорошо, но можно чекнуть, а что рассказывали на конференции Teamlead Conf про это, а дальше спросить у потенциального спикера, а что он хочет добавить к тому, что уже было рассказано. Такой вопрос сразу переводит общение в плоскость конкретики и можно начинать говорить не просто за все хорошее против всего плохого, а по сути:)
Кстати, вот список докладов, что я нашел на Teamlead Conf, которые неплохо укладываются в заданную в качестве примера тему
- Культура как основа для масштабирования команды х2 каждый год
- Мотивация, делегирование и автоматизация: рецепт создания суперкоманды
- Пошаговый алгоритм создания самоорганизующейся команды
- Как вовлечь команды разработки в бизнес компании
- Развиваем доверие в командах
- Как внедрять инженерные практики в сопротивляющихся командах
- Методы мотивации сотрудников. Способы выращивания сотрудников с нуля
- Научный руководитель vs бизнес-менеджер: как управлять R&D
В общем, рекомендую канал конференции Teamlead Conf - там есть много интересных выступлений. Ну а на конференции для CTO и тем, кто им сочувствует, мы как программный комитет соберем бомбическую программу в этом году - нам хватает потенциальных спикеров и хороших заявок, но кажется уже не хватает для них мест, так как половина программы уже собрана. В итоге, дело осталось за вами - приходите на конференцию 6 июня.
#Management #Leadership #Strategy #PlatformEngineering #Engineering #Software #Architecture
Я уже рассказывал раньше про конференцию CTO Conf X, которая пройдет этим летом, в программном комитете которой я состою. А программный комитет так устроен, что его участники ревьювят все заявки на конференцию и выбирают лучшие доклады. Сейчас у нас уже есть порядка 120 заявок на примерно 20 мест, то есть конкурс 6 к 1, что достаточно солидно. В итоге, нам приходится повышать требования по качеству и стараться искать доклады, которые принесут что-то новое и интересное нашей аудитории. И одним из критериев для меня является сравнение с тем, а как заявленную тему раньше раскрывали на другой конференции Онтико, которая идет уже давно и где обычно обсуждались темы менеджмента и эта конференция "Teamlead Conf". Я сам выступал на ней несколько раз, а также знаю многих спикеров и членов программного комитета, то есть конференция достойная. Теперь представьте, что ко мне попадает заявка про создание самой перформящей команды, которая мотивирована на достижение результата, причем именно такого что нужен бизнесу. Вроде звучит хорошо, но можно чекнуть, а что рассказывали на конференции Teamlead Conf про это, а дальше спросить у потенциального спикера, а что он хочет добавить к тому, что уже было рассказано. Такой вопрос сразу переводит общение в плоскость конкретики и можно начинать говорить не просто за все хорошее против всего плохого, а по сути:)
Кстати, вот список докладов, что я нашел на Teamlead Conf, которые неплохо укладываются в заданную в качестве примера тему
- Культура как основа для масштабирования команды х2 каждый год
- Мотивация, делегирование и автоматизация: рецепт создания суперкоманды
- Пошаговый алгоритм создания самоорганизующейся команды
- Как вовлечь команды разработки в бизнес компании
- Развиваем доверие в командах
- Как внедрять инженерные практики в сопротивляющихся командах
- Методы мотивации сотрудников. Способы выращивания сотрудников с нуля
- Научный руководитель vs бизнес-менеджер: как управлять R&D
В общем, рекомендую канал конференции Teamlead Conf - там есть много интересных выступлений. Ну а на конференции для CTO и тем, кто им сочувствует, мы как программный комитет соберем бомбическую программу в этом году - нам хватает потенциальных спикеров и хороших заявок, но кажется уже не хватает для них мест, так как половина программы уже собрана. В итоге, дело осталось за вами - приходите на конференцию 6 июня.
#Management #Leadership #Strategy #PlatformEngineering #Engineering #Software #Architecture
Telegram
Книжный куб
CTO Conf X (Рубрика #Management)
В этом году пройдет CTO Conf X, первая профессиональная конференция для технических директоров, от компании "Онтико". Я много выступал на других конференциях этой компании, например, Highload++, Teamlead Conf, Teachlead Conf…
В этом году пройдет CTO Conf X, первая профессиональная конференция для технических директоров, от компании "Онтико". Я много выступал на других конференциях этой компании, например, Highload++, Teamlead Conf, Teachlead Conf…
👍16🔥7❤3
Code of Leadership #31 - Hooked: how to build habit-forming products (Рубрика #Management)
Новый эпизод подкаста посвящён обсуждению книги Нира Эяля «На крючке» и её модели создания продуктов, формирующих привычки. Для обсуждения книги пришел Евгений Сергеев (S0ER), который поделился опытом применения модели в разработке ПО, обсуждения её этических аспектов и влияния на пользователей. В общении мы затронули темы поведенческих триггеров, адаптации продуктов к привычкам пользователей, а также эволюции технологий, программирования и роли разработчиков. Особое внимание уделили важности обратной связи, доверия пользователей и интеграции продуктов в экосистемы.
Евгений уже много лет публикует хорошие видео на Youtube на канале S0ER, а также у него есть каналы в tg (@softwareengineervlog и @soer_live). Он много рассказывает про хард скиллы в обще, а также про проектирование и архитектуру в частности.
Выпуск подкаста доступен в Youtube, VK Video, Podster.fm, Ya Music.
#Architecture #Software #Engineering #ProductManagement #Management #Economics
Новый эпизод подкаста посвящён обсуждению книги Нира Эяля «На крючке» и её модели создания продуктов, формирующих привычки. Для обсуждения книги пришел Евгений Сергеев (S0ER), который поделился опытом применения модели в разработке ПО, обсуждения её этических аспектов и влияния на пользователей. В общении мы затронули темы поведенческих триггеров, адаптации продуктов к привычкам пользователей, а также эволюции технологий, программирования и роли разработчиков. Особое внимание уделили важности обратной связи, доверия пользователей и интеграции продуктов в экосистемы.
Евгений уже много лет публикует хорошие видео на Youtube на канале S0ER, а также у него есть каналы в tg (@softwareengineervlog и @soer_live). Он много рассказывает про хард скиллы в обще, а также про проектирование и архитектуру в частности.
Выпуск подкаста доступен в Youtube, VK Video, Podster.fm, Ya Music.
#Architecture #Software #Engineering #ProductManagement #Management #Economics
YouTube
Code of Leadership #31 - Hooked: how to build habit-forming products
Этот эпизод подкаста посвящён обсуждению книги Нира Эяля «На крючке» и её модели создания продуктов, формирующих привычки. Для обсуждения книги пришел Евгений Сергеев (S0ER), который поделился опытом применения модели в разработке ПО, обсуждения её этических…
🔥10❤4👍4👎2
Clean Architecture (Чистая архитектура) (Рубрика #Architecture)
Я прочитал эту книгу Дяди Боба (Роберта С. Мартина) шесть-семь лет назад и нашел концепции достаточно интересными, а по самым интересным частям я даже сделал подробные разборы: "Дизайн и архитектура, парадигмы программирования" и "Принципы дизайна модулей и разделения по компонентам", но все это было до старта этого канала. Поэтому сегодня я решил исправить это недоразумение и рассказать об этой книге, в которой Дядя Боб подчеркивает важность разделения ответственности и независимость от фреймворков, баз данных и пользовательских интерфейсов. Дядя Боб это делает очень ультимативно, что сильно подрывает веру в его подход. Ключевыми идеями являются следующие
Правило зависимостей: зависимости исходного кода должны указывать только внутрь, в направлении высокоуровневых политик. Это создает систему, в которой бизнес-правила не зависят от технических деталей.
Слоеность архитектуры: при реализации этого правила у нас появляются отдельные слои
- Entities (cущности) - основные бизнес-объекты и корпоративные бизнес-правила
- Use cases (варианты использования) - бизнес-правила конкретного приложения. Тут забавно, что этот термин взят из UML, где так называется один из видов диаграмм, про которые я рассказывал раньше
- Interface adapters (адаптеры интерфейса) - контроллеры, презентеры и шлюзы
- Framework & drivers (фреймворки и драйверы) - внешние инструменты, базы данных, UI-фреймворки
Этот архитектурный подход близок к гексагональной архитектуре (hexagonal architecture) или порты и адаптеры и луковая архитектура (onion architecture). Она также активно включает принципы SOLID, особенно принцип инверсии зависимостей, на котором строится вся слоистость и правило зависимостей. Боб говорит о том, что архитектура должна "кричать" о своем назначении — при взгляде на структуру кодовой базы она должна отражать бизнес-домен, а не технические детали.
С точки зрения применимости clean architecture наиболее полезна в следующих сценариях:
- Сложные или долгоживущие приложения, где поддерживаемость является критически важной
- Системы, где доменную модель решили выделить отдельно и использовать стиль DDD (domain driven design)
- Проекты, требующие четкого разделения между бизнес-логикой и инфраструктурой
Она помогает создавать системы, которые могут развиваться со временем в соответствии с изменяющимися бизнес-потребностями, и обеспечивает гибкость для замены фреймворков, баз данных или UI-технологий с минимальным влиянием на основную бизнес-логику.
Но этот подход заслуженно критикуют за
- Избыточную сложность для малых или простых проектов с прямолинейными требованиями
- Чрезмерную слоистость и натыкивание интерфейсов без явных преимуществ, что приводит к "злоупотреблению интерфейсами"
- Избыточный шаблонный код и абстракции, которые затрудняют понимание системы
- Чрезмерно крутую кривую обучения для инженеров и строгую дисциплину для правильной реализации
- Замедление начального развития проекта из-за предварительных усилий по проектированию
- Низкую производительность итогового решения из-за чрезмерного количества абстракций
Итого, я видел подходы к применению Clean Architecture для повышения качества кода в существующих проектах, но я уже активно не писал код сам, когда Uncle Bob явил свою концепцию миру. Именно поэтому я не могу оценить из первых рук насколько с ней получаются хорошие приложения:) Но мне кажется, что это как с любым подходом - можно сделать хорошо, а можно тяп-ляп ... Чистая архитектура тут не исключение.
#Architecture #Software #Engineering #DistributedSystems #SystemDesign
Я прочитал эту книгу Дяди Боба (Роберта С. Мартина) шесть-семь лет назад и нашел концепции достаточно интересными, а по самым интересным частям я даже сделал подробные разборы: "Дизайн и архитектура, парадигмы программирования" и "Принципы дизайна модулей и разделения по компонентам", но все это было до старта этого канала. Поэтому сегодня я решил исправить это недоразумение и рассказать об этой книге, в которой Дядя Боб подчеркивает важность разделения ответственности и независимость от фреймворков, баз данных и пользовательских интерфейсов. Дядя Боб это делает очень ультимативно, что сильно подрывает веру в его подход. Ключевыми идеями являются следующие
Правило зависимостей: зависимости исходного кода должны указывать только внутрь, в направлении высокоуровневых политик. Это создает систему, в которой бизнес-правила не зависят от технических деталей.
Слоеность архитектуры: при реализации этого правила у нас появляются отдельные слои
- Entities (cущности) - основные бизнес-объекты и корпоративные бизнес-правила
- Use cases (варианты использования) - бизнес-правила конкретного приложения. Тут забавно, что этот термин взят из UML, где так называется один из видов диаграмм, про которые я рассказывал раньше
- Interface adapters (адаптеры интерфейса) - контроллеры, презентеры и шлюзы
- Framework & drivers (фреймворки и драйверы) - внешние инструменты, базы данных, UI-фреймворки
Этот архитектурный подход близок к гексагональной архитектуре (hexagonal architecture) или порты и адаптеры и луковая архитектура (onion architecture). Она также активно включает принципы SOLID, особенно принцип инверсии зависимостей, на котором строится вся слоистость и правило зависимостей. Боб говорит о том, что архитектура должна "кричать" о своем назначении — при взгляде на структуру кодовой базы она должна отражать бизнес-домен, а не технические детали.
С точки зрения применимости clean architecture наиболее полезна в следующих сценариях:
- Сложные или долгоживущие приложения, где поддерживаемость является критически важной
- Системы, где доменную модель решили выделить отдельно и использовать стиль DDD (domain driven design)
- Проекты, требующие четкого разделения между бизнес-логикой и инфраструктурой
Она помогает создавать системы, которые могут развиваться со временем в соответствии с изменяющимися бизнес-потребностями, и обеспечивает гибкость для замены фреймворков, баз данных или UI-технологий с минимальным влиянием на основную бизнес-логику.
Но этот подход заслуженно критикуют за
- Избыточную сложность для малых или простых проектов с прямолинейными требованиями
- Чрезмерную слоистость и натыкивание интерфейсов без явных преимуществ, что приводит к "злоупотреблению интерфейсами"
- Избыточный шаблонный код и абстракции, которые затрудняют понимание системы
- Чрезмерно крутую кривую обучения для инженеров и строгую дисциплину для правильной реализации
- Замедление начального развития проекта из-за предварительных усилий по проектированию
- Низкую производительность итогового решения из-за чрезмерного количества абстракций
Итого, я видел подходы к применению Clean Architecture для повышения качества кода в существующих проектах, но я уже активно не писал код сам, когда Uncle Bob явил свою концепцию миру. Именно поэтому я не могу оценить из первых рук насколько с ней получаются хорошие приложения:) Но мне кажется, что это как с любым подходом - можно сделать хорошо, а можно тяп-ляп ... Чистая архитектура тут не исключение.
#Architecture #Software #Engineering #DistributedSystems #SystemDesign
Medium
Обзор “Clean Architecture” (Часть I: дизайн и архитектура, парадигмы программирования)
Прошло пару лет с момента моего первого прочтения книги Clean Architecture. Я решил ее перечитать и понял, что мне самому нужно саммари по…
👍12❤5🔥5
Vibe Coding Is The Future (Рубрика #AI)
Интересное видео от Y Combinator с обсуждением vibe coding, подхода к программированию, который описал Андрей Карпаты, сооснователь OpenAI и бывший директор по ИИ в Tesla. В феврале 2025 года он опубликовал твит, описав личный опыт использования Cursor Composer с интеграцией Whisper для голосового управления. В итоге, ребята из Y Combinator решили разобрать насколько этот подход к разработке меняет правила игры. Основные моменты обсуждения следующие
1) Роль инженера в эпоху ИИ
Согласно опросу YC, 25% основателей утверждают, что 95% их кодовой базы генерируется ИИ. Это не означает исчезновения технических навыков, но переопределяет приоритеты и ключевая компетенция смещается в сторону продуктового мышления - умения определять, что строить, а не как это кодировать. Интересно, что мы недавно именно это обсуждали с S0ER в подкасте Code of Leadership
2) Инструменты и рабочие процессы
Cursor и Windsurf стали фаворитами благодаря интеграции с кодовой базой и автономному анализу файлов. Gemini выделяется длинным контекстным окном, позволяя загружать всю кодовую базу для исправления ошибок. Sonnet и Deepseek конкурируют в качестве движков для генерации, тогда как Devin пока ограничен простыми задачами. При этом отладка остаётся слабым звеном: ИИ часто неспособен исправить ошибки, требуя полной перегенерации кода. Основатели сравнивают это с перегенерацией изображений в Midjourney с тем же промптом - вместо точечных правок код переписывается с нуля.
3) Трансформация найма и образования
Классические алгоритмические собеседования устаревают. Компании вроде Stripe и Gusto переходят к оценке практической продуктивности, например, созданию прототипа за 3 часа. Однако для масштабирования проектов критически важны системные архитекторы - специалисты, способные оптимизировать инфраструктуру под высокие нагрузки. Поколение Z, начинающее карьеру с ИИ-инструментами, демонстрирует уникальные преимущества. Обученные в «цифровой среде», они избегают классического синтаксического бремени, фокусируясь на логике и продуктивности. Однако без фундаментального понимания архитектуры (как в случае с Twitter и его проблемами масштабирования) даже генерируемый код рискует стать "техническим долгом".
4) Будущее разработки: Рекомендации и риски
- Интеграция ИИ в образование: Учебные программы должны совмещать генерацию кода с глубоким пониманием системного дизайна.
- Пересмотр метрик найма: Акцент на навыках отладки, код-ревью и продуктовом видении вместо алгоритмических головоломок.
- Инвестиции в инструменты отладки: Текущие LLM слабы в анализе ошибок - это направление станет ключевым для следующих версий моделей.
Все эти тезисы авторы подкаста подтверждают цитатами из общения с основателями стартапов, что входят в Y Combinator.
#AI #Software #Engineering #Management #SystemDesign #ProductManagement #Productivity #Architecture
Интересное видео от Y Combinator с обсуждением vibe coding, подхода к программированию, который описал Андрей Карпаты, сооснователь OpenAI и бывший директор по ИИ в Tesla. В феврале 2025 года он опубликовал твит, описав личный опыт использования Cursor Composer с интеграцией Whisper для голосового управления. В итоге, ребята из Y Combinator решили разобрать насколько этот подход к разработке меняет правила игры. Основные моменты обсуждения следующие
1) Роль инженера в эпоху ИИ
Согласно опросу YC, 25% основателей утверждают, что 95% их кодовой базы генерируется ИИ. Это не означает исчезновения технических навыков, но переопределяет приоритеты и ключевая компетенция смещается в сторону продуктового мышления - умения определять, что строить, а не как это кодировать. Интересно, что мы недавно именно это обсуждали с S0ER в подкасте Code of Leadership
2) Инструменты и рабочие процессы
Cursor и Windsurf стали фаворитами благодаря интеграции с кодовой базой и автономному анализу файлов. Gemini выделяется длинным контекстным окном, позволяя загружать всю кодовую базу для исправления ошибок. Sonnet и Deepseek конкурируют в качестве движков для генерации, тогда как Devin пока ограничен простыми задачами. При этом отладка остаётся слабым звеном: ИИ часто неспособен исправить ошибки, требуя полной перегенерации кода. Основатели сравнивают это с перегенерацией изображений в Midjourney с тем же промптом - вместо точечных правок код переписывается с нуля.
3) Трансформация найма и образования
Классические алгоритмические собеседования устаревают. Компании вроде Stripe и Gusto переходят к оценке практической продуктивности, например, созданию прототипа за 3 часа. Однако для масштабирования проектов критически важны системные архитекторы - специалисты, способные оптимизировать инфраструктуру под высокие нагрузки. Поколение Z, начинающее карьеру с ИИ-инструментами, демонстрирует уникальные преимущества. Обученные в «цифровой среде», они избегают классического синтаксического бремени, фокусируясь на логике и продуктивности. Однако без фундаментального понимания архитектуры (как в случае с Twitter и его проблемами масштабирования) даже генерируемый код рискует стать "техническим долгом".
4) Будущее разработки: Рекомендации и риски
- Интеграция ИИ в образование: Учебные программы должны совмещать генерацию кода с глубоким пониманием системного дизайна.
- Пересмотр метрик найма: Акцент на навыках отладки, код-ревью и продуктовом видении вместо алгоритмических головоломок.
- Инвестиции в инструменты отладки: Текущие LLM слабы в анализе ошибок - это направление станет ключевым для следующих версий моделей.
Все эти тезисы авторы подкаста подтверждают цитатами из общения с основателями стартапов, что входят в Y Combinator.
#AI #Software #Engineering #Management #SystemDesign #ProductManagement #Productivity #Architecture
YouTube
Vibe Coding Is The Future
Andrej Karpathy recently coined the term “vibe coding” to describe how LLMs are getting so good that devs can simply “give in to the vibes, embrace exponentials, and forget that the code even exists.” We dive into this new way of programming and what it means…
🔥12❤5👍5🤔1😢1
Что читают CTO? (Рубрика #Management)
Недавно я поделился своим списком рекомендованных tg-каналов с ребятами из Holyweb (аутсорс/аутстафф компания) и South HUB (сообщество C-Level). Они совместно проводили опрос технических директоров о том, а какие книги и telegram каналы они читают. Про книжки у меня спрашивать не стали, зная, что они уже есть в этом канале, а вот про tg-каналы спросили. Я поделился списком, но все они на мою карточку не влезли:) Еще в этом опросе участвовали ребята из Делимобиля, Звука, МТС Travel и других компаний и все рассказывал о том, что помогает им управлять ресурсами, доносить идеи до команд и инвесторов, а также создавать эффективные и конкурентные IT-решения.
Ниже представлены карточки с рекомендациями уважаемых людей, а мой полный список рекомендаций доступен здесь.
#AI #Software #Engineering #Management
Недавно я поделился своим списком рекомендованных tg-каналов с ребятами из Holyweb (аутсорс/аутстафф компания) и South HUB (сообщество C-Level). Они совместно проводили опрос технических директоров о том, а какие книги и telegram каналы они читают. Про книжки у меня спрашивать не стали, зная, что они уже есть в этом канале, а вот про tg-каналы спросили. Я поделился списком, но все они на мою карточку не влезли:) Еще в этом опросе участвовали ребята из Делимобиля, Звука, МТС Travel и других компаний и все рассказывал о том, что помогает им управлять ресурсами, доносить идеи до команд и инвесторов, а также создавать эффективные и конкурентные IT-решения.
Ниже представлены карточки с рекомендациями уважаемых людей, а мой полный список рекомендаций доступен здесь.
#AI #Software #Engineering #Management
❤16👍10⚡8🔥4🍌1🗿1
[1/3] A Prompt Pattern Sequence Approach to Apply Generative AI in Assisting Software Architecture Decision-making (Рубрика #Architecture)
В декабре 2024 года вышел whitepaper на тему использования Gen AI в архитектуре. Я заинтересовался этой темой и решил прочитать что же придумали ребята. Оказалось, что это некоторый co-pilot для архитекторов, который помогает правильные решения. Для этого авторы предлагают использовать паттерны промптинга, что объединяются в цепочку подготовки, анализа и принятия архитектурных решений. Основные паттерны здесь следующие
- Software architect persona pattern
- Architectural project context pattern
- Quality attribute question pattern
- Technical premises pattern
- Uncertain requirement statement pattern
- Prompt pattern sequence
Эти паттерны авторы исследования опробовали на 3 компаниях - двух настоящих (leading automobile financing bank's technological portal и leading retail pharmacy network) и одной вымышленной компании, что по легенде делает cloud-based CRM.
В самом начале авторы рассказывают как выглядит их подход к описанию указанных выше паттернов, куда входят как стандартные аттрибуты вида: Name, Context, Problem, Forces, Solution, Rationale и Consequences, а также расширенный список
- Specializes: описывает, как текущий стандарт специализируется или расширяет существующие стандарты, уточняя их связь и адаптацию для решения конкретных задач или контекстов.
- Statement template: предоставляет краткое описание или структурированное резюме стандарта, позволяя быстро понять его суть.
- Concrete statement example: приводит реальный пример использования шаблона описания, демонстрируя его применение на практике.
- Related patterns: содержит информацию о других паттернах, связанных с текущим, включая зависимости, предпосылки и рекомендации по совместному использованию (связанные паттерны вынесены в приложение к статье)
- Usage example: приводит практический пример из реальной жизни, показывающий применение паттерна и его полезность в конкретной ситуации.
- Known uses: представляет исторические или текущие примеры успешной реализации паттернов, подтверждая их эффективность и предоставляя ссылку на выполненный запрос для получения дополнительных деталей.
Сам flow работы с паттернами и Gen AI инструментами по мнению авторов статьи выглядит так
1) Архитектор ищет подходящие паттерны из списка выше
2) Дальше он применяет их для своего конкретного проекта и получает подсказки и предложения
3) Дальше он принимает решения после анализа сгенерированных подсказок и своего знания проекта
Все звучит достаточно понятно, но давайте перейдем к самим паттернам, а потом рассмотрим как авторы предлагают объединять их в цепочку промптов для ассистирования в анализе архитектуры проекта и принятии арх решений. Сами паттерны будут рассмотрены в следующем посте.
#Architecture #GenAI #AI #ML #Software #Engineering #SystemDesign #DistributedSystems #Project
В декабре 2024 года вышел whitepaper на тему использования Gen AI в архитектуре. Я заинтересовался этой темой и решил прочитать что же придумали ребята. Оказалось, что это некоторый co-pilot для архитекторов, который помогает правильные решения. Для этого авторы предлагают использовать паттерны промптинга, что объединяются в цепочку подготовки, анализа и принятия архитектурных решений. Основные паттерны здесь следующие
- Software architect persona pattern
- Architectural project context pattern
- Quality attribute question pattern
- Technical premises pattern
- Uncertain requirement statement pattern
- Prompt pattern sequence
Эти паттерны авторы исследования опробовали на 3 компаниях - двух настоящих (leading automobile financing bank's technological portal и leading retail pharmacy network) и одной вымышленной компании, что по легенде делает cloud-based CRM.
В самом начале авторы рассказывают как выглядит их подход к описанию указанных выше паттернов, куда входят как стандартные аттрибуты вида: Name, Context, Problem, Forces, Solution, Rationale и Consequences, а также расширенный список
- Specializes: описывает, как текущий стандарт специализируется или расширяет существующие стандарты, уточняя их связь и адаптацию для решения конкретных задач или контекстов.
- Statement template: предоставляет краткое описание или структурированное резюме стандарта, позволяя быстро понять его суть.
- Concrete statement example: приводит реальный пример использования шаблона описания, демонстрируя его применение на практике.
- Related patterns: содержит информацию о других паттернах, связанных с текущим, включая зависимости, предпосылки и рекомендации по совместному использованию (связанные паттерны вынесены в приложение к статье)
- Usage example: приводит практический пример из реальной жизни, показывающий применение паттерна и его полезность в конкретной ситуации.
- Known uses: представляет исторические или текущие примеры успешной реализации паттернов, подтверждая их эффективность и предоставляя ссылку на выполненный запрос для получения дополнительных деталей.
Сам flow работы с паттернами и Gen AI инструментами по мнению авторов статьи выглядит так
1) Архитектор ищет подходящие паттерны из списка выше
2) Дальше он применяет их для своего конкретного проекта и получает подсказки и предложения
3) Дальше он принимает решения после анализа сгенерированных подсказок и своего знания проекта
Все звучит достаточно понятно, но давайте перейдем к самим паттернам, а потом рассмотрим как авторы предлагают объединять их в цепочку промптов для ассистирования в анализе архитектуры проекта и принятии арх решений. Сами паттерны будут рассмотрены в следующем посте.
#Architecture #GenAI #AI #ML #Software #Engineering #SystemDesign #DistributedSystems #Project
ACM Other conferences
A Prompt Pattern Sequence Approach to Apply Generative AI in Assisting Software Architecture Decision-making | Proceedings of the…
👍8🔥3❤2🆒1