Інформаційна дієта програміста

Приєднуйтесь до спільноти DZone та отримуйте досвід повного членства.

інформаційна

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

Інтернет є чудовим місцем для зіставлення виробників вмісту - наприклад, автора цієї статті - із споживачами, які переглядають його зараз та їх майбутні пошукові запити в Google. Однак читати кожну статтю, яка видається цікавою, неможливо і можна порівняти з покупкою кожної книги, з якою ви стикаєтесь; насправді саме це трапилося з багатьма з нас, коли ми вперше отримали доступ до Інтернету та безлічі безкоштовних електронних книг, присвячених темам програмування.

Далі можна застосувати до будь-якого джерела вмісту, що надходить з нескінченного веб-потоку: статті та блоги, електронні книги (безкоштовні та ні), есе тощо.

Книжкове порно

Концепція книжкового порно виникла у Джеффа Етвуда, розглядаючи книжкове порно весь вміст, що описує те, чого ніколи не можна було зробити в реальному житті. Причиною цього є зовсім інша кар'єра (наприклад, читання про API Python під час роботи в магазині .NET) або те, що це недоступно для більшості з нас (статті, що описують, як архітектура AWS від імені Обами для Америки ).

Розгляньте кожну статтю як можливий екземпляр порно вмісту та вирішіть, чи читаєте ви, бо це круто або для підвищення ваших власних навичок.

Інформаційний період напіввиведення

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

Я не маю на увазі застарілість інформації за експоненціальною моделлю, оскільки застарівання - це навіть не бінарний стан (кажуть наші друзі, коди кобола). Але розгляньте період напіввиведення теми, перш ніж вивчати надто багато про неї - я знав внутрішню частину Zend Framework 1 лише 3 роки тому, тоді як зараз вона застаріла для нової версії, і ця інформація корисна лише для застарілих виловщиків коду. Тим часом знання таких інструментів Unix, як grep, find, xargs, лише зросли.

Неважливо, наскільки крута технологія, а наскільки вона неміцна, за висловом Талеба. Час життя технологій дотримується силового закону, що означає, що чим довше щось залишається, тим довше це може існувати в майбутньому. Ось чому C має більшу ймовірність, ніж Java і PHP, існувати через 40 років, тоді як у свою чергу Java і PHP мають вищу ймовірність виживання щодо Node.js.

Звичайно, нестабільність технологій, як правило, обернено корелює з їх специфікою. Вивчення нової мови корисно для ваших тривалих навичок програмування; вивчення фреймворку або бібліотеки менш корисно, якщо ви не відразу застосуєте ці навички; Навчання фреймворку тестування або системі автоматизації побудови (високо стандартизовані інструменти) мовою, відмінною від тієї, якою ви користуєтеся зараз, є цілковитою втратою часу.

Книга канбан

Єдиний раз, коли ти справді щось опановуєш, це коли застосовуєш це у виробничому середовищі. Це означає, що технології та практики входять у ваш цикл розвитку:

Це аж ніяк не означає, що ви закінчили один раз, застосовуючи практику, але ліворуч на цій дошці можуть бути блоки для вашого вдосконалення. Наприклад, незалежно від того, скільки книг ви купуєте та статей, які ви надсилаєте на ваш Kindle, у вас є обмежений час та енергія для вивчення та здійснення нових навичок.

Що відбувається, коли на попередніх стадіях трубопроводу є обмеження потужності (з поважних причин)? Як сказав би Голдратт, підпорядкуйте все обмеженню фази навчання. Практично це означає дотримання дисциплінованого обмеження WIP на етапах дослідження: я вирішив не купувати і не завантажувати більше однієї книги за раз.

Контекстні перемикання на навчання подібні до тих, що трапляються при розробці програмного забезпечення: вони збільшують час циклу, роблячи ваші нові навички запізненнями на вечірку, і споживають енергію, яка могла б зосередитися на одній темі.

Пакети, через RSS

У книзі Талеба «Антифрагільний» ще раз сказано: інформація, яка переважно цінна через 1 день і набагато менш цінна через 7 днів, буде гаргабована через 30 днів. Отже, ви не хочете витрачати свій час на його читання: хоча партії неефективні для часу циклу в командному середовищі, вони ідеально підходять для фільтрації всього, що вимре самостійно, перш ніж бути поглиненим (більшість новин).

Це одна з причин, чому ітерація не може змінити свої пріоритети до закінчення двох тижнів.
RSS дуже добре працює для організації пакетів, оскільки він добре запам'ятовує інформацію (не втрачаючи улюблені блоги), дозволяючи вам позначати величезні джерела статей ярликом "Великий обсяг". Twitter намагається це зробити зі списками, але безрезультатно.

Остерігайтеся автоматизованих потоків RSS, таких як Hacker News повного тегу DZone Links; вони мають настільки великий обсяг, що потонуть одиноких авторів. Наклейка "Великий обсяг" або відмова від підписки на них є найкращим рішенням.