- PVSM.RU - https://www.pvsm.ru -
Недавно я прочитал книгу Роберта Мартина «Идеальный программист». Книга, несмотря на свою популярность, оставила у меня много вопросов, касающихся того, насколько её советы применимы в реальной жизни разработчиков.
Один из моментов, который вызывает недоумение, — это рекомендация использовать обеденный перерыв для учёбы. Автор, похоже, считает, что обучение должно занимать всё свободное время программиста, включая обед. Звучит так, будто отдых и перезагрузка для продуктивности не имеют значения.
Мартин настаивает, что профессионал должен работать 8 часов в день, а потом еще 4 часа тратить на обучение. Проблема в том, что это оставляет очень мало времени на семью, друзей или увлечения. Как такой подход может быть реалистичным для человека, у которого есть обязательства вне работы? При этом автор сам неоднократно упоминает, что в своё время работал по 60–80 часов в неделю, что приводит к вопросу: это хвастовство или жалоба?
Если вы не укладываетесь в 40 часов, то, возможно, проблемы кроются в вашем планировании или менеджменте компании, а не в том, что вы недостаточно профессиональны.
Мартин утверждает, что каждому разработчику важно уметь писать алгоритмы, и с этим трудно не согласиться, ведь знание основ алгоритмов помогает решать задачи эффективно. Однако далеко не каждому программисту приходится ежедневно сталкиваться с задачами, где эти знания жизненно необходимы. В современном мире многие алгоритмические задачи уже решены, и есть готовые библиотеки и инструменты, которые можно использовать. Если вам всё-таки понадобятся эти знания, их легко освежить при необходимости.
Сети Петри, диаграммы Насси-Шнейдермана и автоматы Мура и Мили — это классические инструменты, которые можно однажды изучить и использовать при редкой необходимости. В повседневной практике они встречаются не часто, но их знание может стать полезным в специфических ситуациях. Они не устарели, но, как и с алгоритмами, это те вещи, которые можно временно отложить и вернуться к ним, когда потребуется.
Одно из самых спорных утверждений — необходимость выполнять программные упражнения (ката) каждое утро перед работой. Звучит как обязательный ритуал, который не обязательно способствует реальному профессиональному росту.
Основная мысль книги заключается в том, что разработчик должен быть предельно погружён в работу, даже в ущерб личной жизни. Это создаёт образ программиста как человека, который живёт ради работы, что, мягко говоря, далеко от реальности. Программирование — это не «личностная черта», а профессия, и важно иметь баланс между работой и жизнью.
Многие принципы, которые Мартин описывает как применимые исключительно к разработке, на самом деле универсальны для любой профессии. Ответственность, честность, соблюдение сроков — всё это важно не только для программистов, но и для врачей, инженеров или юристов. Автор, похоже, забывает, что многие его советы не уникальны для программирования.
Автор сравнивает программирование с музыкой, искусством или боевыми искусствами, что для меня кажется совершенно неверным. Программирование — это прежде всего решение задач, и оно больше связано с логикой, чем с творчеством. В реальной жизни большинство разработчиков не занимаются «тренировками» своего кода — они просто эффективно решают задачи с помощью инструментов и справочных материалов.
Мартин утверждает, что работодатель не обязан заботиться о повышении квалификации программиста. Но это идёт вразрез с реальной практикой — работодатели, заинтересованные в квалифицированных сотрудниках, должны способствовать их развитию. Никто не обязан учиться за свой счёт, если этого требует работа.
Нельзя отрицать, что Роберт Мартин — отличный разработчик с огромным опытом. Однако как автор книги он, мягко говоря, оставляет желать лучшего. Большинство его советов можно легко суммировать в несколько предложений, но вместо этого они растянуты на десятки страниц, создавая впечатление, что книга могла быть в два-три раза короче.
Проблема с «Идеальным программистом» в том, что книга перегружена ненужными подзаголовками и разрозненными мыслями, которые не всегда связаны друг с другом. Некоторые идеи повторяются на протяжении всей книги, что создаёт ощущение дежавю. Это мешает целостности повествования и заставляет задаваться вопросом, действительно ли автор знает, что хочет донести, или просто заполняет страницы.
«Идеальный программист» Роберта Мартина — это книга, которая отражает крайние взгляды автора на профессию разработчика. Многие из предложенных им методов могут оказаться полезными для некоторых, но для большинства современных разработчиков они могут показаться устаревшими и нереалистичными. Книга, очевидно, написана не для джунов, но, с другой стороны, состоявшиеся специалисты вряд ли нуждаются в информации, которой делится автор.
Настоящий профессионал — это не тот, кто жертвует всем ради работы, а тот, кто умеет балансировать между профессиональной и личной жизнью.
Автор: oleg-habr
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmist/397506
Ссылки в тексте:
[1] Источник: https://habr.com/ru/articles/845742/?utm_source=habrahabr&utm_medium=rss&utm_campaign=845742
Нажмите здесь для печати.