Михаил Дубаков о том, почему многие разработчики не развиваются. Часть 2

13 марта 2018, 13:44

Основатель Targetprocess Михаил Дубаков опубликовал развёрнутые ответы на некоторые возражения, посвящённые предыдущему тексту о связи между чтением и квалификацией разработчиков. dev.by приводит его в полном объёме.

Читать далее

Иллюстрация: technofaq.org

Мой недавний пост про чтение книг был некоторыми воспринят очень буквально. Очевидно теми, кто его не прочитал (хотя он совсем короткий). Разберем некоторые возражения.

1. «Нет корреляции между количеством прочитанного и зарплатой»

Это говорят люди, которые, вероятно, всё в жизни делают ради денег. Но даже в этом случае заявление неверное. Мы отталкиваемся от того, что человек понимает прочитанное и старается это использовать в работе. В любой уважающей себя компании таких людей замечают и стараются удержать, повышая зарплату. У меня нет результатов исследований на тему корреляции знаний/навыков и зарплаты, но я думаю, что она существенна.

2. «Чтение ради чтения это глупость»

Такой же аргументацией можно ударить по чему угодно. Бег ради бега? Сон ради сна? Брокколи ради брокколи? Я с трудом могу себе представить человека, который читает книги только ради чтения книг. Конечно же читают ради получения новых знаний, ради эмоций, ради лучшего понимания мира вокруг нас.

3. «Книги — устаревший формат познания мира»

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

4. «Если человек постигает мир не только через книжки (что по сути — концентрат чужого опыта и мнений), а также и другим образом? Может быть, у человека достаточно хорошо развито аналитическое мышление, чтобы учиться путём взаимодействия с миром вокруг?»

Это довольно интересное возражение, в которое стоит углубиться. Действительно, у человека может быть своеобразное и очень острое мышление, которым он великолепно препарирует окружающую действительность и быстро выстраивает правильные закономерности, интуитивно чувствует best practices и способен самостоятельно изобрести многое. Эти люди называются гениальными и среди нас их очень мало. Лично я не знаю ни одного такого и сам, конечно же, к ним не отношусь. Для большинства людей самостоятельный разбор окружающего мира — крайне неэффективное мероприятие. Гораздо лучше погружаться в накопленный опыт, получить готовые модели систем и мира, которыми с вами делятся хорошо написанные книги. Впитывая этот опыт, вы быстрее сможете научиться решать проблемы в вашем домене и, может быть, если повезет, сможете добавить что-то своё.

Самостоятельное мышление очень полезно. Нельзя читать книги бездумно, нужно делать это осознанно, постоянно анализируя прочитанное, сравнивать с вашими текущими представлениями, встраивать новую информацию в имеющийся коннектом. Самая большая ошибка чтения — это чтение без попыток понимания. Вы можете прочитать книгу в новой области и понять 20–30 процентов. Это нормально. Следующая по сходной теме книга должна увеличивать долю понимания до 50 процентов и так далее. Важно пытаться понимать.

5. «Советовать всем «инженерам» одно и то же очень глупо»

Замените чтение «постоянным развитием». Почему многие программисты не развиваются? Невозможно развиваться, всё время участвуя в похожих проектах, решая похожие задачи и не делая попыток добиться глубокого понимания используемых технологий. Для многих это, видимо, ОК. Но ребята, жизнь идёт, а вы стоите на месте. Я призываю проснуться утром и подумать об этом. Хотя бы раз. Глубоко.

Развитие — это же очень интересно, это такой постоянный hard fun. У меня есть список советов (которые все воспринимают как нравоучения и всё равно не слушают):

  • В следующий раз, стартуя node.js, попробуйте разобраться как устроен V8
  • Имплементируя новую пользовательскую историю, попробуйте понять, зачем она клиенту на самом деле?
  • Открывая в браузере онлайнер, задумайтесь, как работает HTTPS
  • В очередной раз ошибившись в оценке задачи, подумайте, почему это произошло?
  • Ответьте сами себе на вопрос, на сколько вы знаете Java по десятибальной системе? Почему не на 9?
  • Используя singleton, вы точно подумали о тестировании вашего кода?
  • Вы когда-то проектировали API системы?
  • Вы когда-то пробовали решить проблему средствами ФП? Если нет, то почему?

Как видите, у меня есть всего один простой совет — задавайте себе каждый день много вопросов. Question everything. Go deep. Сделайте это. Или идите в менеджеры. У них обычно есть ответ на любой вопрос.

Обсуждение