Один из самых популярных вопросов среди тех, кто начинает учить 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 назвали:
Есть несколько навыков, которые вам точно пригодятся, когда вы устроитесь на работу. Поэтому если вы приближаетесь к этому моменту, рекомендуют:
![Исследование: сколько нужно времени на изучение Java - 1](https://cdn.javarush.com/images/article/7d1b6bd1-e340-479a-8867-289d5c4d6073/1024.jpeg)
1. Портрет студента: стартовый уровень знаний, сфера деятельности
В Java-программирование можно прийти практически из любой сферы: это подтверждают результаты опроса. Для начала мы решили узнать, чем наши выпускники занимались до изучения Java.![Исследование: сколько нужно времени на изучение Java - 2](https://cdn.javarush.com/images/article/c4a9d1c5-6f64-4486-886a-14c5f0112afc/1024.jpeg)
![Исследование: сколько нужно времени на изучение Java - 3](https://cdn.javarush.com/images/article/764badb7-91d7-40be-9fa1-dc07145b00d8/1024.jpeg)
2. Время на обучение и поиск работы
![Исследование: сколько нужно времени на изучение Java - 4](https://cdn.javarush.com/images/article/0c04b865-4fce-4833-815c-a48f85d331be/1024.jpeg)
![Исследование: сколько нужно времени на изучение Java - 5](https://cdn.javarush.com/images/article/9ef4cfc6-db76-4106-9c83-aaf9a6ffc426/1024.jpeg)
3. Планирование обучения
В обучении всегда работает простая зависимость: чем выше интенсивность занятий и меньше количество перерывов и “пропусков”, тем быстрее можно освоить предмет. В особенности это касается программирования, где практика играет большую роль, чем теоретические занятия. Мы спросили у выпускников JavaRush, сколько времени они выделяли на обучение, и узнали, что в среднем они занимались по 1-3 часа в день, часто совмещая обучение с основной работой.![Исследование: сколько нужно времени на изучение Java - 6](https://cdn.javarush.com/images/article/3dea4a48-bd75-4ba6-bf24-5a774573ba44/1024.jpeg)
![Исследование: сколько нужно времени на изучение Java - 7](https://cdn.javarush.com/images/article/056497e1-187b-422c-91e1-0024fc12dbd0/1024.jpeg)
![Исследование: сколько нужно времени на изучение Java - 8](https://cdn.javarush.com/images/article/629b5750-e09a-4679-b1cd-ceb51dc7d764/1024.jpeg)
4. Источники обучения
Что учить, как учить, а еще — где учить? В идеале, нужно комбинировать несколько источников. Ниже — список обучающих источников в порядке упоминаемости нашими выпускниками.![Исследование: сколько нужно времени на изучение Java - 9](https://cdn.javarush.com/images/article/648b4d0e-e914-4db2-8ac1-cef103f21794/1024.jpeg)
- 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-программирования
Пожалуй, самая популярная фраза в советах от тех, кто уже закончил обучение и нашел работу — «не сдаваться». Легко ли учиться? Далеко не всегда. Но это точно стоит потраченных усилий :)Топ рекомендаций от опытных программистов
![Исследование: сколько нужно времени на изучение Java - 10](https://cdn.javarush.com/images/article/3b9dfbde-2c22-4dc6-9b11-95761a0977f8/1024.jpeg)
- внимательно смотреть на предупреждения и советы InteliJ IDEA: гуглить ошибки, проблемы и задачи
- уделить внимание базам данных, алгоритмам и структурам данных
- изучить паттерны проектирования
- попробовать с нуля написать сложную программу: например, почтовый клиент, чат-бот или игру
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ