graywolf's lair

Inhuman being's diary…

Прагматичне мислення та навчання

| 4 Comments

Pragmatic Thinking and Learning coverНе так давно почав читати одну цікаву книжку – “Pragmatic Thinking & Learning” (“Прагматичне мислення та навчання”) від видавництва “The Pragmatic Bookshelf”. Здебільшого орієнтовано на програмістів (інженерів), але там є багато нестандартних (з мого досвіду) думок, які можуть бути цікаві й іншим. Вони то перетікають одна в одну, то здаються слабо пов’язаними, але я спробую виділити основне. Лейтмотив книги полягає в тому, що людський мозок – дуже потужний інструмент (капітан Очевидність, ага), але ми недостатньо ефективно ним користуємось. Дехто користується ним набагато успішніше і ці люди зазвичай є експертами в своїй галузі. А кого ми називаємо експертами?

Книжка посилається на модель отримання навичок братів Дрейфус. Якщо коротко, то кваліфікацію людини можна грубо оцінити по наступній шкалі (нижче дуже стислий переклад-переказ ось частини книжки, доступної в онлайні).

  1. Новачок (Novice). Новачки дуже переживають за свою успішність; їх досвіду замало, щоб повести їх у правильному напрямку і вони не знають чи їх вчинки будуть правильними. Новачки зазвичай не хочуть вчитися, зате хочуть досягти миттєвого результату. Вони не знають як реагувати на помилки і тому легко збиваються з пантелику, коли щось іде “не так”. Зате вони можуть бути досить ефективними, коли їм дати набір контекстно незалежних правил у формі “у випадку ХХХ, роби УУУ”. Іншими словами їм необхідний рецепт або алгоритм.
  2. Просунутий початківець (Advanced beginner). Просунуті початківці починають вже потроху відступати від фіксованих правил. Вони можуть спробувати якісь задачі самостійно, але у них все ще є труднощі із усуненням проблем, які виникають. Початківці можуть скористатись порадами в правильному контексті, врахувавши свій досвід подібних ситуацій, але ледь-ледь. І хоч вони вже починають формулювати якісь загальні принципи, вони все ще не бачать “всієї картини”. Якщо спробувати надати їм ширший контекст – вони відмахнуться від нього як від недоречного.
  3. Компетентний (Competent). Компетентні будують правильні моделі проблемної області та ефективно нею користуються. Здатні усувати проблеми з якими раніше не стикались. Про людей на цьому рівні часто кажуть, що вони “мають ініціативу”. Вони можуть вчити новачків і не задовбують експертів. Щоправда їм ще бракує досвіду аби вдало розставити пріоритети при рішенні задач. Власне кажучи, саме з цього рівня людину можна вже назвати інженером – компетентні вирішують задачі, а не працюють за алгоритмом.
  4. Досвідчений (Proficient). Досвідченим необхідна “повна картина” проблемної області, адже вони хочуть розуміти весь концепт. Вони роблять значний прорив в рамках моделі братів Дрейфус, адже постійно оцінюють виконану роботу і переглядають свої підходи, аби наступного разу бути ще ефективнішими. Вони також можуть навчатись використовуючи чужий досвід. І найголовніше – вони завжди беруть до уваги контекст задачі. Якщо повернутись до програмування, то чудовий приклад ілюстрації – це використання патернів проектування. Лише досвідчені використовують їх виключно там де треба, а не бездумно і повсюдно, бо це круто і модно.
  5. Експерт (Expert). Експерти – основне джерело знань та інформації в будь-якій сфері. Вони безперестану шукають все кращі і кращі методи роботи. Вони завжди застосовують весь свій велетенський багаж знань у правильному контексті. Вони пишуть книжки, статті та проводять семінари. Це сучасні чаклуни. Експерти керуються інтуїцією . Доктор Хаус, який з одного погляду на пацієнта (або взагалі його медичну картку) міг поставити діагноз – типовий приклад експерта. Експерти працюють за допомогою несвідомого “порівняння з взірцем” (“pattern recognition”) по базі свого досвіду. От тільки проблема в тому, що функція “порівняння з взірцем” асинхронна і знаходиться в частині мозку, яка не підконтрольна свідомості. Допомогти поставити її собі на вірну службу і намагається ця книжка.

Поділ вище, до речі, не новий і пильне око одразу помітить відповідність до принципу “шюхарі” (“shuhari”), яке взяли собі на озброєння адепти Agile.

P.S. До речі, я зв’язався з видавництвом – мну офіційно дозволили перекласти до 40 сторінок книжки для публікації в блозі, так що найближчим часом постараюсь викласти найбільш цікаві розділи українською! 😉

4 Comments

  1. Прагматичні програмісти написали книжку з психології? Клас!

    Хех, зауважив, що стаття вікіфікована. Я вкраду її кусочок для заготовки статті про модель Дрейфусів, ок?

    Ну, і мушу зауважити що стаття про pattern matching розповідає про регулярні вирази і Хаскель, а я сумніваюсь що це те на чому працюють експерти. Там більше підходить http://en.wikipedia.org/wiki/Pattern_recognition_

  2. Pingback: Нотатки зеленого ПМа. Частина нуль, або зміщуємо систему координат | graywolf's lair

Залишити відповідь

Required fields are marked *.