Поговорим о знании Существует модель описания знания, включающая в себя три основных компонента: - декларативное знание (что?) - процедурное знание (как?) - условное знание (когда и почему?) Декларативное знание - это факты и утверждения, процедурное - правила действий. Декларативное - предпосылка для процедурного. При этом в зависимости от обретаемого знания конкретные типы могут быть разного объема, где-то больше декларативного (теоретическая наука), где-то процедурного (езда на велосипеде). При этом знание неотделимо от контекста и деятельности, в которой оно применяется. Подумайте о кешировании и про: - разработку самого компонента кэша (разработчик) - выбор класса и конкретной реализации (архитектор) - настройка и мониторинг (SRE) Таким образом, часть знания не существует в голове отдельно от практики, в которой она проявляется. Помимо этого, в знании есть условные понятия, качественно меняющие понимание всей области. Вспомним снова про кеширование, с точки зрения архитектуры примером будет переход от «настроить идеально инструмент кеширования» к «пойти на __компромисс__ между целостностью и скоростью». Исходя из вышесказанного, декларативное знание предшествует процедурному, однако затем они развиваются в процессе обучения, но не обязательно синхронно. Согласно модели Дрейфуса (на является универсальной, но применяется в образовании), на ранней стадии доминирует декларативное знание в виде явных, контекстно-независимых фактов, на поздних - все более интуитивным. Это, в частности объясняет, почему нельзя научиться проектированию архитектуры за короткое время, - принятие решений почти всегда контекстно-зависимое. Универсальная модель обучения, таким образом: - декларативные знания - обучение, чтение, наблюдение - процедурные - повторяемая практика - условный - накопление опыта в разных ситуациях Важно отметить, что механизмы получения знания - не взаимозаменяемы. Если вы идете на конференцию, например, ArchDays, - вы получаете декларативное знание, отберите для себя выступления, которые могут быть вам полезны, заранее подумайте, как сможете применить и после выступления спрашивайте спикеров именно о том, как применить, какие действия выполнять, обменяйтесь контактами, спрашивайте по мере продвижения, либо исследуйте более глубоко тему самостоятельно. Так вы получите максимальный эффект. В организационном контексте подумайте следующем: - достаточно ли у сотрудников декларативного знания, чтобы качественно выполнять процедуры (процессы) - достаточно ли у сотрудников декларативного знания, чтобы реализовать в коде требуемые процедуры (фичи) - существуют ли процедуры, развивающие то, что декларируется (мы инновационны.. но есть ли процедуры это развивающие, обучающие?) - мы - гибкие, но заложены ли циклы обратной связи с последующими изменениями на основе этих циклов? - …. Для архитектора: - декларативное - курсы, книги, доклады, документация - процедурное - реальное проектирование систем - условное - разбор компромиссов, работа с разными контекстами