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

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

2. Время на обучение и поиск работы


3. Планирование обучения
В обучении всегда работает простая зависимость: чем выше интенсивность занятий и меньше количество перерывов и “пропусков”, тем быстрее можно освоить предмет. В особенности это касается программирования, где практика играет большую роль, чем теоретические занятия. Мы спросили у выпускников JavaRush, сколько времени они выделяли на обучение, и узнали, что в среднем они занимались по 1-3 часа в день, часто совмещая обучение с основной работой.


4. Источники обучения
Что учить, как учить, а еще — где учить? В идеале, нужно комбинировать несколько источников. Ниже — список обучающих источников в порядке упоминаемости нашими выпускниками.
- 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: гуглить ошибки, проблемы и задачи
- уделить внимание базам данных, алгоритмам и структурам данных
- изучить паттерны проектирования
- попробовать с нуля написать сложную программу: например, почтовый клиент, чат-бот или игру
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ