9 полезных книг для Junior-разработчика

юниор разработчик

Вы только начали свою карьеру, вы закончили профильное учебное заведение (или нет), вы полны энергии и рвения. У вас много знаний, но они немного хаотичны. Вам нужно организовать их, помочь отбросить ненужное и выделить актуальную информацию. Вероятно, вам все еще нужна доза мотивации, а также советы для поддержки вашего развития. Часть из этих книг переведена на русский, а часть придется найти и прочесть в оригинале.

Практика программирования — The Practice of Programming — R. Pike, B. Kernighan

 

практика программирования книга

Отличная и уже классическая книга для разработчиков. Я думаю, что она была источником вдохновения для Р. Мартина, когда он начал писать свой «Чистый код». Авторы — настоящие хакеры в хорошем смысле этого слова. На момент написания книги их основной средой был C и немного Unix. Поэтому естественно, что примеры и практики в книге основаны на них. Однако это не имеет значения, поскольку определенные правила настолько универсальны, что хорошо работают в любой среде и на любом языке программирования.

Чистый Agile — Clean Code: A Handbook of Agile Software Craftsmanship — R. Martin

 

Роберт Мартин Чистый Агил

Как я уже упоминал в предыдущем абзаце, Чистый код — это своего рода расширение уроков программирования. Включает в себя массу дополнительных советов и «контрольный список» для хорошего (или слабого) кода. «Лекционным языком» книги является Java, но любой программист сможет без проблем прочитать написанный код. Тем более что Р. Мартин пишет очень элегантно и избегает лишних сложностей.

На мой взгляд, это книга, которую разработчик должен прочитать хотя бы несколько раз. Лучше всего возвращаться к ней каждые 18-24 месяцев. И выяснить, черпаете ли вы в ней что-то новое. Если нет, то могут быть две причины:

больше нечего приносить в мастерскую богатого программиста (браво!)

программатор перестает развиваться (сигнал тревоги)

Конечно, это очень субъективный взгляд на ее ценность. Я читаю ее регулярно и все еще замечаю что-то интересное. Каждый раз появляется какой-то импульс развития. Обязательный пункт.

Becoming a Better Programmer: A Handbook for People Who Care About Code — P. Goodliffe

 

Becoming a Better Programmer

Книга, похожая на предыдущие, однако, отличается от них тем, что она почти полностью лишена кода (какой-то есть, но это действительно исключение). Поэтому советы автора находятся на более высоком уровне. Он описывает культуру работы и сотрудничества. На каждом уровне. Одна из моих любимых цитат из этой книги:

(…) если код достаточно важен для написания, он также достаточно важен для тестирования.

Очень рекомендую. Это богатый источник вдохновения. Если вы молодой программист (и не только) и чувствуете, что не знаете, как направить свое развитие, чтобы получить больше знаний и навыков, обязательно прочитайте эту книгу.

Программист-прагматик The Pragmatic Programmer: From Journeyman to Master — A. Hunt, D. Thomas

 

программист прагматик книга

Вы не можете написать идеальное программное обеспечение. — этими словами начинается четвертая глава. Вы не можете — может только Дональд Кнут (очевидно, его TeX не содержит ошибок). Но давайте посмотрим правде в глаза, Дональд Кнут не рядовой программист, он скорее своего рода «Архитектор» из «Матрицы».

Возвращаясь к книге — опять же, у нас есть набор практик, которым программист должен почти всегда следовать в своей работе. Работа Ханта и Томаса разделена на восемь частей, которые становятся лейтмотивом содержащихся в ней подробных советов. Его вневременность настолько очевидна, что спустя почти 20 лет после его первого выпуска кажется, что он был написан вчера.

Обязательно к прочтению любому программисту.

Hackers & Painters: Big Ideas from the Computer Age — P. Graham

 

Hackers & Painters: Big Ideas from the Computer Age

 

Это сборник из пятнадцати эссе П. Грэма, которые он опубликовал на своем сайте. Они охватывают различные вопросы, но даже если они не имеют прямого отношения к программированию, они написаны с точки зрения программиста. Их ценность снова подтверждается вневременностью мыслей и выводов. Хотя они написаны более десяти лет назад, они все еще актуальны и читаются так же, как и при первой публикации. Моя любимая цитата из книги о Лиспе:

Феномен того, что язык 1950-х годов не устарел, можно вкратце объяснить тем фактом, что это были не технологии, а математика, а математика не стареет. Фактическое сравнение для Lisp — это не оборудование 1950-х годов, а алгоритм быстрой сортировки, который был изобретен в 1960 году и до сих пор является самым быстрым алгоритмом общего назначения.

Уолтер Айзексон «Инноваторы» — The Innovators — W. Isaacson

 

Айзексон Инноваторы

Странно выглядящая книга Айзексона (автора, среди прочего, биографии Стива Джобса) в этом сравнении — настоящая жемчужина. Самая доступная история развития технологий, которую я читал. Это в основном касается развития всего, что привело к текущему состоянию ИТ-индустрии.

История начинается в 19 веке. Айзексон красноречиво описывает борьбу своих героев с жизнью, математикой, физикой, социальными проблемами, литературой и т.д. Благодаря этой замечательной истории вы узнаете, где регулярно проводились общие ванны с «травой», кто искал вдохновения, совершая длительные поездки на кабриолете и многое другое.

Прежде всего, эта книга — неиссякаемый источник вдохновения, поэтому она и включена в список.

Structure and Interpretation of Computer Programs — H. Abelson, G.J. Susman, J. Sussman

 

Structure and Interpretation of Computer Programs H. Abelson, G.J. Susman, J. Sussman

Помню, когда я впервые взял эту книгу, меня удивил код внутри. Я был молодым разработчиком с некоторым опытом работы с Perl, C и Java. Это был мой первый контакт с кодом, отличным от C-стиля. Все примеры в книге написаны на Scheme (диалект Лиспа). Поначалу это показалось мне действительно странным. Но я думаю, что после примерно сотни страниц, это стало для меня естественным. Единственное неудобство исчезло, и в моих руках оказалась одна из самых важных книг в истории информатики.

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

Algorithms Unlocked — T. Cormen

 

Томас Кормен Алгоритмы

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

Почему эта книга важна? Алгоритмы со структурами данных на самом деле являются сутью программирования, и очень часто я вижу молодых программистов (и не только молодых), которые, не зная, что есть совершенные и хорошо описанные решения их повседневных проблем, изобретают велосипед каждый понедельник.

Кент Бек, «Экстремальное программирование, разработка через тестирование» Test-driven Development by Example — K. Beck

 

Кент Бек разработка через тестирование

Эта небольшая книга (около 200 страниц) описывает одну из самых важных практик программирования. Мне повезло, что во время учебы мы применяли на занятиях практики TDD и XP, которые в то время были в новинку. Сегодня это промышленный стандарт, который, к сожалению, во многих местах до сих пор не применяется.

TDD — это набор практик, которые при внедрении в начале вашей карьеры становятся привычкой, без которой вы не можете себе представить работу. Примеры в книге написаны на Java (много кода, что является сутью книги), но таким образом, чтобы их могли прочитать программисты, незнакомые с этим языком. Хорошим упражнением может быть перенос примеров на язык, используемый читателем.

Статья предоставлена netgear.

Советую почитать:

начинающий программист

 

6 лучших книг для начинающих программистов

 

 

 

 

Швеция

 

Что почитать о Швеции?

 

 

 

 

3 Комментарии

  1. Тимур

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

  2. Михаил

    Мартин Фаулер это один из моих любимых авторов. И первая причина для такой любви – его веселость. Его стиль написания книг очень выделяет его из общего ряда. Другая причина – Фаулер невероятно хорош в объяснении сложных тем. Он делает это очень простым языком, не утомляя читателя.

  3. Руслан

    Я лично наслаждаюсь Вашим искусством излагать сложные вещи понятными речами.

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *