Полезные книги для начинающих Java-разработчиков

3 minute read

Введение

Во время собеседования на должность Java-разработчика часто можно услышать вопрос:

А что вы в данный момент читаете из литературы по специальности?

По своему опыту могу уверенно сказать, что список прочитанных книг по Java является вашим конкурентным преимуществом, которое позволит вам продемонстрировать на собеседовании свое профессиональное отношение к делу (даже при отсутствии опыта). Такой самообучающийся разработчик, стремящийся досконально разобраться в предмете – это мечта любого тимлида, у которого и так ответственности выше крыши. Не только я придерживаюсь таких взглядов. Вот, к примеру, интересная статья от codinghorror.com на эту тему.

Книги как развитие

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

Также полезно выполнять небольшие тестовые примеры и минипроекты по мере чтения какой-либо технической книги – это закрепляет изученный материал на практике.

Литература

В наши дни литературы на тему Java очень много, и недостатка в выборе у вас точно не будет. Проблема тут может быть в другом – новичку очень легко затеряться в этом разнообразии. Грубым помолом я разделю всю литературу на несколько категорий:

Ниже я буду приводить литературу для новичков, которую считаю стоящей и/или которую мне рекомендовали коллеги и друзья из Java-мира. Статья, надеюсь, будет периодически обновляться и пополняться новинками. Сразу предупреждаю, что это лишь один из возможных вариантов, а не жестко утвержденный список на века.

Картинки книг кликабельны и зачастую приводят на amazon.com или ozon.ru.

Синтаксис Java

Head First Java

image-left Head First Java имеет довольно своеобразную манеру подачи материала. Написана достаточно живым разговорным языком. Много примеров и иллюстраций. Закрепление материала ведется с помощью задачек. Есть форум на сайте издательства O’Reilly, где можно обсудить материал книги и задать любой вопрос по теме. Несмотря на то, что по виду книжка толстая, читается легко и быстро. Помимо самого синтаксиса Java разбираются базовые вещи из ООП и методологий разработки.

Java. A Beginner’s Guide

image-left Head First Java имеет довольно Более традиционная книга, написанная, скорее, в академичном стиле, если сравнивать с Head First Java. Автором этой книги является Герберт Шилдт – очень известный программист и писатель в области компьютерных наук. Известен также за свои труды по C, C++ и C#. После нее можно взяться и за всем хорошо известную Философию Java от Брюса Эккеля.

ООП

Head First Object-Oriented Analysis & Design

image-left Понимание синтаксиса языка программирования – это, конечно, необходимая вещь. Однако без изучения наиболее популярной на данный момент парадигмы ООП тоже не обойтись. В процессе чтения книги Head First Object-Oriented Analysis and Design вы познакомитесь на практических примерах с основами разработки в стиле ООП. И такие понятия как SRP, SOLID, OCR, Design Patterns будут вам уже не страшны :) По части ООП есть, конечно, и более академичные труды – к примеру, хорошо всем известная книга Гради Буча.

Методологии разработки ПО

Test-Driven Development

image-left Test-Driven Development (TDD) – это очень популярная на данный момент методология разработки программного обеспечения. Поэтому новичкам было бы неплохо с этой методологией ознакомиться. Данная книга хороша тем, что показывает на реальных примерах программирование в стиле TDD. Здесь не будет много скучной теории – все достаточно практично и легко.

Фундаментальные знания

Алгоритмы на Java

image-left При самоподготовке начинающим программистом часто упускаются из виду более фундаментальные знания и труды, которые в профильном вузе изучаются достаточно подробно. Начинающий программист очень уверено отвечает на вопросы по Java и ООП, однако впадает в ступор при вопросах на такие темы, как сложность алгоритмов, базовые структуры данных и тому подобные вещи. Данная книга поможет в какой-то мере восполнить этот пробел. Очень рекомендуется читать ее, проходя параллельно соответствующий курс от Coursera.

В заключение

Набора вышеприведенных книг должно хватить новичку примерно на год упорного изучения (конечно, если только это не единственное его занятие). В теории, хорошая проработка материала этих книг позволит успешно проходить собеседование на позицию Junior Java Developer в большинстве компьютерных фирм, связанных с разработкой ПО. Хотелось бы также подчеркнуть, что советы выше – всего лишь рекомендации. Любая книга из этого списка может быть заменена аналогичной.

Если вам хочется подойти к процессу обучения совсем строго, ничего не упустив, то уместно будет спланировать самоподготовку, ориентируясь на следующую популярную табличку – Programmer Competency Matrix.

Дополнительные ссылки для чтения:

Leave a Comment