Не существует ни одного сервиса по чему-то ни было, ни одной книги, с помощью которой (исключительно только нее/него) можно было бы изучить какой-то предмет. В 100% случаев тебе придется изучать что-то и с помощью других источников..."

(с) Hubert J-Farnsworth, герой JavaRush

ВСТУПЛЕНИЕ Итак, базовые характеристики нашего персонажа:
  • Доступный язык - русский.
  • Знания и понимания мира IT - юзверь.
  • Желание - захватить мир.
  • Задача на ближайшее время - пройти JavaRush и отправиться на стажировку.

1 - 10ур: Начало

Вроде и самое легкое, но по факту самое сложное - эти уровни проходят лишь сильные духом. Задача на этом этапе просто "пощупать" мир программирования и понять,"а оно мне надо?". Лекций непосредственно для Java более чем достаточно. Мы не идем смотреть документацию по Спрингу или все видео Головоча, вместо этого тихо и спокойно, в ритме вальса проходим эти уровни. А вот с пониманием к чему мы стремимся - тут немного сложнее. Поэтому читаем следующие книги:
В них нету кода, нету специфического IT сленга, нету того что нужно запомнить, только понять и принять. * Дядя Боб и Чэд Фаулер, "Идеальный программист" и "Программист - фанатик" два сборника практических советов и рекомендаций, касающихся ситуаций, с которыми порой сталкивается любой разработчик: отсутствие мотивации, выбор приоритетов, психология программирования, отношения с руководством и коллегами и многих других. Хороший старт для понимания того, что требуется от программиста. * Отъявленный программист - сборник рассказов известных работников IT, в том числе и наших соотечественников. * Just For Fun - вероятно первая книга из Золотой классики, история Линуса Торвальдса и созданию Linux. Скандалы, интриги, расследования. Книги это хорошо, а вместе с самыми популярными русскоязычными IT ресурсами - лучше. Делаем аккаунты, даже если не найдем себя как авторы статей - там всегда найдем ответы на свои вопросы, а так же товарищей в своей нелегкой, но интересной судьбе.
ХабрахабрStack Overflow на русском Видео? Пока достаточно того, что дается на самом JavaRush. Мотивирующие ролики, всевозможные истории успеха ... да кому они нужны?

11-20ур: Боль

Вот оно, начало конца, вот он тот этап, что отсеет слабых и укрепит сильных. Мы прошли предыдущий этап, мы смирились с нашей судьбой, мы поняли наше предназначение и стали ближе к цели. Что есть Java? - В настоящий момент это самый популярный язык программирования. А что это значит? - Огромное количество материала для изучения: книги, статьи, документация и так далее и так далее. Как выбрать и не утонуть? Технически можно попробовать изучать самое-самое свежее, но вот проблема - не получится. На данном этапе мы слабо понимаем в каком направлении двигаться и чем действительно хотим заниматься. Конечно, мы можем послушать экспертов и начать учить hibernate, spring, mysql, bootstrap, jquery и много других страшных слов, а можем начать с основ без привязки к конкретной технологии, а практику и лекцию JavaRush этих уровней мы будем использовать как приятное и наглядное дополнение, а заодно - как возможность опробовать знания. Чем такой подход лучше? Понимая основы выучить конкретную технологию займет куда меньше времени и сил + дополнительное время и дополнительная информация для принятия решения - вполне возможен вариант перехода на другой язык программирования и опять же, с общими основами это не составит труда. Итак, второй этап - создаем базу. На чем же она будет строиться?
Не хватит слов описать эти книги и их авторов - это альфа и омега программирования. В самих книгах имеются ссылки на дополнительные ресурсы авторов, их контакты, их блоги и их проекты. Эти книги слишком сложные, чтобы пытаться пройти их с первого, да и с десятого раза. Для начала хватит "Введения", а продолжать есть смысл уже на этапе 3+. * тут небольшое дополнение. Недавно я наткнулся на видеокурс по основам компьютерных сетей. Я надеюсь для владельцев ПК не будет новостью начинка компьютера и понимание "что есть Операционная Система", а вот с сетями, скорее всего, зацепиться будет нечем и этот курс должен немного прояснить картину. Курс "Компьютерные сети" Далее Параллельно чтению этих книг и просмотру курса все же не будем забывать про Java.
* Есть смысл сделать небольшой перерыв в JavaRush и полностью пройти эти 3 книги последовательно - собственных примеров и заданий хватит для понимания. От попытки совместить - толку будет мало, а вот проходить 11-20 уровни после них - одно удовольствие. * Почему Философия, а не многие другие? Потому что написана основательно и без привязки к версии, не прочитаете в самом начале - вернуться не захотите. Сложная, немного устарела, но это классика. * Структуры и Алгоритмы Лафоре? Многие любят говорить "Математика не нужна, алгоритмы не нужны" - это не так, но тем не менее, Лафоре это компромисс - более хороший уровень алгоритмов можно получить из "Алгоритмы. Разработка и применение" Дж. Клейнберг, Е. Тардос и "Анализ алгоритмов Дж.Макконнелл" . Прошли их - вернулись на JavaRush и продолжаем решать дальше.
Тут на любителя, но я Шилда оставляю на 3 этап. Тут же проще, понятнее и дружелюбнее будет Хорстманн, а с ним хорошо проходится Нимейер - опять же "на любителя". И последнее из книг на этом этапе.
Это на "легкое чтение". Совсем необязательно читать одну книгу от корки до корки. Никто не мешает читать их параллельно. Более того - тут лучше чередовать. Простое и понятное - сложное и непонятное. Тут всего одно дополнение - ГЭБ. Крайне сложная и крайне своеобразная книга. Ее цель - научить работать с уровнями абстракций. Как и все книги из раздела "легкого чтения" и Танненбаума - ГЭБ читается несколько раз, на разных уровнях знаний. Видео. И опять на любителя. Но все же в статье про "Топ-5 полезных видеокурсов" все уже сказано. Добавлю в копилку Технострим Mail.Ru Group Компьютерная школа Hillel Дополнительно на этапе
Лучший друг программиста в час одиночества и нужды. В момент когда так не хватает душевного тепла и компании GitHub всегда рядом... А заодно их канал на ютубе и книга в помощь. На данном этапе достаточно будет регистрации и "Hello, world" в репозитории. Пора бы начать прокачивать репутацию..

Заключение

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