Как выучить java с нуля?
Подскажите кто-нибуть как выучить java, если никогда не учил ничего подобного, то есть выучить с нуля, с чего начать, можна ли учиться дома и как?
Подобається Сподобалось 0
До обраного В обраному 1

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
93 коментарі

Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
В принципе просто все, поступаешь на итшню специальность, там заставят выучить . Еще от армии отмажут.
Ищу ментора по Java в Харькове
[email protected]
Придется обязательно учиться дома. Никакой универ не даст достаточного количества знаний для уверенного трудоустройства. Можно посмотреть на курсы по Java, но какие из них хорошие тяжело определить.
Если нету никакого опыта в программировании, то вначале будет достаточно тяжело. Любой язык программирования это лишь инструмент. Необходимо будет изучить гораздо больше чем просто синтаксис Java.
Забейте на изучение нескольких языков одновременно. Для новичка это трата времени. С опытом становится гораздо легче и быстрее изучить новый язык.
Забейте на изучение по книге. Особенно по Еккелю. Эта книга слишком детальна для новичка. Лучше взять оттуда задания и попробовать решить их самостоятельно. Вообще лучше искать/придумывать задачки и решать их на Java. Книги использовать как справочник или дополнение к гуглу.
Забейте на всякие GUI applications на базе Java. Любой UI для Java app, за редким исключением, лучше сразу делать как WebUI (вначале сложно и долго, но отлично окупается при первом же трудоустройстве). Аплеты тоже давно умерли.
Вообще сразу можно двигаться в сторону web разработки, минуя Servlets/JSP (технология устарела, хотя используется как база для современных подходов), использовать стек Spring/Hibernate. Этот стек требуется в 90% случаев. Он является альтернативой JavaEE и фактически стандартом в современном Java мире.
Ваша первоочередная задача найти первую работу как Java разработчик. Соответвенно вам нужно работать в первую очередь над успешным прохождением интервью. Прохождение интервью это отдельный скилл требующий отдельной тренировки. Но этот же скилл сразу дает понимание того, что и до какого уровня нужно выучить в первую очередь. Не пытайтесь изучить всю Java самостоятельно. Java это не столько ЯП сколько огроменная платформа.
Лучший путь развития для новчика сейчас это попасть на галеру/в хорошую продуктовую компанию под руководство опытных ребят, которые сразу научат как нужно делать правильно. Такой путь ускоряет развите на порядок (или еще больше).
Паралельно нужно еще учить английский. Хороший английский повышает шансы получения работы в несколько раз. Ну и это один из самый затратных по времени скилов необходимых для успеха в сфере разработки. Английский считается хорошим, если не обманывая себя, человек свободно читает (без помощи словаря понимаем 99% текста) и свободно (быстро, не задумываясь) может написать/изъясниться в реальном времени. Школьный/университетский уровень это только начало. Нужно очень сильно поработать над словарным запасом.
P.S. И не ведитесь на информацию, что Java устарела и нужно что-то более модное. Java живее всех живых, все еще самый популярный язык в мире и продолжает активно развиваться. Это отличный выбор для разработчика. Но в принципе стоит ознакомиться с тем для чего вообще можно этот язык использовать. Если вы хотите писать на системном уровне, то вам нужно что-то другое.
Удачи.
Как научиться программировать на Java: почему стоит и где начать

Определитесь со своими карьерными целями и выберите язык. Это пожалуй самый важный совет для тех, кто не имеет опыта программирования и стремится присоединиться к сообществу разработчиков. Но как сделать выбор, не зная, какой язык больше всего подходит для ваших целей?
Было бы проще, если бы среди всех языков программирования был «лидер рынка»? И тогда у всех новичков всегда будет безопасный выбор — выучите этот язык, и вы наверняка будете востребованы. Но это конечно же невозможно. Языки являются «инструментами» для решения многочисленных задач. Один из языков, к которому стоит присмотреться, является Java.
Java — это хорошо структурированный, объектно-ориентированный язык, который может показаться простым для начинающих. Вы можете справиться с ним довольно быстро, так как много различных процессов запускаются автоматически. В первое время не потребуется углубляться глубоко в «как там все работает». Java является кроссплатформенным языком. Это позволяет программисту создать приложение, которое можно развернуть на любом устройстве. Это предпочтительный язык для IoT(интернет вещей), отличный инструмент для создания enterprise приложений, мобильных приложений и т.д.
Что важно для новичка, у Java есть одно из крупнейших сообществ и очень качественная документация. Если у вас есть проблема, с высокой вероятностью ответ есть уже в документации. Еще два преимущества Java — это обширные библиотеки и фреймворки, которые покрывают большинство проблем, с которыми вам придется столкнуться как младшему разработчику.
Наконец, это язык с респектабельным прошлым и выдающимся будущим. Две последние версии, дополненные новыми функциями, были выпущены в течение шести месяцев друг за другом. Это помогает Java стоять на переднем крае и удерживать самые высокие позиции в профессиональных рейтингах.
Но даже когда мы говорим о языке программирования с низкой кривой обучения, есть много скрытых камней для начинающих. Сколько времени нужно учить? Каким источникам доверять? Какие ошибки следует избегать? Давайте проедемся по учебному плану.
Убедитесь, что вы знакомы с частыми ошибками у новичков
Итак, вы новичок в программировании. Поздравляем: так как вы можете использовать опыт других программистов и избежать распространенных ошибок в самообразовании. Вот несколько частых ошибок.
Обучение без постановки конкретной цели
Чтобы оценить масштаб и желаемый уровень знаний по какому-либо языку программирования, прежде всего, вы должны ответить на простой вопрос: зачем вам программирование?
Если вы серьезно относитесь к кодированию и собираетесь стать Java-разработчиком, вам придется учиться каждый день в течение по крайней мере 4–5 часов. Но если вы просто хотите расширить свои знания, вы можете выбрать более спокойный темп. В любом случае, старайтесь не продлевать свое образование на долгие годы, потому что технологии развиваются. Пока вы изучаете какой-либо фреймворк или инструмент разработки, чтобы получить работу, они устаревают.
Чтение всплывающего «чего-нибудь полезного» — не лучшая стратегия обучения. Можно внести коррективы в общий план. Однако, если вы не будете следовать этому, это неизбежно приведет к демотивации.
Попытка изучить слишком много технологий одновременно
Это следующая ошибка, которая ведет к обучению без конца. Не пытайтесь заполнить свой учебный план слишком большим числом технологий и инструментов, чтобы избежать выгорания. Вам нужно время, чтобы обработать информацию и посмотреть, как все работает на практике.
Слишком много исследований и теории без практики
Программирование — это навык, который вы можете получить только через большое число практики. Вам понадобится серьезный теоретический опыт, но пока вы только читаете (или просматриваете) лекции и курсы, вы не сможете писать код. Думайте об этом. Никто не может научиться плавать, не пытаясь это сделать. Вам нужны объяснения, но, прежде всего, вам нужны действия.
Только много практики научит вас, как справляться с повседневными проблемами программистов. Например, у вас появится привычка регулярно проверять код и не допускать накопления проблем. Вы также начнете с самых простых решений. Затем переходите к более изысканным, постоянно работающим над улучшением вашего кода. И самое главное, вы привыкнете к кодированию ежедневно.
Учиться программировать в изоляции
Начинающие часто колеблются, должны ли они присоединиться к сообществам онлайн-программирования или посещать мероприятия, в основном из-за синдрома самозванца. Но помните: никто не хочет вас сбить. Сообщество программистов сотрудничает. Вот как появляются многочисленные открытые источники данных. Они привыкли работать в команде, и, безусловно, все они были новичками в определенный момент жизни.
Подумайте: есть много форумов и веб-источников по программированию. Разработчики охотно делятся своими знаниями и открыты для сотрудничества. Вы можете начать учиться в режиме онлайн, получить полезные советы от более опытных коллег, а затем найти свой первый проект по программированию.
Быть уверенным, что однажды вы полностью поймете все аспекты программирования
Если кто-нибудь найдет таблеткупроглотив которую сразу же приобретет навыки в любом языке программирования, то он станет самым богатым человеком на планете (извините, Джефф Безос). Но до тех пор, если вы решили стать программистом, у вас не будет конца в образовании. Даже когда у вас есть работа, никогда не прекращайте учиться. В мире программирования все быстро меняется.
С другой стороны, когда вы все еще учитесь программировать, постарайтесь принять некоторые факты такими, какие они есть. Не копайтесь в каждой мелочи, поскольку при текущем бекграунде может быть слишком «тяжело».
Сделайте идеальную тренировочную программу
Легче достичь своей цели шаг за шагом. Теперь, когда вы знаете распространенные ошибки, вы можете их избежать. Вот пять шагов, которые вы можете предпринять, чтобы изучить Java.
1. Поставьте цель и выберите язык
Вы можете делать практически все что угодно с Java. Вы можете создавать сервера приложений, настольные и мобильные приложения, корпоративные приложения и много чего еще. Но, конечно, язык программирования — это не все, что вам нужно знать, чтобы стать профессионалом. Попробуйте подумать о конкретных областях деятельности.
Тенденции сегодняшнего дня — это создание облачных приложений (вам также необходимо изучить основы облачных вычислений и специальные инструменты для облачной разработки), работа с интернетом вещей (IoT), выполнение анализа больших данных, создание игр и т.д.
2. Создайте учебный план
Вы готовы сделать программирование на Java своей профессией? Тогда посвятите как минимум 2–3 (в рабочие дни) и 5 часов (в выходные дни) ежедневному обучению. В этом случае вам, скорее всего, потребуется от 3 до 6 месяцев для подготовки к должности младшего разработчика.
В целом, ваш учебный процесс будет разделен на несколько этапов:
- Установка JDK (Java Development Kit) с веб-сайта Oracle и Установка среды выполнения Java (IntelliJ IDEA, Eclipse или NetBeans);
- Изучение синтаксиса Java;
- Изучение Java Core;
- Изучение коллекций Java;
- Изучение популярных библиотек и фреймворков;
- Изучение часто используемых API (например, сервлетов, JSP, JDBC, JUnit);
- Освоение Git;
- И так далее.
Вы можете легко использовать известный принцип Парето (правило 80/20) для изучения Java. «20» будет означать теорию, а «80» — практику. Это не преувеличение: вам понадобится в четыре раза больше времени на программирование, чем чтение, чтобы запомнить то, что вы узнали и закрепить свои навыки написание кода. К сожалению, если вы не напишите свой код сразу, вы забудете все, что прочитали на следующий день. К счастью, вам не нужно изобретать собственную программу обучения, если у вас есть подходящие источники.
3. Выберите правильные инструменты и присоединяйтесь к сообществам программистов
Давайте будем честными: идеального курса Java не существует. Некоторые дадут вам глубокие теоретические знания, другие дадут вам много практики. Выберите несколько платформ для обучения, общения и практики. Выберите один онлайн-курс, который сочетает в себе простое объяснение теории с реальным написание кода.
Присоединяйтесь к сообществам, где вы можете задать любой вопрос об аспектах программирования на Java, поделиться своими мыслями и найти единомышленников. Лучшие сообщества для разработчиков Java перечислены ниже.
Используйте несколько источников для изучения Java
Вам понадобится много инструментов для достижения ваших целей. Вот один из возможных набор «инструментов» для достижения успеха.
1. Строго практика: CodeAcademy
Вероятно, это одна из самых известных онлайн-платформ для изучения многочисленных языков. Конечно, есть раздел для изучающих Java. Здесь вы начинаете кодирование с первого урока. Есть довольно полезные советы, которые вы можете получить, если определенное задание кажется трудным (что нормально, когда вы новичок). Логика проста: прочитайте задачу, напишите код и запустите его, чтобы увидеть, что произойдет в результате, а затем перейдите к следующему шагу. Задачи постепенно усложняются, пока вы не начнете писать свой код с чистого листа. Раздел часто задаваемых вопросов очень полезен, и у вас есть возможность обсудить каждое задание с другими студентами.
Этот курс может быть отличным дополнительным инструментом в изучении Java. Как уже говорилось ранее, вам нужно писать код для освоения программирования на Java.
2. Play and code from the beginning: CodeGym.cc
Это онлайн-курсы для изучающих Java с одной особенностью — геймификацией. В настоящее время в онлайн-курсах принято использовать игровые элементы, поскольку они обеспечивают мгновенную мотивацию, чувство постоянных достижений и облегчают достижение вашей цели.
В CodeGym вы начинаете с уровня 0 в футуристической вселенной с космическими путешествиями, роботами и другими классными вещами. Ваша цель — пройти четыре образовательных квеста, чтобы повысить уровень персонажа — робота. Каждый квест включает в себя 10 уровней, и каждый уровень имеет до 10–12 уроков, которые преподают члены экипажа галактического корабля. Урок состоит из минимальной теории и набора задач с мгновенной проверкой и советами о том, как улучшить ваш код. Вы начинаете кодировать с самого начала, решая очень простые задачи, пока не будете готовы к гораздо более сложным и масштабным проектам кодирования.
Эта история позволяет вам не застрять на определенном предмете или задании, двигаться вперед и вернуться позже к «твистерам». Всего в курсе более 1200 заданий. Во временном эквиваленте это соответствует как минимум 300–500 часам написание кода.
3. Challenge programmers: Codewars
Это еще одна онлайн-платформа с огромным количеством практики. Хотя это больше подходит для учеников с хотя бы небольшим опытом программирования.
Вы можете написать свой код в браузере и использовать контрольные примеры, чтобы проверить его шаг за шагом. Вы также можете сравнить свое решение с другими, чтобы расширить свои знания и обсудить лучшие практики. Каждый «ката» имеет ранг, и каждый «ката» является проблемой для других программистов. Когда вы решаете более сложные задачи, вы можете получить более сложные задачи, чтобы улучшить навыки программирования. Эта платформа отличается от других тем, что она позволяет учиться и практиковаться в группе.
4. Слушайте лекции «профессионального» уровня: EdX
EdX — образовательная платформа, основанная Гарвардским университетом и MIT. Он охватывает многие области исследований, включая программирование на Java и многие смежные вопросы. Есть много проверенных вводных курсов и программ сертификации, предоставляемых университетами.
Каждый курс имеет свой временной интервал и включает в себя видео лекции с текстовой расшифровкой. Легко вернуться к предыдущим урокам и пересмотреть материал. Есть десятки разных курсов, некоторые из них бесплатны. Но все же, это источник строго для изучения теории Java. Обязательно закрепите эти курсы практикой.
Хотите быть в курсе последних новостей, обзоров и обновлений в мире Java? Это правильно. Java постоянно развивается, обновляется и добавляет новые фичи. Убедитесь, что у вас есть пара ресурсов, которые вы можете читать ежедневно. Одними из крупнейших являются:
- Javaworld (новости, полезные учебные пособия, «как делать» и все остальное, чтобы держать вас в курсе программирования на Java);
- Java Code Geeks (ресурсный центр для тех, кто изучает Java с помощью учебных пособий, статей и советов о том, как получить работу программистом на Java);
- DZone (множество статей и руководств для начинающих и опытных разработчиков);
- Javarevisited (ежедневно обновляемый блог, который охватывает многочисленные темы изучения Java).
Быть программистом — значит постоянно совершенствоваться, получать новые знания и применять их на практике. Если вы с самого начала разовьете навык самообразования, вы обязательно добьетесь успеха. Вы готовы попробовать?
- java
- программирование
- обучение программированию
- начало пути
- Программирование
- Java
- Промышленное программирование
Как выучить Java — один из популярных языков программирования
Войти в IT — задача не из простых, особенно если у вас нет профильного образования. Но тем не менее это можно сделать. Запаситесь терпением и силами — они пригодятся, чтобы выучить Java. Как именно это сделать и с чего начать, расскажу в этой статье.
Язык Java: что это и зачем он нужен
Netflix, Spotify, Uber, LinkedIn, Google… Все эти сервисы существуют для того, чтобы снизить уровень стресса, который мы испытываем, и снять с нас часть нагрузки. Но объединяет их не только это. Эти приложения написаны с помощью ряда языков программирования, один из которых — Java.
Java — это проверенный годами язык, вокруг которого сформировалось большое и достаточно дружелюбное сообщество. Он занимает третье место по популярности среди всех языков программирования (выше только JavaScript и Python), а в сфере backend — первое (что это значит, мы разберемся чуть ниже).
Этот язык используют большие технологические корпорации, такие как Google и Netflix, потому что плюсы и минусы этого языка хорошо известны. Кроме того, Java популярен в банках — уязвимости языка изучены, а значит понятно, как от них можно защититься.
Чтобы понять, для чего именно разработчики используют Java, нужно разобраться в разнице между frontend- и backend-частью любого приложения. В основном всё, что вы видите в вашем браузере, — это результат работы frontend-разработчиков, которые пишут, например, на JavaScript (это не то же самое, что Java). Поисковая строка, кнопки, выпадающие меню — все это frontend.
По другую сторону — взаимодействие с базами данных, обработка и подготовка этих данных для frontend-части приложения. Это backend, движок приложений. И вы никогда не увидите, как он работает. Backend-часть, как правило, пишется именно на Java.
Спрос на java-разработчиков сейчас очень высокий — в этой области специалистов просто не хватает. Предпосылок к изменению ситуации пока нет. Поэтому крупные компании ищут разработчиков, причем не только готовых специалистов; многие готовы вкладываться в развитие начинающих программистов с определенным набором хард-навыков.
С чего начать изучение Java
Обобщим: чтобы попасть в профессию, вам нужно пройти три этапа обучения:
- Понять, что такое java-разработка, и научиться решать простейшие задачи.
- Изучить фреймворки.
- Попасть в компанию в качестве стажера или начинающего разработчика.
Будьте готовы: ваш путь на самом деле будет бесконечным. Даже опытным разработчикам постоянно приходится искать и усваивать новую информацию, это просто часть работы.
Начать знакомство с профессией стоит с бесплатных ресурсов. Здесь возможны варианты.
- Используйте сайты для бесплатного обучения, например Javarush.
- Найдите курсы на YouTube. Например, на канале «Уроки Java» есть и практика, и теория.
- Пройдите курсы на платформах типа GeekBrains.
- Если все-таки готовы заплатить деньги за обучение, то поищите куратора на таких сайтах, как Freelance или Upwork.
- Почитайте книги, например «Java. Эффективное программирование» (Джошуа Блох). Ее лучше изучить в оригинале — Effective Java by Joshua Bloch.
На чистой Java уже давно никто не пишет. Разработчики используют фреймворки. Фреймворк, по сути, — набор готового кода, который решает определенные проблемы, например:
- настраивает взаимодействие с базами данных;
- отправляет сообщения по сети;
- выстраивает структуру проекта;
- помогает с безопасностью (код фреймворка протестировало большое количество людей);
- предотвращает написание так называемых велосипедов — это когда вы пишите свое решение проблемы, которая уже была решена.
Всё это вместе помогает вам работать над бизнес-логикой приложения, не отвлекаясь на сторонние задачи. Познакомиться с фреймворками, такими как Spring, очень важно.
Хорошая идея — после курсов и книг пойти стажироваться. У разных компаний есть разные форматы стажировок и интенсивных курсов обучения, так называемых буткемпов; многие из них предлагают возможность трудоустройства. Но даже если вам не предложат место в штате, стажировка или буткемп — это хорошая возможность получить реальный опыт программирования и поработать над проектами, которые войдут в портфолио. А с этим работу искать проще.
Запаситесь терпением — процесс обучения требует этого. В самом начале у вас, скорее всего, не будет ничего получаться: вы наверняка будете натыкаться на информацию, которая не поможет вам решить конкретные задачи. Но со временем весь массив знаний, которые вы освоите, сложится в пазл. С ним и можно стартовать в профессии.
Какие хард-скиллы должны быть у начинающего java-разработчика
- Знание синтаксиса выбранного языка программирования.
- Представление о базах данных SQL, NoSQL.
- Чтение документации на английском языке.
- Базовые знания Git (система контроля версий).
- Базовые знания Spring Framework (для Java).
А какие должны быть софт-скиллы?
Разработка приложения — это всегда командная работа. Поэтому помимо знания языка вам нужно уметь общаться.
Во-первых, будьте вежливым. Это очень важно для работы в команде, ведь с коллегами вам нужно будет проводить по 8 часов в сутки.
Во-вторых, задавайте вопросы. Один из источников знаний — это команда и профильные сообщества внутри компаний. Умение правильно задавать вопросы поможет вам получать правильные ответы.
В-третьих, учитесь принимать и давать обратную связь. Вас могут похвалить, и это даст понять, что всё, что вы делаете, не зря. А иногда могут указать на недостатки в вашей работе — это поможет вам развиваться.
На вашей первой работе коллеги поначалу будут вам говорить, что и как делать. А задачи вы будете получать совсем простые. Тем не менее, и с ними вы должны справляться хорошо.
Со временем сложность задач будет увеличиваться, как и количество ваших вопросов. Не стесняйтесь задавать их. И как можно больше смотрите чужой код — это поможет вам расти быстрее. Ведь код, который пишут старшие разработчики, — это кладезь знаний, накопленных годами.
Трудности, к которым нужно быть готовым
Один из популярных вопросов, адресованных java-разработчикам, звучит так: как вы относитесь к тому, что не сможете показать результат своей работы близким? Ведь, как мы уже говорили, на Java пишут backend — ту часть, которую пользователь не видит.
Программирование — сложная штука, и объяснить кому-то вне мира IT что-то, что не имеет визуального представления, бывает сложно, а показывать код — занятие неблагодарное. Поэтому вам придется привыкнуть к тому, что вашу работу в полной мере оценят только коллеги.
Это, а еще необходимость постоянно учиться, быть в тонусе и задавать вопросы — вот то, к чему нужно быть готовым. Если вас это не пугает, смело идите в java-разработчики — они все еще очень нужны.
Исследование: сколько нужно времени на изучение Java


Один из самых популярных вопросов среди тех, кто начинает учить Java — “За какое время можно научиться программировать?” Дать однозначный ответ на этот вопрос сложно. Сроки обучения зависят от многих факторов: предыдущего опыта работы и образования, интенсивности занятий, целей обучения, прочего. Но мы решили приблизиться к тому, чтобы определить оптимальный отрезок времени на обучение. Для этого в марте мы провели опрос среди наших студентов с минимум 30-м уровнем на JavaRush и спросили, как они изучали программирование на Java и сколько времени для этого понадобилось.
1. Портрет студента: стартовый уровень знаний, сфера деятельности

В Java-программирование можно прийти практически из любой сферы: это подтверждают результаты опроса. Для начала мы решили узнать, чем наши выпускники занимались до изучения Java. Практически 40% пользователей, которые начали обучение на JavaRush, изучали программирование в ВУЗе. Вдвое меньше — знали по крайней мере один язык программирования (не Java), еще меньше — были знакомы с основами Java. Конечно, это хорошая основа для старта. Но не обязательная. Примерно треть студентов осваивали Java с чистого листа. Среди студентов с техническим бэкграундом больше всего сисадминов, программистов 1С, веб-разработчиков, инженеров. Среди “свитчеров” разбег большой — от преподавателей до специалистов по продажам, маркетингу, экономистов, спортсменов. Давайте посмотрим теперь, сколько времени в среднем может понадобиться на обучение и поиск работы Java-джуном.
2. Время на обучение и поиск работы

Минимум — 3 месяца, максимум — несколько лет уходит на изучение программирования на Java. Интересно, что даже те, кто в общей сложности потратил больше 2 лет (2,5, 3 или 4 года) отметили, что справились бы вдвое быстрее, если бы не “растягивали” обучение. В среднем на поиск работы уходит от месяца до трех. Минимум — неделя. Максимум — год.
3. Планирование обучения
В обучении всегда работает простая зависимость: чем выше интенсивность занятий и меньше количество перерывов и “пропусков”, тем быстрее можно освоить предмет. В особенности это касается программирования, где практика играет большую роль, чем теоретические занятия. Мы спросили у выпускников JavaRush, сколько времени они выделяли на обучение, и узнали, что в среднем они занимались по 1-3 часа в день, часто совмещая обучение с основной работой.
При этом почти треть выпускников обучалась без перерывов, а остальные делали одну или несколько пауз на значительное время.
Само собой, чем больше времени уделять учебе и чем меньше «привалов» устраивать, тем больше шансов освоить Java-программирование и найти работу в течение 6-12 месяцев. А если очень постараться, то и в течение 3-6 месяцев.
Как ответил один из участников опроса: «С самого начала у меня был какой-то план, и я его не придерживался». Нужно планировать свое обучение или нет? Большинство считает, что да. План обычно включает в себя список тем и инструментов, которые необходимо освоить, примерные сроки обучения и список ресурсов (онлайн-курсов, книг, другое), которые нужны для этих целей. 73% ответили, что у них был предварительный план. Из тех, кто планировал обучение, две трети выпускников обучались на нескольких ресурсах, почти треть — только на JavaRush.
4. Источники обучения

Что учить, как учить, а еще — где учить? В идеале, нужно комбинировать несколько источников. Ниже — список обучающих источников в порядке упоминаемости нашими выпускниками. Учить программирование только по книгам — бессмысленно. Но совсем без них — тоже не получится 🙂 Они хорошо дополнят практику программирования. Среди лучших книг для новичков студенты и выпускники JavaRush назвали:
- Head First Java
- Effective Java
- Философия Java
- Структуры данных и алгоритмы в Java
- Чистый код
- Java 8. Руководство для начинающих
- Паттерны проектирования
- Java. Библиотека профессионала
Мини-итог по планированию обучения
- проходить JavaRush
- смотреть видеокурсы (Головач и другие)
- читать туториалы (Tutorialspoint, Baeldung, Oracle)
- проходить сертификацию Oracle (Associate, Professional — OCA, OCP)
- практиковаться на Github
- читать Stackoverflow, Хабр и другие ресурсы
- проходить стажировку JavaRush, местных IT-компаний
5. Рекомендации тем, кто ищет работу в сфере Java-программирования
Пожалуй, самая популярная фраза в советах от тех, кто уже закончил обучение и нашел работу — «не сдаваться». Легко ли учиться? Далеко не всегда. Но это точно стоит потраченных усилий 🙂
Топ рекомендаций от опытных программистов

Есть несколько навыков, которые вам точно пригодятся, когда вы устроитесь на работу. Поэтому если вы приближаетесь к этому моменту, рекомендуют:
- внимательно смотреть на предупреждения и советы InteliJ IDEA: гуглить ошибки, проблемы и задачи
- уделить внимание базам данных, алгоритмам и структурам данных
- изучить паттерны проектирования
- попробовать с нуля написать сложную программу: например, почтовый клиент, чат-бот или игру
Немного позднее — освоить основные инструменты (Git, Maven), а также основы Unit Testing, Spring, Spring Boot, Hibernate.
6. Мотивационные советы напоследок
«Главное держать темп, не делать больших перерывов и никогда не стоять на месте. Каждый день нужно совершать хотя бы маленький шажок к своей цели». «Если кажется, что решение слишком простое, скорее всего, это правильное решение. Не нужно усложнять». «Ведите дневник, заведите проект свой, не делайте больших перерывов, учите инглиш, приготовьтесь к чувству, что вы самый тупой человек на земле. Для меня это было больно, долго, унизительно. И думаю, потому немногие доходят до конца и потом получают человеческие деньги». «Если это девушка: не выходить замуж и не рожать детей: очень мешает учебе и работе :))» «Не бояться показывать код и адекватно воспринимать критику.» «Даже если вы чувствуете, что программирование — это не ваше, все равно постарайтесь дойти своими силами до 30 уровня на JavaRush: это научит вас думать».
7. Итоги. Как учиться Java-программированию, чтобы достичь результата
Упорство и мотивация — то, без чего точно не обойтись. Если идти по поставленному плану, соблюдать баланс теории и практики, заниматься ежедневно минимум 1-3 часа, реально изучить Java-программирование до уровня, который позволит найти работу, за 6-12 месяцев. Также важно оставаться частью комьюнити и следить за требованиями компаний, в которых вам бы хотелось работать. Редакция JavaRush говорит огромное «спасибо» всем, кто поучаствовал в опросе. Если у вас есть другие темы, о которых вам было бы интересно почитать или узнать мнение большинства — пишите в комментариях 🙂 Сделаем.