С чего начать изучение Java?

28 августа 2021

Когда я закончил университет, то у меня были нулевые знания в программировании, но идти дальше по профессии я уже не хотел. Сегодня я - Java-разработчик в международной компании и действующий тренер курсов "Погружение в Java: Beginner" и "Погружение в Java: Practice" в SkillsUp. В свое время я набил немало шишек и знаю о многих острых углах, поэтому могу составить карту с важными координатами, которые стоит пройти для изучения Java. Заранее скажу, что этот путь не обязателен, но по своему опыту знаю, что с ним легче.

Итак, в самом начале изучения Java я стал читать книги. Без стеснения скажу, что первой была “Программирование на Java для детей, родителей, дедушек и бабушек” Якова Файна. Это хорошая книга для старта, и она помогла мне:

  1. понять, что да - мне интересна сфера программирования на Java;
  2. узнать азы программирования в целом и Java - в частности.

Во время чтения я повторял какие-то действия за автором книги, делал домашние задания, но на этом - всё. Это было моей первой ошибкой: так как нужно работать больше и постоянно выполнять практические задания.

Второй ошибкой было, что после прочтения это книги я, не найдя практических заданий под мой уровень, пошел читать следующую книгу – “Изучаем Java” Кэти Сьерры и Берта Бейтса. В этой книге много воды. Но это замечательная книга и то, что там много воды, шикарно. Авторы разжевывают и кладут чистую информацию на полочки знаний в вашей голове. Но почему тогда это вторая ошибка? Я остановился в практике и предпочел ей чистую теорию.

Из всего вышесказанного не нужно делать выводы, что книги - это не хорошо. Как мне кажется, я делал все верно, но забыл о самом главном - практике!

Так где же искать возможность практиковать и нарабатывать Java skills? Здесь несколько вариантов:

  1. Те же книги. Можно пробовать самим экспериментировать и добавлять сложности в задания из книг.
  2. Leetcode.com - тут сидят умные программисты и программистки, которые решают разные задачки и соревнуются в скорости написания кода. Вы тоже можете поучаствовать и, самое главное, посмотреть на их решения.
  3. Курсы или личный ментор. В данном случае у вас будут и задания, и наставления, как лучше эти задания решить.

Если у вас есть практика, но по какой-либо причине нет ментора, я советую запастись следующим списком сайтов:

  • metanit,
  • w3school,
  • oracle.

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

Мне помогли стримы на twitch на английском – благо я понимал часть речи и каждое новое слово записывал для себя и учил. Также я создавал самособеседование на английском по Java: так как документация написана на английском, то мне оставалось только своими словами пересказать ее. Каждый раз, когда я запинался и хотел перейти на русский, я искал нужные слова и переводил их на английский. Это должно послужить хорошим началом для дальнейшего изучения.

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

“Опасное это дело, Фродо, выходить за порог: стоит ступить на дорогу и, если дашь волю ногам, неизвестно куда тебя занесет”.

Похожие темы