Книг по программированию невообразимо много. Начинающему разработчику может быть весьма сложно выбрать из них самые нужные (всех ведь все равно не перечитаешь). Поэтому есть достаточно статей с рекомендованными подборками. Данную подборку составил и опубликовал в своем блоге Сандор Дарго. Хотя в названии статьи указано, что эти книги обязательны к прочтению джуниорами, они будут интересны и более опытным разработчикам (если они вдруг еще не читали эти произведения).
Мне нравится чтение. Правда, в свои школьные годы я отдавал предпочтение журналам с фотографиями автомобилей, а за книги брался реже. Но когда я занялся профильным образованием, я стал читать гораздо больше. Приобретение книг стало для меня формой инвестиций в свое развитие.
Когда я начал получать зарплату, я поставил себе за цель покупать книги регулярно. Вскоре для них стало даже не хватать места в комнате. Пришлось избавиться от некоторых вещей и соорудить новые полки.
Что касается времени, для книг оно у меня есть всегда. Пока я жил один, я вообще не расставался с книгами. Но и после женитьбы не бросил чтение, например, читал в метро по дороге домой, чтобы успокоиться. Меня успокаивает даже чтение технических книг.
Райан Холидей говорит, что если вы хотите читать больше, то не стоит воспринимать это как некое отдельное занятие. Считайте это чем-то естественным. Как прием пищи или дыхание. Я с ним полностью согласен. Всегда можно найти время для чтения: перед сном, за обедом, в дороге.
Недавно я осознал, что люди начали спрашивать меня о книгах. Они спрашивают, что я читал, и если мы что-то обсуждаем, я уже и сам начинаю вспоминать, что я читал по этому вопросу и что из этого могу порекомендовать. Так родилась идея этой статьи.
Если вы младший разработчик, но хотели бы продвинуться по карьерной лестнице, вам нужно не только провести несколько лет, выполняя свои должностные обязанности на позиции джуна. Вам нужно развиваться, упражняться и учиться. Я составил список книг, которые помогут вам в этом.
1. Совершенный код
Автор: Стив Макконнелл
Когда я сам был джуниором, эту книгу мне порекомендовал один из моих менеджеров. Его совет мне очень пригодился. Это одна из самых широко известных книг по разработке ПО, и каждый разработчик должен ее прочесть.
Эта книга не только побуждает людей продолжать работать над исправлением кода, но и учит писать читабельный и поддерживаемый код. Пожалуй, если бы мне случилось повторить свой путь, я бы начал обучение с этой книги.
2. The Software Craftsman: Professionalism, Pragmatism, Pride
Автор: Сандро Манкусо
В отличие от первой книги, в этом произведении сделан фокус не на том, как писать код, а на другом взгляде на вашу профессию. Не на должность, а именно на профессию. Разработчики это высокообразованные специалисты, выполняющие очень сложную работу. Однако зачастую они сами считают себя кем-то вроде конвейерных рабочих и не испытывают почтения к своей профессии. Многие разработчики не стремятся к профессионализму и мастерству (эти понятия не стоит смешивать!).
Эта книга поможет вам выработать правильный подход к своей работе и достичь таких высот в своей карьере, о которых вы даже не мечтали. По моему мнению, книга Сандро Манкусо пригодится не только разработчикам, но и менеджерам, не связанным с технологиями.
3. Чистый код: создание, анализ и рефакторинг
Автор: Роберт Мартин
Книга Дяди Боба поделится с вами способами отличать хороший и плохой код, а также превращать плохой код в хороший. Пожалуйста, не перепутайте: именно плохой – в хороший! В книге сделан акцент на форматировании кода для улучшения читабельности, на юнит-тестировании и разработке через тестирование.
4. Growing Object-Oriented Software, Guided by Tests
Авторы: Steve Freeman and Nat Pryce
Раз уж речь зашла о юнит-тестировании и TDD, эта книга, безусловно, должна быть следующей в очереди. Из нее читатель узнает о принципах объектно-ориентированного проектирования через тестирование, пройдя по этапам создания приложения для аукционов.
5. Идеальный программист
Автор: Роберт С. Мартин
В этой книге сделан упор на личностные качества профессионального программиста. Люди, связанные с технологиями, обычно недооценивают soft skills, но это неправильно. Мы по-прежнему взаимодействуем не только с машинами, но и с людьми. Чем лучше нам это будет удаваться, тем быстрее будет продвигаться наша карьера.
6. Рефакторинг. Улучшение существующего кода
Автор: Мартин Фаулер
Многие разработчики – если не большинство – предпочитают работать не со старым кодом, а с новыми проектами. Частично это продиктовано тем, что старый код может быть запутанным, а разработчики не знают, что делать со старым запутанным кодом (кстати, возраст кода не определяет его дерьмовость!). Но если мы посмотрим на наши ежедневные рабочие обязанности, мы заметим, что большую часть времени разработчик занимается поддержкой кода и охотой за багами, допущенными «тем ублюдком», причем «тем ублюдком» может быть именно этот разработчик. Эта книга поможет читателю научиться работать со старым кодом и улучшать его посредством рефакторинга.
7. Эффективная работа с унаследованным кодом
Автор: Майкл К. Физерс
Как я уже сказал, мы проводим много времени, поддерживая старый код. К сожалению, этот старый код тестировался недостаточно (если вообще тестировался). Если вы настоящий профессионал и не хотите содействовать разрушению кодовой базы, вам стоит узнать, как оставить после себя этот код в более чистом состоянии, чем то, в котором вы его нашли. Эта книга поможет вам в вашем благородном стремлении. Ее нужно не просто прочитать, а иметь под рукой, когда работаете над чертовым исправлением багов.
8. The Complete Software Developer’s Career Guide
Автор: Джон Сонмез
На сегодня мы покончили с не-слишком-техническими книгами. Перед вами выжимка в 800 страниц самых необходимых для разработчика знаний. На какой стадии карьеры вы бы ни находились, вы в любом случае сможете найти в этой книге что-нибудь нужное для себя. В самом худшем случае вы вспомните те идеи, которые уже вас посещали ранее, и организуете их в настоящее знание. Не забывайте, что поскольку разработчики это в первую очередь люди, для них огромное значение имеет то, как они взаимодействуют с окружающими, и то, насколько быстро они учатся. Концентрированное, но интересное чтиво.
Если вы прочтете эти 8 книг за полгода и постараетесь применить на практике полученные знания, ваша карьера пойдет быстрее, чем у тех людей (большинства), которые книг вообще не читают или читают недостаточно.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]