Industry Myth Busting • Joris Kuipers • GOTO 2023
Забавное выступление в стиле разрушителей легенд, в котором автор говорит про
- развитие технологий и какая зеленая трава и голубое небо было раньше
- микросервисы и монолиты
- feature branches vs trunk based development
- подходы к тестированию, юнит тесты, пирамиды тестирования, перевернутой пирамиды и honeycomb (наверное есть и дргуие фигуры)
Через все эти примеры сквозит мысль про то, что перед тем как выбирать лучший способ действий, стоит сначала определиться со своими целями, а дальше уже появятся критерии оценки конкретных решений:)
В конце автор подвешивает вопросы, которые он мог бы еще обсудить, но не хватило времени
- интерфейсы и конкретные классы
- сервисы и serverless
- the right programming language
- и в будущем обсуждение что лучше: писать код руками или при помощи AI
#Conference #Engineering #Software #SoftwareDevelopment
Забавное выступление в стиле разрушителей легенд, в котором автор говорит про
- развитие технологий и какая зеленая трава и голубое небо было раньше
- микросервисы и монолиты
- feature branches vs trunk based development
- подходы к тестированию, юнит тесты, пирамиды тестирования, перевернутой пирамиды и honeycomb (наверное есть и дргуие фигуры)
Через все эти примеры сквозит мысль про то, что перед тем как выбирать лучший способ действий, стоит сначала определиться со своими целями, а дальше уже появятся критерии оценки конкретных решений:)
В конце автор подвешивает вопросы, которые он мог бы еще обсудить, но не хватило времени
- интерфейсы и конкретные классы
- сервисы и serverless
- the right programming language
- и в будущем обсуждение что лучше: писать код руками или при помощи AI
#Conference #Engineering #Software #SoftwareDevelopment
YouTube
Industry Myth Busting • Joris Kuipers • GOTO 2023
This presentation was recorded at GOTO Amsterdam 2023. #GOTOcon #GOTOams
https://gotoams.nl
Joris Kuipers - Chief Technology Officer at Trifork NL @Quip76
RESOURCES
https://twitter.com/jkuipers
https://github.com/jkuipers
https://linkedin.com/in/jkuipers…
https://gotoams.nl
Joris Kuipers - Chief Technology Officer at Trifork NL @Quip76
RESOURCES
https://twitter.com/jkuipers
https://github.com/jkuipers
https://linkedin.com/in/jkuipers…
👍4❤3🔥1
Deep Learning от MIT Press
Эта книга John D. Kelleher вышла в серии Essential Knowledge Series и содержит интересное введение в deep learning. Я уже рассказывал про другую книгу "Data Science" из этой же серии, в которой он выступал в качестве соавтора. В этой книге автор рассказывает про нейронные сети на пальцах и только в одной главе (про backpropagation) он погружается немного в математику. И хоть с издания книги в 2019 году утекло много воды, но она мне кажется до сих пор неплохим обзором deep learning для людей далеких от ml. Сама книга состоит из 7 глав
1. Introduction to deep learning - введение начинается с того, что deep learning помогает принимать решения на основе данных. Автор вспоминает про тройку терминов AI (artificial intelligence), ML (machine learning), deep learning и показывает их вложенность друг в друга: deep learning ⊂ ML ⊂ AI. Дальше приводится пример с простым dataset, функцией как детерминированным маппингом входных значений в выходные, а дальше перехода от детерминизма к угадыванию функции по доступным в датасете inputs и outputs (объяснение ml на пальцах). Конечно угадать точно можно не всегда и многое зависит от доступного датасета. Дальше на пальцах разбирается обучение с учителем, без него, а также reinforcement learning. А к концу главы автор рассказывает про причины успешности deep learning: что нам не приходится самим заниматься выделением значимых фич (feature engineering), также это хорошо работает в домене с большим количеством фич (размерность задачи) и большим объемом данных (добавлю от себя про важность большого количества GPU). Кстати, в этом тексте упоминается AlphaGo, про которая есть крутая документалка.
2. Conceptual foundations - здесь рассказывается про то, что такое модель, как можно подобрать параметры модели с использованием доступных данных, как комбинируя простые модели можно получить комплексную модель
3. Neural networks: the building blocks of deep learning - краткое объяснение нейронных сетей, того как они работают и откуда появилось название глубоких нейронных сетей (от наличия hidden layers, которые расположены между input и output layers)
4. A Brief history of deep learning - здесь автор дает выжимку из истории развития нейронных сетей, причем фокус здесь как на концептуальных, так и на практических прорывах. Это описание истории показалось мне меньше biased, чем в книге "Антология машинного обучения" ("The Deep Learning Revolution"), про которую я писал раньше. Отдельно автор рассказывает почему deep learning стало так развивается в последнее время - тут работает цикл из трех элементов, что усиливают друг друга: big data, улучшение алгоритмов, улучшение железа
5. Convolutional and recurrent neural networks - здесь описывается работы сверточных и рекуррентных нейронных сетей, где первые отлично подходят для работы с изображениями, а вторые лучше для работы с текстом. Причем описание нейронных сетей дается буквально на пальцах (мне кажется, что его поймут и люди, что далеки от математики)
6. Learning functions - эта глава самая математическая из всех и здесь идет речь про градиентный спуск и backpropagation algorithm. Первый алгоритм абсолютно стандартен для задач поиска минимума/максимума функции, а вот алгоритм обратного распространения ошибки в 80х годах сильно продвинул глубокие нейронные сети в популярности, так как этот способ позволял определять как менять веса hidden layers в нейронной сети при обучении. Собственно, именно при рассмотрении backpropagation надо немного знать про частные производные
7. The future of deep learning - здесь автор описывает светлое будущее deep learning, которое за 4 прошедших года кажется наступило в виде пришествия LLM (large language models)
В общем, книга достаточно легко читается и классно подойдет для первоначального знакомства с этой областью на уровне научпоп литературы:)
#ML #Data #Learning #DataScience #Software #PopularScience
Эта книга John D. Kelleher вышла в серии Essential Knowledge Series и содержит интересное введение в deep learning. Я уже рассказывал про другую книгу "Data Science" из этой же серии, в которой он выступал в качестве соавтора. В этой книге автор рассказывает про нейронные сети на пальцах и только в одной главе (про backpropagation) он погружается немного в математику. И хоть с издания книги в 2019 году утекло много воды, но она мне кажется до сих пор неплохим обзором deep learning для людей далеких от ml. Сама книга состоит из 7 глав
1. Introduction to deep learning - введение начинается с того, что deep learning помогает принимать решения на основе данных. Автор вспоминает про тройку терминов AI (artificial intelligence), ML (machine learning), deep learning и показывает их вложенность друг в друга: deep learning ⊂ ML ⊂ AI. Дальше приводится пример с простым dataset, функцией как детерминированным маппингом входных значений в выходные, а дальше перехода от детерминизма к угадыванию функции по доступным в датасете inputs и outputs (объяснение ml на пальцах). Конечно угадать точно можно не всегда и многое зависит от доступного датасета. Дальше на пальцах разбирается обучение с учителем, без него, а также reinforcement learning. А к концу главы автор рассказывает про причины успешности deep learning: что нам не приходится самим заниматься выделением значимых фич (feature engineering), также это хорошо работает в домене с большим количеством фич (размерность задачи) и большим объемом данных (добавлю от себя про важность большого количества GPU). Кстати, в этом тексте упоминается AlphaGo, про которая есть крутая документалка.
2. Conceptual foundations - здесь рассказывается про то, что такое модель, как можно подобрать параметры модели с использованием доступных данных, как комбинируя простые модели можно получить комплексную модель
3. Neural networks: the building blocks of deep learning - краткое объяснение нейронных сетей, того как они работают и откуда появилось название глубоких нейронных сетей (от наличия hidden layers, которые расположены между input и output layers)
4. A Brief history of deep learning - здесь автор дает выжимку из истории развития нейронных сетей, причем фокус здесь как на концептуальных, так и на практических прорывах. Это описание истории показалось мне меньше biased, чем в книге "Антология машинного обучения" ("The Deep Learning Revolution"), про которую я писал раньше. Отдельно автор рассказывает почему deep learning стало так развивается в последнее время - тут работает цикл из трех элементов, что усиливают друг друга: big data, улучшение алгоритмов, улучшение железа
5. Convolutional and recurrent neural networks - здесь описывается работы сверточных и рекуррентных нейронных сетей, где первые отлично подходят для работы с изображениями, а вторые лучше для работы с текстом. Причем описание нейронных сетей дается буквально на пальцах (мне кажется, что его поймут и люди, что далеки от математики)
6. Learning functions - эта глава самая математическая из всех и здесь идет речь про градиентный спуск и backpropagation algorithm. Первый алгоритм абсолютно стандартен для задач поиска минимума/максимума функции, а вот алгоритм обратного распространения ошибки в 80х годах сильно продвинул глубокие нейронные сети в популярности, так как этот способ позволял определять как менять веса hidden layers в нейронной сети при обучении. Собственно, именно при рассмотрении backpropagation надо немного знать про частные производные
7. The future of deep learning - здесь автор описывает светлое будущее deep learning, которое за 4 прошедших года кажется наступило в виде пришествия LLM (large language models)
В общем, книга достаточно легко читается и классно подойдет для первоначального знакомства с этой областью на уровне научпоп литературы:)
#ML #Data #Learning #DataScience #Software #PopularScience
❤8👍4🔥3
CAP Theorem
Знаменитой CAP теореме исполнилось 25 лет, поэтому хотелось что это такое, зачем она и как появилась. Про это есть отличная статья от Eric Brewer, автора теоремы, который написал ее больше 10 лет назад, которую хотелось вспомнить, так как она хороша:)
Начнем с самого утверждения теоремы (цитата из статьи выше)
Дальше надо вспомнить про ее появление
- 25 лет назад, осенью 1998 года была сформулирована CAP теорема
- в 1999 году она была опубликована в статье "Harvest, Yield, and Scalable Tolerant Systems" в ACM
- в 2000 представлена на Симпоузиуме "Symposium on Principles of Distributed Computing" (презентация здесь)
- в 2002 доказана формально (где консистентность из теоремы превратилась в линеаризуемость)
Потом теорема пошла в массы и превратилась в условные "выберите 2 свойства из трех: C, A, P", что является сильным упрощением по трем причинам, что указывает Эрик в уже упоминавшейся статье:
1. Из-за редкости partition нет смысла выбирать между C и A (про это подробнее в следующий раз при обсуждении PACELC Theorem)
2. Решение о C или A принимается не единоразово для всех компонентов и всех данных, а на другом уровне гранулярности и может зависеть от типа операции или данных
3. C, A, P - это не бинарные свойства, а скорее непрерывные - availability от 0 до 100%, уровни консистентности тоже бывают разные и даже partitions имеют нюансы:)
В итоге, Эрик говорит о том, что в отсутствии разделения системы мы можем выбирать A или C, а во время проблем у нас должен быть понятный алгоритм
- определения, что случился partition
- перехода в явный partition режим, в котором часть операций может быть лимитирована
- запуска процесса восстановления консистентности и компенсации ошибок, что возможно были в рамках partition
Потом Эрик рассказывает про связь акронимов ACID, BASE и CAP
- BASE расшифровывается как Basic Availability, Soft state и Eventually consistency. Первые два из свойств помогают достигать доступности при разделении системы на части
- ACID расшифровывается как Atomicity, Consistency, Isolation, Durability. Этот акроним знают многие, кто работал с реляционными базами данных, но как я писал выше Consistency из CAP и из ACID - это про разное и это добавляет сложности в понимании:)
Следом идет часть про latency, которая отсутствует в классической формулировке, но неявно присутствует. Ведь выполняя операцию в разделенной системе, мы в какой-то момент должны принять решение
- отменить операцию и уменьшить доступность
- продолжить операцию, но принять риск неконсистентности данных
Конечно можно попробовать повторно выполнить операцию (retries), но это просто откладывает принятие решение на некоторое время. Таким образом, с прагматической точки зрения разделение — это ограничение по времени (таймаут), который мы закладываем в свое общение. А из этого следует несколько последствий
1. Не существует глобального понятия partition, поскольку некоторые узлы могут обнаружить partition, а другие — нет.
2. Те узлы, что обнаружили partition входят в режим partition-mode, собственно ту часть, где нам надо выбирать между C и A
В итоге, проектировщики системы выставляют time bounds так, чтобы соответствовать целевым скоростям ответа системы на запросы, а чем жестче эти time bounds, тем выше вероятность попадания в partition mode, причем даже просто при медленной сети, но без реального ее разделения.
В приведенной выше статье есть еще много интересных мыслей про scope консистентности и как это соотносится с датацентрами, как явно управлять процессами перехода в partition mode и восстанавливаться после partition. Очень рекомендую ее к прочтению.
#Software #Architecture #DistributedSystems #SystemDesign
Знаменитой CAP теореме исполнилось 25 лет, поэтому хотелось что это такое, зачем она и как появилась. Про это есть отличная статья от Eric Brewer, автора теоремы, который написал ее больше 10 лет назад, которую хотелось вспомнить, так как она хороша:)
Начнем с самого утверждения теоремы (цитата из статьи выше)
The CAP theorem states that any networked shared-data system can have at most two of three desirable properties:
- consistency (C) equivalent to having a single up-to-date copy of the data;
- high availability (A) of that data (for updates); and
- tolerance to network partitions (P).
Дальше надо вспомнить про ее появление
- 25 лет назад, осенью 1998 года была сформулирована CAP теорема
- в 1999 году она была опубликована в статье "Harvest, Yield, and Scalable Tolerant Systems" в ACM
- в 2000 представлена на Симпоузиуме "Symposium on Principles of Distributed Computing" (презентация здесь)
- в 2002 доказана формально (где консистентность из теоремы превратилась в линеаризуемость)
Потом теорема пошла в массы и превратилась в условные "выберите 2 свойства из трех: C, A, P", что является сильным упрощением по трем причинам, что указывает Эрик в уже упоминавшейся статье:
1. Из-за редкости partition нет смысла выбирать между C и A (про это подробнее в следующий раз при обсуждении PACELC Theorem)
2. Решение о C или A принимается не единоразово для всех компонентов и всех данных, а на другом уровне гранулярности и может зависеть от типа операции или данных
3. C, A, P - это не бинарные свойства, а скорее непрерывные - availability от 0 до 100%, уровни консистентности тоже бывают разные и даже partitions имеют нюансы:)
В итоге, Эрик говорит о том, что в отсутствии разделения системы мы можем выбирать A или C, а во время проблем у нас должен быть понятный алгоритм
- определения, что случился partition
- перехода в явный partition режим, в котором часть операций может быть лимитирована
- запуска процесса восстановления консистентности и компенсации ошибок, что возможно были в рамках partition
Потом Эрик рассказывает про связь акронимов ACID, BASE и CAP
- BASE расшифровывается как Basic Availability, Soft state и Eventually consistency. Первые два из свойств помогают достигать доступности при разделении системы на части
- ACID расшифровывается как Atomicity, Consistency, Isolation, Durability. Этот акроним знают многие, кто работал с реляционными базами данных, но как я писал выше Consistency из CAP и из ACID - это про разное и это добавляет сложности в понимании:)
Следом идет часть про latency, которая отсутствует в классической формулировке, но неявно присутствует. Ведь выполняя операцию в разделенной системе, мы в какой-то момент должны принять решение
- отменить операцию и уменьшить доступность
- продолжить операцию, но принять риск неконсистентности данных
Конечно можно попробовать повторно выполнить операцию (retries), но это просто откладывает принятие решение на некоторое время. Таким образом, с прагматической точки зрения разделение — это ограничение по времени (таймаут), который мы закладываем в свое общение. А из этого следует несколько последствий
1. Не существует глобального понятия partition, поскольку некоторые узлы могут обнаружить partition, а другие — нет.
2. Те узлы, что обнаружили partition входят в режим partition-mode, собственно ту часть, где нам надо выбирать между C и A
В итоге, проектировщики системы выставляют time bounds так, чтобы соответствовать целевым скоростям ответа системы на запросы, а чем жестче эти time bounds, тем выше вероятность попадания в partition mode, причем даже просто при медленной сети, но без реального ее разделения.
В приведенной выше статье есть еще много интересных мыслей про scope консистентности и как это соотносится с датацентрами, как явно управлять процессами перехода в partition mode и восстанавливаться после partition. Очень рекомендую ее к прочтению.
#Software #Architecture #DistributedSystems #SystemDesign
InfoQ
CAP Twelve Years Later: How the "Rules" Have Changed
The CAP theorem asserts that any networked shared-data system can have only two of three desirable properties (Consistency, Availability and Partition Tolerance). In this IEEE article, author Eric Brewer discusses how designers can optimize consistency and…
👍24❤8🔥5❤🔥1
[SafeCode Live] Secure by design
Сходил недавно на запись выпуска SafeCode Live, где мы говорили про подход Secure by design (SBD) или конструктивную безопасность в разработке продукта.
Мы интересно пообщались на темы что это такое, зачем нужно, что делать "если уже все сделано небезопасно", как прокачаться в безопасности и так далее:)
На стрим нас было четверо
- Алексей Федулаев, ведущий подкаста, руководитель направления автоматизации безопасной разработки в Wildberries.
- Сергей Рогачев, руководитель отдела разработки безопасной платформы в Лаборатории Касперского.
- Екатерина Рудина, аналитик в Лаборатории Касперского. Работает в департаменте перспективных технологий в области исследования угроз, моделирования и оценки рисков.
- и автор этого канала
Достаточно непривычно было выступать на этот раз не в качестве эксперта, а скорее в качестве гостя, который заинтересован в том, чтобы практики security присутсвовали в SDLC и не в финальной стадии, а начиная с работы с требованиями, оценки рисков, проектирования решения и так далее. В итоге, я сам с удовольствием слушал других спикеров и даже добавил себе в reading list пару книг, что они рекомендовали, но начать решил с базовой «Software Security» от Mathias Payer, которую порекомендовал Сергей.
#Security #SRE #Software #SoftwareDevelopment #SoftwareArchitecture #DistributedSystems #Architecture
Сходил недавно на запись выпуска SafeCode Live, где мы говорили про подход Secure by design (SBD) или конструктивную безопасность в разработке продукта.
Мы интересно пообщались на темы что это такое, зачем нужно, что делать "если уже все сделано небезопасно", как прокачаться в безопасности и так далее:)
На стрим нас было четверо
- Алексей Федулаев, ведущий подкаста, руководитель направления автоматизации безопасной разработки в Wildberries.
- Сергей Рогачев, руководитель отдела разработки безопасной платформы в Лаборатории Касперского.
- Екатерина Рудина, аналитик в Лаборатории Касперского. Работает в департаменте перспективных технологий в области исследования угроз, моделирования и оценки рисков.
- и автор этого канала
Достаточно непривычно было выступать на этот раз не в качестве эксперта, а скорее в качестве гостя, который заинтересован в том, чтобы практики security присутсвовали в SDLC и не в финальной стадии, а начиная с работы с требованиями, оценки рисков, проектирования решения и так далее. В итоге, я сам с удовольствием слушал других спикеров и даже добавил себе в reading list пару книг, что они рекомендовали, но начать решил с базовой «Software Security» от Mathias Payer, которую порекомендовал Сергей.
#Security #SRE #Software #SoftwareDevelopment #SoftwareArchitecture #DistributedSystems #Architecture
YouTube
[SafeCode Live] Secure by design
Подробнее о конференции SafeCode: https://jrg.su/hbNqzs
— —
В этом выпуске разбираемся в подходе Secure by design (SBD), или конструктивной безопасности в разработке продукта.
Участники обсуждают:
— что такое Secure by design и нужен ли он в каждом продукте;…
— —
В этом выпуске разбираемся в подходе Secure by design (SBD), или конструктивной безопасности в разработке продукта.
Участники обсуждают:
— что такое Secure by design и нужен ли он в каждом продукте;…
❤8👍4🔥4
В этот понедельник мы провели первый стрим клуба Code of Architecture по новой книге “Continuous Architecture in Practice”. В этом выпуске мы обсудили темы
- важности архитектуры здесь и сейчас, а конкретно про вызовы, что стоят перед архитекторами, а дальше то, как continuous architecture поможет с ними.На самом деле нет, вызовы шли отдельно, а принципы continuous architecture отдельно
- про принятие и governing архитектурных решений, про атрибуты качества, технический долг, про циклы обратной связи (фитнес функции, continuous testing), модели и нотации для описания архитектуры, паттерны проектирования и архитектурные стили, концепцию архитектуры как потока принятия решений.Тут тоже все это не было объединено бесшовно сквозной идеей, что показывает, что спроектировать консистентную по содержанию главу у авторов не совсем получилось
Гостем стрима был Максим Смирнов — ИТ-архитектор и автор «Архитектура ИТ-решений».
На самом выпуске мы упоминали книги:
- Building Evolutionary Architecture - уже разбирали это в CoA
- Technology Strategy Patterns - уже разбирали это в CoA
- Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World - предыдущая версия книги, которая потом превратилась в Continuous Architecture in Practice
- серию книг Вернона - Addison-Wesley Signature Series (Vernon), которые интересны и куда входит Continuous Architecture in Practice
Отдельно мы обсудили то, что Continuous Architecture - это хороший нейминг для темы. Потом я зашел на сайт continuous-architecture.org и нашел набор документов, которые застолбили тему непрерывной архитектуры за авторами:
- манифест по типу agile manifesto
- фреймворк в виде набора инструментов для continuous architecture в организациях
- инструкция как внедрять ее в организациях
#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
- важности архитектуры здесь и сейчас, а конкретно про вызовы, что стоят перед архитекторами, а дальше то, как continuous architecture поможет с ними.
- про принятие и governing архитектурных решений, про атрибуты качества, технический долг, про циклы обратной связи (фитнес функции, continuous testing), модели и нотации для описания архитектуры, паттерны проектирования и архитектурные стили, концепцию архитектуры как потока принятия решений.
Гостем стрима был Максим Смирнов — ИТ-архитектор и автор «Архитектура ИТ-решений».
На самом выпуске мы упоминали книги:
- Building Evolutionary Architecture - уже разбирали это в CoA
- Technology Strategy Patterns - уже разбирали это в CoA
- Continuous Architecture: Sustainable Architecture in an Agile and Cloud-Centric World - предыдущая версия книги, которая потом превратилась в Continuous Architecture in Practice
- серию книг Вернона - Addison-Wesley Signature Series (Vernon), которые интересны и куда входит Continuous Architecture in Practice
Отдельно мы обсудили то, что Continuous Architecture - это хороший нейминг для темы. Потом я зашел на сайт continuous-architecture.org и нашел набор документов, которые застолбили тему непрерывной архитектуры за авторами:
- манифест по типу agile manifesto
- фреймворк в виде набора инструментов для continuous architecture в организациях
- инструкция как внедрять ее в организациях
#SoftwareArchitecture #DistributedSystems #Architecture #SystemDesign #Software #CoA
YouTube
Continuous Architecture in Practice — Episode 1
Читаем две первые главы:
- Why Software Architecture Is More Important than Ever
- Architecture in Practice: Essential Activities
Разбираем:
- Что же такое архитектура приложений и почему она настолько важна;
- Какие вызовы стоят перед архитектурой…
- Why Software Architecture Is More Important than Ever
- Architecture in Practice: Essential Activities
Разбираем:
- Что же такое архитектура приложений и почему она настолько важна;
- Какие вызовы стоят перед архитектурой…
❤9👍9🔥3
Господин Тигр, Бетси и золотой морской конёк (Mr Tiger, Betsy and the Golden Seahorse)
Это третья и заключительная на этот момент книга про приключения Господина Тигра, Бетси и всех их друзей, которых мы запомнили за предыдущие пару книг:
- Мы встречаемся с Бетси, которая отправляется в гости к Мирте, своей маме-русалке
- Ее папа Альфонсо в это время занят ремонтом, чтобы сделать свой дом более русало-дружественным
- Под водой Бетси знакомится с мамиными друзьями и узнает печальную историю морского конька
- К папе приплывает Господин Тигр, который рассказывает про то, что свадьба принцессы Олби и Септимуса из второй книги произойдет раньше и поэтому Бетси и ее друзей ждут на острове Гонгалонгов пораньше
- ...
В общем, история как обычно интересно закручивается, но в этот раз заканчивается все свадьбой в стиле и жили они долго и счастливо.
Кстати, рассказчиком во всех трех книгах выступает не Бетси, Господин Тигр и кто-нибудь еще, а сами Буквы Алфавита, которые рассказывают истории о том, что происходит вне карты мира.
P.S.
Вся серия очень понравилась моему сыну-первокласснику и мы ее прочитали в формате сказок на ночь за несколько недель.
Для тех, кто заинтересуется серией отмечу, что про 1 и 2 книги я уже рассказывал в отдельных постах
1. Господин Тигр, Бетси и Посиневшая Луна (Mr Tiger, Betsy and the Blue Moon)
2. Господин Тигр, Бетси и морской дракон (Mr Tiger, Betsy and the Sea Dragon)
#ForKids #Tales
Это третья и заключительная на этот момент книга про приключения Господина Тигра, Бетси и всех их друзей, которых мы запомнили за предыдущие пару книг:
- Мы встречаемся с Бетси, которая отправляется в гости к Мирте, своей маме-русалке
- Ее папа Альфонсо в это время занят ремонтом, чтобы сделать свой дом более русало-дружественным
- Под водой Бетси знакомится с мамиными друзьями и узнает печальную историю морского конька
- К папе приплывает Господин Тигр, который рассказывает про то, что свадьба принцессы Олби и Септимуса из второй книги произойдет раньше и поэтому Бетси и ее друзей ждут на острове Гонгалонгов пораньше
- ...
В общем, история как обычно интересно закручивается, но в этот раз заканчивается все свадьбой в стиле и жили они долго и счастливо.
Кстати, рассказчиком во всех трех книгах выступает не Бетси, Господин Тигр и кто-нибудь еще, а сами Буквы Алфавита, которые рассказывают истории о том, что происходит вне карты мира.
P.S.
Вся серия очень понравилась моему сыну-первокласснику и мы ее прочитали в формате сказок на ночь за несколько недель.
Для тех, кто заинтересуется серией отмечу, что про 1 и 2 книги я уже рассказывал в отдельных постах
1. Господин Тигр, Бетси и Посиневшая Луна (Mr Tiger, Betsy and the Blue Moon)
2. Господин Тигр, Бетси и морской дракон (Mr Tiger, Betsy and the Sea Dragon)
#ForKids #Tales
❤7🔥4👍1
YaTalks - Как формировать структуру команд под запросы бизнеса
6 декабря в Москве я буду выступать на конференции Яндекса с докладом-саморефлексией примерно с такими тезизами
Приглашаю вас послушать выступление - трансляция будет доступна в открытом доступе. Если же вы окажетесь на конференции оффлайн, то заходите на сам доклад + ловите меня в кулуарах, если захотите обсудить темы управления разработкой или проектирования систем, ну или другую тему, что вам интересна.
#Management #Conference #Processes #Architecture #Project #Engineering #SoftwareDevelopment
6 декабря в Москве я буду выступать на конференции Яндекса с докладом-саморефлексией примерно с такими тезизами
В последние годы Tinkoff растет взрывным образом, что приводит к большим количествам изменений: организационных, продуктовых и инженерных. Я с компанией уже семь лет и не просто застал времена перемен, а участвовал во многих из них со стороны IT, причем про многие из них я рассказывал публично на конференциях и в своих статьях. Но в этом докладе я хотел бы вернуться к основам и поговорить про те принципы дизайна команд и управленческой структуры, которые помогали мне все это время. Плюс я хотел бы рассказать примеры того, как я использую их сейчас в редизайне структуры своего подразделения почти в тысячу человек:)
Приглашаю вас послушать выступление - трансляция будет доступна в открытом доступе. Если же вы окажетесь на конференции оффлайн, то заходите на сам доклад + ловите меня в кулуарах, если захотите обсудить темы управления разработкой или проектирования систем, ну или другую тему, что вам интересна.
#Management #Conference #Processes #Architecture #Project #Engineering #SoftwareDevelopment
yatalks.yandex.ru
Главная конференция Яндекса для IT-сообщества — YaTalks 2023
Как формировать структуру команд под запросы бизнеса — Александр Поломодов, Тинькофф
👍26🔥6❤4
Несведущий маэстро (The ignorant maestro: How great leaders inspire unpredictable brilliance) - I
Эта книга лежала у меня на полке больше года, пока ее не порекомендовали моей жене, Насте, в рамках ее магистратуры "Психоанализ и психоаналитическое бизнес-консультирование". И мне стало интересно прочитать эту книгу, которая написана дирижером и бизнес-консультантом, Итаем Талгаем. Он рассказывает в этой книге про свой подход к консультированию по менеджменту, который основан на музыкальных концепциях и демонстрируется на стилях руководства шести великих дирижеров.
Часть 1. Музыка бизнеса
В этой части автор рассказывает про музыку, которая окружает нас повсюду и почему анализируя работу музыкальных коллективов можно много узнать про лидерство. В конце части автор задает вопрос
Часть 2. Три мелодии лидерства
Автор предлагает свой рецепт из трех ингредиентов
1. Блестящее неведение
Здесь идет речь про философию Жака Рансьера, который написал книгу "Невежественный учитель" и популяризировал мысль педагога 19 века Жакото
Суть не в том, что хороший учитель может не знать своего предмета, а скорее в том, что он способен дистанцироваться от этого знания и передать ученикам не свое знание. То есть хороший учитель поощряет учеников давать собственную интерпретацию собственных открытий. Он помогает ученику, если тому не хватает силы воли, а не интеллекта. Сам автор говорит примерно так
2. Не бойтесь пустот
Глава начинается с цитаты великого пианиста, Артура Шнабеля
Автор предлагает воспринимать пустоты в качестве свободного пространства, которое подталкивает к творчеству и исследованию как в музыке, так и в бизнесе. Под пустотами автор понимает те ситуации, когда возникают ощущения, что "что-то не сходится", то есть это расхождения, которые могут касаться восприятия, ожиданий, идей, а также способов их выражения. Обычно пустотам мало кто радуется, потому что обычно руководители стремятся к единству сотрудников и компании, совместному движению навстречу четко сформулированным целям и своевременному их достижению. В такой картине мира пустоты отсутствуют как класс. Но без пустот нет и творчества, которое позволяет их заполнить чем-то новым, а значит нет и инноваций. В итоге, автор предлагает воспринимать пустоты как opportunities. И задача руководителя в том, чтобы возглавить процесс, когда все участники признают, что их мнение не является безусловной истиной. И дальше они будут готовы соединить различные смыслы в новое общее представление о будущем и вызвать перемены.
3. Мотивационное слушание
В отличие от мотивационного спикера, мотивационный слушатель не просто транслирует свои знания, а скорее создает диалог. Он знает, что результат любого взаимодействия будет разным для всех участников. Один из главных плюсов мотивационного слушания для руководителя - вдохновение людей и говорить, и слушать. Мотивационный слушатель создает для говорящего безопасное пространство, в котором ошибки вместе анализируют и используют для обучения. А это значит, что слушатель признает собеседника равноправным и равноценным участником диалога и это много меняет в общении.
В следующем посте я расскажу про третью часть книги, где автор говорит про стили лидерства 6 великих дирижеров.
P.S.
Меня давно интересовало как дирижеры и хореографы управляют своими коллективами и как это связано с управлением software engineering. Несколько лет даже написал статью про это:)
#Management #Processes #Leadership #Self
Эта книга лежала у меня на полке больше года, пока ее не порекомендовали моей жене, Насте, в рамках ее магистратуры "Психоанализ и психоаналитическое бизнес-консультирование". И мне стало интересно прочитать эту книгу, которая написана дирижером и бизнес-консультантом, Итаем Талгаем. Он рассказывает в этой книге про свой подход к консультированию по менеджменту, который основан на музыкальных концепциях и демонстрируется на стилях руководства шести великих дирижеров.
Часть 1. Музыка бизнеса
В этой части автор рассказывает про музыку, которая окружает нас повсюду и почему анализируя работу музыкальных коллективов можно много узнать про лидерство. В конце части автор задает вопрос
Существует ли универсальное звучание, подходящее всем организациям на каждой стадии развития?И сам же отвечает, что скорее всего нет. А дальше в книге он делится как уметь подобрать правильное звучание и менять его по мере изменения обстоятельств. И как руководителю не бояться выйти из зоны комфорта, чтобы пройти по этому пути.
Часть 2. Три мелодии лидерства
Автор предлагает свой рецепт из трех ингредиентов
1. Блестящее неведение
Здесь идет речь про философию Жака Рансьера, который написал книгу "Невежественный учитель" и популяризировал мысль педагога 19 века Жакото
Невежда может научить другого невежду тому, чего не знает сам
Суть не в том, что хороший учитель может не знать своего предмета, а скорее в том, что он способен дистанцироваться от этого знания и передать ученикам не свое знание. То есть хороший учитель поощряет учеников давать собственную интерпретацию собственных открытий. Он помогает ученику, если тому не хватает силы воли, а не интеллекта. Сам автор говорит примерно так
Лишь человек, который не знает, способен научиться чему-то неожиданному и добиться непредсказуемого
2. Не бойтесь пустот
Глава начинается с цитаты великого пианиста, Артура Шнабеля
Я умею играть ноты не лучше и не хуже других пианистов, но паузы между нотами - ах вот где искусство
Автор предлагает воспринимать пустоты в качестве свободного пространства, которое подталкивает к творчеству и исследованию как в музыке, так и в бизнесе. Под пустотами автор понимает те ситуации, когда возникают ощущения, что "что-то не сходится", то есть это расхождения, которые могут касаться восприятия, ожиданий, идей, а также способов их выражения. Обычно пустотам мало кто радуется, потому что обычно руководители стремятся к единству сотрудников и компании, совместному движению навстречу четко сформулированным целям и своевременному их достижению. В такой картине мира пустоты отсутствуют как класс. Но без пустот нет и творчества, которое позволяет их заполнить чем-то новым, а значит нет и инноваций. В итоге, автор предлагает воспринимать пустоты как opportunities. И задача руководителя в том, чтобы возглавить процесс, когда все участники признают, что их мнение не является безусловной истиной. И дальше они будут готовы соединить различные смыслы в новое общее представление о будущем и вызвать перемены.
3. Мотивационное слушание
В отличие от мотивационного спикера, мотивационный слушатель не просто транслирует свои знания, а скорее создает диалог. Он знает, что результат любого взаимодействия будет разным для всех участников. Один из главных плюсов мотивационного слушания для руководителя - вдохновение людей и говорить, и слушать. Мотивационный слушатель создает для говорящего безопасное пространство, в котором ошибки вместе анализируют и используют для обучения. А это значит, что слушатель признает собеседника равноправным и равноценным участником диалога и это много меняет в общении.
В следующем посте я расскажу про третью часть книги, где автор говорит про стили лидерства 6 великих дирижеров.
P.S.
Меня давно интересовало как дирижеры и хореографы управляют своими коллективами и как это связано с управлением software engineering. Несколько лет даже написал статью про это:)
#Management #Processes #Leadership #Self
❤7👍7🔥3🤔2
Code of Architecture - Continuous Architecture in Practice - II
Сегодня в 18:00 по Москве мы обсудим третью и четвертую главу книги Continuous Architecture in Practice. Эти главы посвящены архитектуре данных и безопасности.
- В третьей главе авторы вспоминают про DDD в контексте ubiquitous language и bounded contexts для проектирования самой доменной модели, дальше про polyglot persistance в разрезе использования sql/nosql решений, вспоминают про модели консистентности (по-факту, только про eventual consistency), кратко пробегаются по event sourcing, а дальше приходит к концепции data ownership и отгрузке данных для построения аналитических моделей, ну и напоследок обсуждают вопросы эволюции схемы в sql и nosql решениях.
- В четвертой главе наступает очередь безопасности и авторы говорят про основные вызовы, вспоминают триаду CIA (Confidentiality, Availability, Integrity), рассказывают про идентификацию и приоритизацию угроз, а в конце доходят до shift-left security.
В рамках эфира к нам присоединяться 2 гостя
- Вацлав Довнар, независимый консультант по процессам безопасной разработки. Он помогает компаниям создавать процессы безопасности которые не тормозят разработку.
- Дмитрий Гаевский, мой коллега , инженер dev-to-dev-решений на больших масштабах, RnD-решений и event-driven-систем.
#Software #Architect #SystemDesign #Philosophy #SoftwareArchitecture #Processes #Management
Сегодня в 18:00 по Москве мы обсудим третью и четвертую главу книги Continuous Architecture in Practice. Эти главы посвящены архитектуре данных и безопасности.
- В третьей главе авторы вспоминают про DDD в контексте ubiquitous language и bounded contexts для проектирования самой доменной модели, дальше про polyglot persistance в разрезе использования sql/nosql решений, вспоминают про модели консистентности (по-факту, только про eventual consistency), кратко пробегаются по event sourcing, а дальше приходит к концепции data ownership и отгрузке данных для построения аналитических моделей, ну и напоследок обсуждают вопросы эволюции схемы в sql и nosql решениях.
- В четвертой главе наступает очередь безопасности и авторы говорят про основные вызовы, вспоминают триаду CIA (Confidentiality, Availability, Integrity), рассказывают про идентификацию и приоритизацию угроз, а в конце доходят до shift-left security.
В рамках эфира к нам присоединяться 2 гостя
- Вацлав Довнар, независимый консультант по процессам безопасной разработки. Он помогает компаниям создавать процессы безопасности которые не тормозят разработку.
- Дмитрий Гаевский, мой коллега , инженер dev-to-dev-решений на больших масштабах, RnD-решений и event-driven-систем.
#Software #Architect #SystemDesign #Philosophy #SoftwareArchitecture #Processes #Management
👍9❤4🔥1
Yandex Platform Engineering
Крутой ресурс с описанием технологий и команд отдела Yandex Platform Engineering, который делает инфраструктуру для разработки и эксплуатации продуктов Яндекса.
Я первый раз вижу настолько круто сделанную страничку с описанием разных команд, их продуктов, а также технические параметры: основные языки, фреймворки, базы данных и других параметров, важных для разработчиков. И хоть я не собираюсь устраиваться в Яндекс, но мне было интересно побродить по странице и вдохновиться относительно того, как надо описывать свои команды, чтобы инженеры хотели попасть в них:)
Обычно страничка каждого продукта содержит как минимум следующие пункты
- важность продукта для пользователей (обычно других инженеров)
- инженерные вызовы, что стоят перед командой с объяснением почему именно так
- процессы, что приняты в команде - часто тут приводится принцип "you build it, you run it" с упоминанием про дежурства
- как выглядит команда и ее взаимодействие
P.S.
Думаю, что этот подход и нам стоит взять на вооружение
#PlatformEngineering #Engineering #Software
Крутой ресурс с описанием технологий и команд отдела Yandex Platform Engineering, который делает инфраструктуру для разработки и эксплуатации продуктов Яндекса.
Я первый раз вижу настолько круто сделанную страничку с описанием разных команд, их продуктов, а также технические параметры: основные языки, фреймворки, базы данных и других параметров, важных для разработчиков. И хоть я не собираюсь устраиваться в Яндекс, но мне было интересно побродить по странице и вдохновиться относительно того, как надо описывать свои команды, чтобы инженеры хотели попасть в них:)
Обычно страничка каждого продукта содержит как минимум следующие пункты
- важность продукта для пользователей (обычно других инженеров)
- инженерные вызовы, что стоят перед командой с объяснением почему именно так
- процессы, что приняты в команде - часто тут приводится принцип "you build it, you run it" с упоминанием про дежурства
- как выглядит команда и ее взаимодействие
P.S.
Думаю, что этот подход и нам стоит взять на вооружение
#PlatformEngineering #Engineering #Software
👍26❤9🔥4
How to Improve Developer Productivity • Jez Humble • YOW! 2020
Хорошее выступление Jez Humble на конференции Yow, в котором он рассказывал кратко про продуктивность разработки. Jez является соавтором книги "Accelerate" и это выступление выглядит как краткое саммари влиятельной книги, про которую я рассказывал раньше в постах 1, 2, 3.
Выступление начинается с плохих метрик продуктивности:
- lines of code - когда-то это была популярная мера, но теперь все понимают, что лучше меньше, да лучше
- velocity - это относительный показатель уровня команды, который нельзя использовать для сравнения команд между собой, а также им легко манипулировать при желании
- utilization - если гнаться за утилизацией, то мы сталкиваемся с законом Литтла и попадаем в ситуацию, когда очередная задача может примерно бесконечность находиться в очереди
Дальше Jez переходит к рассказу, а на что же надо обращать внимание и мы получаем, что продуктивность это
- team metric - результаты приносят команды, а не люди
- system-level outcomes - стоит смотреть на системные результаты, а не локальные
- outcomes, not output - надо максимизировать результаты, а не количество сделанных задач
Дальше на сцене появляются DORA метрики, разбитые по двум категориям
— Software delivery performance tempo — сюда входит delivery lead time и deployment frequency
— Software stability — сюда входит mean time to recover и change fail rate
И Jez разбирает их в деталях. Ну и напоследок Jez говорит про культуру и вспоминает
- исследования Веструма, про которые я уже писал. Там была речь про три типа культур: патологическую (pathological), бюрократическую (bureaucratic), производительную (generative)
- исследования Aristotle, которое проводил Google для своих команд. Главным вопросом было "What makes a team effective at Google?". Топ-1 фактором оказалось Psychological safety. Я уже рассказывал про это исследование.
#Management #Engineering #Software #SoftwareDevelopment #SRE #Devops #Leadership #Processes #PlatformEngineering
Хорошее выступление Jez Humble на конференции Yow, в котором он рассказывал кратко про продуктивность разработки. Jez является соавтором книги "Accelerate" и это выступление выглядит как краткое саммари влиятельной книги, про которую я рассказывал раньше в постах 1, 2, 3.
Выступление начинается с плохих метрик продуктивности:
- lines of code - когда-то это была популярная мера, но теперь все понимают, что лучше меньше, да лучше
- velocity - это относительный показатель уровня команды, который нельзя использовать для сравнения команд между собой, а также им легко манипулировать при желании
- utilization - если гнаться за утилизацией, то мы сталкиваемся с законом Литтла и попадаем в ситуацию, когда очередная задача может примерно бесконечность находиться в очереди
Дальше Jez переходит к рассказу, а на что же надо обращать внимание и мы получаем, что продуктивность это
- team metric - результаты приносят команды, а не люди
- system-level outcomes - стоит смотреть на системные результаты, а не локальные
- outcomes, not output - надо максимизировать результаты, а не количество сделанных задач
Дальше на сцене появляются DORA метрики, разбитые по двум категориям
— Software delivery performance tempo — сюда входит delivery lead time и deployment frequency
— Software stability — сюда входит mean time to recover и change fail rate
И Jez разбирает их в деталях. Ну и напоследок Jez говорит про культуру и вспоминает
- исследования Веструма, про которые я уже писал. Там была речь про три типа культур: патологическую (pathological), бюрократическую (bureaucratic), производительную (generative)
- исследования Aristotle, которое проводил Google для своих команд. Главным вопросом было "What makes a team effective at Google?". Топ-1 фактором оказалось Psychological safety. Я уже рассказывал про это исследование.
#Management #Engineering #Software #SoftwareDevelopment #SRE #Devops #Leadership #Processes #PlatformEngineering
YouTube
How to Improve Developer Productivity • Jez Humble • YOW! 2020
This presentation was recorded at YOW! 2020. #GOTOcon #YOW
https://yowcon.com
Jez Humble - SRE at Google Cloud & Lecturer at UC Berkeley @JezHumble
RESOURCES
https://continuousdelivery.com
https://github.com/jezhumble
https://linkedin.com/in/jez-humble…
https://yowcon.com
Jez Humble - SRE at Google Cloud & Lecturer at UC Berkeley @JezHumble
RESOURCES
https://continuousdelivery.com
https://github.com/jezhumble
https://linkedin.com/in/jez-humble…
👍8🔥6❤4
Большая книга аналогий (Big Book Of Science. Facts, Figures, and Theories to Blow Your Mind)
Прочитал пару лет назад эту крутую книгу Джоэла Леви, в которой собраны красивые и интересные аналогии из семи областей. Каждый пример размещен всего на паре страниц и отлично проиллюстрирован - наглядно показана концепция явления буквально на пальцах и продемонстрирован масштаб, ведь люди плохо воспринимают отличия в несколько порядков, когда несколько больше двух.
Семь областей откуда взяты примеры для аналогий - это физика, химия, биология, астрономия, наука о земле, тело человека и технологии. Вот буквально несколько тем, которые затронуты в первой четверти книги: законы Кеплера, парадокс близнецов, общая теория относительности, масштаб фундаментальных взаимодействий, кот Шредингера, броуновское движение, динамическое равновесие в химических реакциях:)
И несолько примеров аналогий из книги, чтобы было понять суть примеров
- Если увеличить атом до размеров собора, то его ядро будет не больше пчелы, жужжащей в центре, а электроны будут вращаться по внешнему периметру здания.
Клетка похожа на микроскопический город: в ней есть свои электростанции (митохондрии), фабрики (рибосомы), мусоровозы (секреторные вакуоли) и даже городская стена (клеточная стенка).
- Условия окружающей среды постоянно меняются. Чтобы выжить, человек должен поддерживать постоянство температуры тела и других параметров внутренней среды. Это похоже на подъем по эскалатору, едущему вниз.
- Наша Вселенная расширяется, и галактики в ней удаляются друг от друга тем быстрее, чем больше расстояние между ними. Это похоже на то, как удаляются друг от друга изюминки в булочке, которую пекут в духовке.
В общем, книгу можно отдавать почитать подростку или самому читать ее детям помладше:)
#ForKids #ForParents #PopularScience
Прочитал пару лет назад эту крутую книгу Джоэла Леви, в которой собраны красивые и интересные аналогии из семи областей. Каждый пример размещен всего на паре страниц и отлично проиллюстрирован - наглядно показана концепция явления буквально на пальцах и продемонстрирован масштаб, ведь люди плохо воспринимают отличия в несколько порядков, когда несколько больше двух.
Семь областей откуда взяты примеры для аналогий - это физика, химия, биология, астрономия, наука о земле, тело человека и технологии. Вот буквально несколько тем, которые затронуты в первой четверти книги: законы Кеплера, парадокс близнецов, общая теория относительности, масштаб фундаментальных взаимодействий, кот Шредингера, броуновское движение, динамическое равновесие в химических реакциях:)
И несолько примеров аналогий из книги, чтобы было понять суть примеров
- Если увеличить атом до размеров собора, то его ядро будет не больше пчелы, жужжащей в центре, а электроны будут вращаться по внешнему периметру здания.
Клетка похожа на микроскопический город: в ней есть свои электростанции (митохондрии), фабрики (рибосомы), мусоровозы (секреторные вакуоли) и даже городская стена (клеточная стенка).
- Условия окружающей среды постоянно меняются. Чтобы выжить, человек должен поддерживать постоянство температуры тела и других параметров внутренней среды. Это похоже на подъем по эскалатору, едущему вниз.
- Наша Вселенная расширяется, и галактики в ней удаляются друг от друга тем быстрее, чем больше расстояние между ними. Это похоже на то, как удаляются друг от друга изюминки в булочке, которую пекут в духовке.
В общем, книгу можно отдавать почитать подростку или самому читать ее детям помладше:)
#ForKids #ForParents #PopularScience
👍13🔥6❤4🤡1🤪1