Читать, читать и еще раз читать.

Нужно было потратить всего 10 лет работы, что понять одну простую мысль — один из лучших методов пополнить свои знания — это читать.

ВСЕМ МАЛООПЫТНЫМ ПРОГРАММИСТАМ!!! ПОВТОРЯЮ, ВСЕМ МАЛООПЫТНЫМ ПРОГРАММИСТАМ!!!

Ой… Чего-то это я кричу.

Постоянно читайте книги — по новым языкам программирования, новым фрейморкам, методологиям и т.п.

Легко и играючи можно убить 16 часов на то, чтобы разобраться с одним маленьким багом. Итого, вы потратили 16 часов, и получили каплю информации. За теже 16 часов чтения, вы бы успели прочесть 1-2 книги.

Естественно, вам не будут платить зарплату за чтение книг. Как насчет того, чтобы договориться на понижении ЗП на 20% и то, что вы это время на работе будете читать? За год, вы прочтете порядка 2 часа в день * 200 дней = 400 часов * 20 страниц в час = 8000 страниц / 250 страниц книга = 32 книг.

Бьюсь об заклад, обладая дополнительным знаниями, вы легко повысите свою ЗП на 20% (все еще продолжая работать по 6 часов).

Для тех, что считает, что если прочесть и ничего не делать, то все забудется:
1) Во первых, что-то останется. Даже если останется в голове 10% полезной информации, это будет на две головы выше, чем тоже время потраченое на пофиск нескольких десятков багов.
2) Делайте для себя небольшие записки, самой ключевой информации. Таким образом, даже если забудется, то вы легко сможете по запискам восстановить ключевые моменты.

За сим откланяюсь, пошел перечитывать Code Complete 😉

21 комментарий to “Читать, читать и еще раз читать.”

  1. Андрей Подгурский:

    Витя,

    ты ж вроде не пОдрасток, а всё туда же. Или это Америка на тебя так влияет?
    Это у всех гуру личностного роста, гуру бизнеса и прочих лоховодов было — «читайте по книге в неделю, и будет вам счастье». Так сказать совет с душком.

    Прочитав 50 книг за год — в голове образуется каша. Стало быть нужно закреплять практикой (помнишь, в универе, лаболаторные работы были)

    А это уже называеться отдельное образование, само образование и т.п. — что несколько отличаеться от просто почитать книжку.

    В любом случае, чем читать книги наперёд — практика практика и ещё раз практика. Лучше займись делом и читай литературу по требованию — толку больше будет.

    • Victor Ronin:

      По пунктам

      а) Я нигде не говорил о наступлении счастья. 🙂 Я говорил «один из лучших методов пополнить свои знания – это читать.»

      б) Насчет в голове образуется каша — достаточно спорно. Точнее так, если читать книги схожего направления — например только по языкам программирования, то понятно, что каша будет. Если книги хоть слегка разноправленные, то каши будет гораздо меньше.

      в) Да, я согласен, в идеале, нужна практика для закрепления. Проблема заключается в том, что практика занимает кучу времени. Если книжку по скажем Ruby, я могу прочесть за X часов. То, чтобы минимально пощупать язык мне нужно будет 10-50*X.

      Соответственно мы имеем либо 30 книжек без практики, либо 3 книжки с практикой.

      г) Насчет практика-практика-практика. Я же не против, я за 2 руками, но ограничение по колчиству часов в сутках — достаточно жестокая вещь.

  2. Yurii Rashkovskii:

    крайне несогласен. единственный способ чего-то достичь — делать что-то.

    • Victor Ronin:

      Еще раз повторяю первую строку: «один из лучших методов пополнить свои знания – это читать.»

      Я не говорю о достижениях, я говорю о знаниях.

  3. OZ:

    Андрей Подгурский, я вот нашёл в этом мини-тексте другое.
    Я согласен с тем, что не нужно боятся читать новые книги о новых технологиях перед тем, как эти технологии использовать. А то ведь мы обычно и инструкцию по применению читаем после того, как что-то сломается.
    От чтения книг, без практики, не станешь опытнее. Но если опыт получать исключительно без книг — этот путь гораздо более долгий. Нет смысла тратить время на метод проб и ошибок, когда о них можно узнать заранее.
    Например, прочитав книгу о шаблонах проектирования, не станешь гуру ООП. Но в памяти что-то останется, и при создании архитектуры нового приложения уже вспомнишь «вот так вот делать нельзя», или «это признак плохой архитектуры», или «это нарушает принцип SOLID», или «здесь лучше сделать вот так, я помню». И практика будет идти легче и приятнее.

    • Victor Ronin:

      Большое спасибо 🙂

      Именно это я имел в виду. Чаще всего книга берется в руки, когда она уже практически не нужна (когда было потрачего 5 лет, чтобы дойти до этого самому).

      Получается, что множество программистов, постоянно изобретают велосипеды, вместо того, чтобы взять готовый велосипед и изобрести автомобиль.

  4. ctype:

    непродуктивно как по мне.
    писателям книжек платят постранично, поэтому можно просто «утонуть» в потоках информации.
    ну и с определенного момента мозги становяться забиты на столько, что нужно сначала «выкинуть что-нить ненужное»

    так что лучше применять некий «алгоритм» для уменьшения энтропии 🙂
    лично я «разделяю» инфу на несколько «видов»:
    — важная — верхнеуровневое описание архитектуры и возможностей, сюда же можно отнести все что универсально — построение архитектур и алгоритмов и все такое
    — «индекс» — где искать ответы на вопросы , далеко не у всех систем есть свой мсдн, поэтому знать где «тусят» разработчики важно, особенно в случае неординарных вопросов; просто гугление зачастую не помогает, особенно если слова не уникальны
    — «мусор» — описание конкретных функций и все такое, лучше вообще не читать без необходимости

    • Victor Ronin:

      Никто не обязывает книжку читать от корки до корки. Можно вполне пропускать какие-то темы, можно читать по диагонали.

      И в ответ возникает вопрос, а что продуктивно?

      Как я написал в статье, молодому программисту зачастую выдают X багов, которых надо фиксить от забора и до обеда. И он из этих багов по крупицам выводит то, что можно прочесть в книги гораздо быстрее.

      • ctype:

        Я выше привел, что продуктивно для меня лично.
        за молодых программистов не скажу, смотря к чему он стремится.
        вообще конечно банальности выходят — «знай систему с которой работаешь» 🙂
        так что да — пусть читают книжки , я б еще рекомендовал читать чужой код и много думать в дополнение к книжкам 🙂

        • Victor Ronin:

          Безусловно, для более опытных разработчиков чтение книг просто так, становится менее эффективным, так как им требуются более глубокие знания, чем можно получить поверхностно пробежав книжку.

        • Victor Ronin:

          Кстати +100 по поводу «много думать» 🙂

  5. А я согласен с автором.
    Тот же Стив Макконнел пишет, что в нашей индустрии книги очень важны. Я на практике убеждался много раз, что люди не читающие книг от практикующих профессионалов типа Фаулера, Макконнела, Эванса, Мартина и т.д. остаются на уровне Code Monkey — не более того, мыслят узко, только в рамках языка, и всё программирование для них заключается в создании велосипедов и их сборке\разборке.

    • Victor Ronin:

      Спасибо.

      Даже если не остаются на уровне Code Monkey, у них занимает годы дойти до того, что уже давно придумано и обкатано.

  6. Единственное, с сем не согласен это с объемом прочитанного. Банальные 30 страниц в день очень тяжело читать. Именно каждый день без перерывов.

  7. paceholder:

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

    • Victor Ronin:

      Да, причем не только с конкретной технологией, а зачастую с целым классом технологий, идей и т.п.

  8. Добрый день, Виктор.

    Лично я полностью с Вами согласен. Лучший способ пополнить свои знания — читать. Но в то же время я не думаю, что надо читать на работе и уменьшать зарплату, достаточно просто «оптимизировать» свое время. Не тратить на просмотр телевизора или любое другое глупое времяпрепровождение. У меня мало времени по вечерам (дети, жена :)), но я стараюсь читать книги и учебные материалы по пути на работу — в поезде или в метро.

    С уважением,
    Рустам.

    • Victor Ronin:

      Безусловно, оптимизация времени гораздо лучше. Просто, чаще всего это утыкается, в то, что время и так заоптимизировано. И единственный метод, что-то добавить — это что-то выкинуть.

      Плюс, после полноценного 8-и часового рабочего дня голова уже варит достаточно слабенько.

      Отсюда и была взята идея, чуть урезать работу.

  9. Виктор, я думаю что еще очень полезно после прочтения очередной главы/раздела — или почитать код чужих велосипедов или пообщаться с кем-либо выше тебя по уровню и чтобы он показал на примере (даже абстрактном) суть.

    Я вот читал в транспорте по дороге домой книги и прийдя домой решил покушать, отдохнуть и т.п. В итоге мало что осталось в голове. Наверное лучше читать по дороге на работу и прийдя туда попросить сотрудника более опытного показать что-то или просто у него поспрашивать то, что не до конца понятно.

    • Victor Ronin:

      Безусловно. Дополнительная активность -попробовать самому, обсудить с кем-то всегда дает возможность «закрепить» в памяти прочтенное.