Сколько времени нужно для изучения java: Как выучить Java с нуля и научиться программировать на этом языке самостоятельно

Содержание

Сколько нужно времени на изучение Java? Исследование JavaRush

Один из самых популярных вопросов среди тех, кто начинает учить 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 говорит огромное «спасибо» всем, кто поучаствовал в опросе.
Если у вас есть другие темы, о которых вам было бы интересно почитать или узнать мнение большинства — пишите в комментариях 🙂 Сделаем.

Сколько времени нужно, чтобы выучить Java

Java является одним из наиболее используемых языков программирования, с него часто начинают путь в IT. В мире насчитывается более 8 миллионов Java-разработчиков. И их количество постоянно растет. Сколько времени нужно, чтобы выучить этот язык программирования? Спойлер: не так много, как может показаться.

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

– Для чего вам нужно знать Java? 

– Вы хотите трудоустроиться Java-разработчиком? 

– Вам нужно выучить второй язык программирования? 

– Решили разобраться с этой темой для общего развития?

То, как долго вы будете учить Java зависит от цели изучения.  

Начните с основ

Даже если у вас есть опыт программирования на другом языке, важно знать основы Java: как создавать, компилировать и запускать Java-программу Hello World. На этом уровне нужно изучить IDE, которые помогают программировать на Java. Обо всех моментах мы писали в этой статье, здесь же найдете источники, которые мы рекомендуем для новичков в Java.  

В целом нужно два месяца, чтобы изучить основы: базовый синтаксис, основы ООП, познакомиться с  библиотекой Java, средой разработки IDEA, научиться писать консольные приложения в объектно-ориентированном стиле. Для ориентира можно использовать нашу программу обучения. Учтите, что нужно будет уделять учебе минимум 5 часов в день для достижения хороших результатов. Если у вас нет такого количества свободного времени, лучше пока отложить идею учить Java. 

Кроме того, важно скорректировать баланс между теорией и практикой и разумно распределить свое время: постарайтесь придерживаться принципа 80/20, при этом 80% обучения должно быть сосредоточено на практике и 20% на теории. Рекомендуем на этом этапе создать свой проект и отрабатывать теорию уже в рамках этого проекта. 

Перейдите к изучению базовых инструментов для работы на Java 

Только после теоретических основ можно переходить к более сложным темам. Если вы уверены, что прошли базу, изучите системы управления версий, Git, Apache Maven, работу с базами данных, Spring Framework и Spring Boot. На эти темы в среднем уходит два месяца непрерывной учебы по 5 ч в день.

Если ваша цель – трудоустроиться разработчиком на Java, нужно знать следующее: 

– Java LTS Versions.

– SQL.

– Spring Boot.

– Spring MVC.

– Spring Security.

– Hibernate.

– HTML/CSS.

– JavaScript.

– Maven.

– Git.

Большинство работодателей обращают внимание на практический опыт кандидатов. И здесь не обойтись без участия в командном проекте. Только так можно применить все полученные знания на практике. Хорошо бы как минимум месяц уделить участию в разработке коммерческого проекта. Почему это важно: работа в проекте придает уверенности. Когда вы пишите проект с нуля, вы действительно понимаете как все работает. На собеседовании вы будете уверены в том, что говорите, потому что опробовали это на практике, а не просто прочитали статейку в интернете. 

Вывод

За сколько можно выучить Java с нуля? Здесь все зависит от вашей способности учиться и конечной цели. Основы можно изучить за 4-5 месяцев. Если цель – трудоустройство, нужно будет еще 1-2 месяца потратить на закрепление практических навыков, подготовку к собеседованиям и сам поиск работы. В среднем, нужно 7 месяцев, чтобы с нуля стать Java-разработчиком. И, конечно, это не предел. Даже после трудоустройства вы будете постоянно обновлять свои знания, изучать дополнительные инструменты и библиотеки.

Сколько времени нужно, чтобы выучить Java?

Как и многие начинающие веб-разработчики, специалисты по данным или дизайнеры мобильных приложений, вы можете захотеть изучить Java, но опасаетесь, что это займет слишком много времени. Что касается языков программирования, то Java довольно легко освоить. Самой серьезной проблемой при изучении Java является его длинный синтаксис, который сложнее, чем такой язык, как Python. По экспертным оценкам, время, необходимое новичку для изучения Java, варьируется от шести до 18 месяцев, в среднем около девяти месяцев в целом. От одного до трех месяцев — примерный диапазон для человека, который уже знает язык программирования. Конечно, это зависит от нескольких факторов.

Продолжайте читать, чтобы узнать о том, как вы можете изучать Java, и о некоторых ресурсах, которые помогут ускорить этот процесс.

Что такое Java?

Java является как объектно-ориентированным языком программирования, так и программной платформой. Его создатели разработали его как инструмент «напиши один раз, работай где угодно». Он портативный, масштабируемый и адаптируемый. Приложение, созданное на Java, может работать на нескольких платформах и в распределенных сетях. Эта гибкость делает язык Java широко используемым, а Java-программистов очень желанными для работодателей. Профессии, использующие Java, включают веб-разработчика, разработчика мобильных приложений, дизайнера пользовательского интерфейса, специалиста по данным, дизайнера игр и научного сотрудника лаборатории.

Модульная природа Java позволяет разработчикам брать существующие фрагменты кода, которые им полезны, а затем комбинировать эти модули в новом контексте для новой цели. Кроме того, программы на Java не нужно компилировать, поскольку виртуальный инструмент Java Runtime Environment интерпретирует код и транслирует его для используемого вами компьютера. Портативный и адаптируемый характер Java позволяет использовать его в самых разных случаях. По этой причине он стал излюбленным инструментом ключевых игроков в технологическом пространстве: например, операционная система Android основана на коде Java. Помимо того, что Java имеет решающее значение для разработки мобильных приложений, Java также является важным навыком для веб-разработчиков. Он также используется для науки о данных, дизайна игр, дизайна пользовательского опыта и научных приложений. Многие работодатели стремятся нанять программистов Java, потому что язык очень гибкий, с множеством возможных вариантов использования и адаптацией к новым контекстам.

Подробнее о том, что такое Java и зачем его изучать.

Что можно сделать с Java?

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

Использование Java также ускоряет цикл разработки. Это связано с его уникальным процессом интерпретации, который позволяет разработчикам обходить большую часть рутинного тестирования и отладки, необходимых при написании кода на других языках программирования. Вы можете использовать Java Runtime Environment, чтобы поддерживать надежность ваших приложений с помощью автоматического управления памятью. JRE также поддерживает надежные графические интерфейсы благодаря многопоточности. Еще одно преимущество заключается в том, что его встроенная защита от вирусов и несанкционированного доступа обеспечивает безопасность вашего кода.

С помощью Java вы можете создавать мобильные приложения для платформы Android и, в некоторых случаях, для iOS. Если вы увлекаетесь большими данными, вы можете использовать Java для анализа больших наборов данных с помощью инструментов с открытым исходным кодом, таких как Hadoop и Spark. Функция Java «написал один раз, работает где угодно» делает его идеальным для написания облачных приложений и обеспечения сбора данных в них. Хотя машинное обучение обычно ассоциируется с Python, такие библиотеки, как Deep Learning for Java и MLib, упрощают использование преимуществ скорости и безопасности Java, обеспечивая стабильную среду для процессов глубокого обучения или машинного обучения. Еще одно отличное приложение для Java — программирование умных бытовых устройств. Java также полезен для разработки игр, как мобильных, так и настольных.

Среднее время, необходимое для изучения Java

Если вы совсем новичок, по оценкам экспертов, вы можете выучить Java всего за шесть месяцев. Однако, в зависимости от вашего процесса обучения, это также может занять от 12 до 18 месяцев. Средняя оценка для новичка, изучающего Java, составляет около девяти месяцев.

Для тех, кто уже умеет программировать, изучение Java может занять всего месяц. Эксперты говорят, что это может занять до трех месяцев, в зависимости от того, как много вы практикуетесь.

Прочие факторы

Время, необходимое для изучения Java, зависит от нескольких аспектов вашего учебного процесса. Ваш предыдущий опыт программирования, причина обучения, личный стиль обучения и выбранный вами метод обучения будут влиять на то, сколько времени вам потребуется для изучения Java.

Предыдущий опыт

Самый важный фактор, влияющий на то, сколько времени вам понадобится для изучения Java, — это наличие у вас предыдущего опыта программирования. Для новичков Java — довольно простой язык для изучения, но его сложный синтаксис может оказаться немного сложным для освоения. Если вы уже умеете программировать, изучение Java пройдет более гладко.

Почему вы учитесь

Причина, по которой вы изучаете Java, также влияет на то, как быстро вы освоитесь. Если вы хотите изменить карьеру, это может мотивировать вас учиться быстрее. Тот, кто изучает Java для совершенствования навыков, которые они привносят в свою нынешнюю должность, может прогрессировать более постепенно, в зависимости от того, какое влияние, по их мнению, окажут новые навыки на их работу.

Как вы естественным образом учитесь

У каждого свой естественный темп обучения. Некоторые люди быстро осваивают новые навыки. Другим требуется больше времени, но в конечном итоге они могут достичь более глубокого понимания. Осведомленность о своих склонностях к обучению может помочь вам оценить, сколько времени потребуется для изучения Java.

Метод обучения, который вы выбираете

То, как вы решите изучать Java, скорее всего, повлияет на скорость вашего обучения. Если вам выгодно следовать расписанию, установленному кем-то другим, вы можете учиться быстрее с помощью живого обучения, потому что вам необходимо посвятить определенное время обучению и уложиться в определенные сроки.

Сколько вы практикуете

Если у вас плотный график или вы устали от других аспектов своей жизни, возможно, вы не сможете много практиковаться вне занятий или не сможете так же легко идти в ногу со своим самостоятельным курсом.

Уровень сложности, требования и стоимость

Java можно загрузить бесплатно, как и многие его фреймворки и библиотеки. Его также легко освоить, особенно если у вас есть предыдущий опыт программирования. И даже если вы не знаете никаких других языков программирования, Java достаточно удобен для начинающих. Хотя его длинный синтаксис иногда вызывает путаницу, предварительное ознакомление с основными понятиями может облегчить процесс обучения. Также важно получить помощь от других, у которых больше опыта с языком. Если вы найдете наставника, вам будет легче справляться с трудностями Java. Java также имеет большое поддерживающее международное сообщество. Ваши коллеги-программисты Java и созданные ими инструменты, такие как множество доступных бесплатных фреймворков и библиотек, могут помочь вашему обучению пройти более гладко. Дискуссионные форумы по Java станут для вас важным ресурсом, особенно если вы проходите курс самостоятельно.

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

Узнайте больше о том, как сложно изучать Java.

Посмотреть бесплатный онлайн-курс Java

Если вы еще не готовы пройти весь курс, вы все равно можете открыть для себя мир Java с помощью множества доступных бесплатных онлайн-ресурсов. Udemy предлагает бесплатный вводный курс для абсолютных новичков. У них также есть бесплатные учебные пособия по специализированным темам, таким как интеграция Java с MySQL, с которыми вы, возможно, захотите ознакомиться позже при изучении Java. Бесплатный курс «Введение в Java» на Coursera познакомит вас с операторами и синтаксисом, необходимыми для написания простого кода на Java. Udacity и freeCodeCamp предлагают несколько бесплатных курсов Java, включая программы для начинающих. Бесплатные курсы — хороший вариант для студентов, чтобы изучить основы Java, но если вы хотите углубиться, вам, вероятно, будет выгодно вложить деньги в свое обучение.

Ознакомьтесь с другими бесплатными видеороликами по Java и интерактивными руководствами.

Изучайте Java с помощью практического обучения в Noble Desktop

Noble Desktop предлагает несколько вариантов изучения Java. Небольшие классы и опытные преподаватели создают идеальную среду для обучения. И если вы хотите еще больше улучшить свои знания, вы всегда можете пройти курс повторно — бесплатно. Доступны как очные, так и живые онлайн-варианты, вы можете изучать Java любым способом, который лучше всего соответствует вашим потребностям.

Учебный курс Noble по Java — отличный способ быстро и хорошо изучить Java. Вы можете пройти буткемп лично или в прямом эфире онлайн. Эта программа обучает практическим навыкам Java и принципам информатики, которые составляют основу эффективности Java. Курс охватывает объектно-ориентированное программирование, рекурсию и структуры данных. Вы также откроете для себя секреты процесса интерпретации, который упрощает создание новой программы на Java. К концу курса вы будете готовы сдать экзамен Java SE 11 Programmer 1, что поможет вам претендовать на позиции программиста начального уровня. В дополнение к буткемпу некоторые другие классы программирования Noble также включают обучение Java.

Учащиеся старших классов и колледжей могут посещать летние курсы Java через NextGen Bootcamp, школу-партнера Noble. Для тех, кто может посетить очную программу в Нью-Йорке, NextGen предлагает летний лагерь по программированию на Java. Этот 50-часовой курс завершается тем, что каждый студент создает окончательный проект на Java, который они могут включить в свое портфолио при подаче заявки на программы по информатике. Лагерь также дает студентам преимущество в подготовке к экзамену AP по информатике. У студентов, которые не могут приехать в Нью-Йорк, есть еще один вариант: живая онлайн-летняя программа Java от NextGen. Несмотря на отличия в способе проведения, этот курс предлагает то же содержание, окончательный проект и подготовку к экзамену, что и очный курс.

Ключевые выводы

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

Сколько времени нужно, чтобы выучить Java?

Итак, сколько времени нужно, чтобы выучить Java? Десять лет, десять недель или один день? Может всю жизнь? Вы можете найти очень своеобразные ответы на этот вопрос на некоторых интернет-форумах. Давайте проясним это с самого начала. В этой статье «знание Java» не означает, что вы можете написать программу «Hello world». Речь идет о знании Java достаточно хорошо, чтобы найти свою первую работу.
Девиз Базза Лайтера в названии — не совсем шутка. Вы действительно можете продолжать изучать Java или любой другой язык до конца своей жизни. Причина в том, что язык постоянно развивается, меняется его область применения и… Хорошие новости, друзья! Нет причин для паники! Изучение Java-миссии вполне реально выполнить за 3-12 месяцев, однако есть много нюансов, которые мы обсудим в этой статье. Здесь мы постараемся ответить и на вопрос «как быстро выучить Java».

Как искать ответ

Вопрос «сколько времени уходит на изучение Java» довольно сложный. Мы разбиваем его на более конкретные подвопросы и отвечаем на них здесь. Точнее, мы использовали интервью со студентами CodeGym, открытые источники и статистику опроса. Этот опрос касался процессов изучения Java и поиска первой работы. Его провело одно из местных подразделений CodeGym. Участниками опроса стали студенты CodeGym 30-го уровня и выше, которые нашли свою первую работу, связанную с Java, или приняли участие в стажировке по Java.

Что означает «Знать Java»?

Наиболее точным, хотя и очень общим ответом на этот вопрос будет «уметь решить задачу с помощью Java». Такой проблемой может быть цель «сдать экзамен» или «устроиться на работу». Или это может быть техническое задание, как большое «создать свой проект, достаточно хороший для Play Market», например, так и маленькое, типа «поймите, как писать код, который делает то, что вам нужно».
Конечно, ваши проблемы со временем изменятся. После получения первой работы вам нужно будет вырасти до должностей (например, от Java Junior Developer до Java Middle/Senior Developer). За первой задачей кодирования следует вторая.
Далее, когда вы это сделаете, появятся какие-то новые цели. Вернемся к нашему вопросу. Какие темы вы должны знать, чтобы написать «Я знаю Java» в своем резюме?

Студенты Java обычно изучают следующие темы:

  • Core Java или
  • Core Java + JUnit или
  • Core Java + базы данных или
  • Core Java + Инструменты или
  • Core Java + библиотеки или
  • Core Java + Spring + SpringBoot + Hibernate или
  • Core Java + Android SDK или
  • …и все вышеперечисленные комбинации.

У всех этих тем есть одна общая черта. Это Core Java, основы языка Java. Так что, если вы не знаете Core Java, вы определенно не знаете Java вообще. Таким образом, изучение Core Java — это шаг №1 для каждого будущего Java-разработчика программного обеспечения.
Core Java охватывает основные концепции языка:

  • Основные типы и объекты
  • Базовые конструкции (Специальные операторы, Циклы, Ветви)
  • Концепции ООП
  • Классы обертки
  • Коллекции
  • Многопоточность
  • Потоки ввода-вывода
  • Обработка исключений

Итак, Core Java содержит основные типы, объекты, конструкции и принципы, а также наиболее важные библиотеки и фреймворки. Кроме того, Core Jav охватывает классы для работы в сети, безопасности, доступа к базам данных, разработки графического пользовательского интерфейса (GUI) и анализа XML. В основном все пакеты «Core Java» начинались с «java.lang..».
Первая цель каждого студента, изучающего Java, — изучить Core Java.
Чему учить после Java Core? Это зависит от того, для чего вы изучаете Java.

Ваш личный способ. Для чего вы изучаете Java?

В этой статье мы не рассматриваем такие варианты, как «Я изучаю Java просто для удовольствия» или «Я хочу преподавать Java в будущем». Здесь речь идет о профессиональном использовании Java в ИТ. В настоящее время чаще всего Java преподают для того, чтобы пойти одним из трех путей:

  • Разработчик Java, от стажера/младшего разработчика до старшего разработчика
  • Разработчик Android, независимый или в компании (от младшего до старшего)
  • Автоматизация контроля качества (с Java)

Java-разработчик

Java-разработчик очень широк, и требования к знанию Java для получения первой работы могут сильно различаться. Согласно опросу CodeGym, есть люди, которые получили свою первую работу в Java Junior, зная только Java Core и ничего более. Компании были готовы обучать их в процессе работы. Однако это довольно редкое событие. Чаще такой человек может присоединиться к стажировке или стать стажером Java после сдачи некоторых экзаменов.
Обычно соискатели Java Junior должны знать больше, чем просто Java Core, чтобы получить свою первую работу. Вот список соответствующих технологий, которые должны знать Java-разработчики.

  • Ядро Java
  • JDK API
  • Java 8 (лямбды), Java 11
  • Библиотеки тестирования (JUnit)
  • Спринг-фреймворк
  • Spring Boot и Spring MVC
  • Спящий режим
  • JDBC

Ниже представлена ​​расширенная инфографика, основанная на опросе CodeGym и анализе текущих вакансий Java Junior. Заметим только, что на нем изображена не сама Java, а ряд других технологий, которые положено знать современным Java-разработчикам.
Его размер и разветвленность могут напугать неподготовленного читателя. Пожалуйста, сохраняйте спокойствие и дышите глубоко! Эти технологии вы подробно изучите в процессе работы. Обычно начинающему разработчику программного обеспечения достаточно иметь общее представление о большинстве этих технологий (за редким исключением).

Разработчик Android

Разработчики Android могут работать в компании или иметь собственные проекты. Они должны точно знать Java Core и некоторые другие технологии. Здесь у нас есть одна инфографика, которая демонстрирует путь Android-разработчика.
Что ж, пунктов в списке много, но не многие из них касаются непосредственно Java (только инструменты тестирования, и собственно Core Java). Обычно разработчики соглашаются с тем, что самостоятельное изучение программирования для Android несколько проще и быстрее, чем корпоративная разработка.
Тем не менее, даже тем, кто претендует на должность Java Junior, будет полезно создавать Android-проекты для тренировки навыков программирования.

QA Automation

Хороший QA Automation должен хорошо знать язык программирования, это один из самых важных навыков для этой профессии.
Подключен к Java

  • Core Java (особенно ООП, коллекция, файловые операции)
  • Библиотеки тестирования (JUnit)
  • IntelliJ IDEA

Прочие технологии:

  • Платформа Selenium RC/WebDriver
  • Объектная модель страницы
  • HTML/CSS
  • SQL

Обычно путь к Junior QA Automation несколько короче, чем к Java Junior Developer. Точные цифры вы найдете в конце этой статьи.

Кто спрашивает? Портреты потенциальных студентов Java

«Я думаю, это зависит от вашего опыта и количества времени, которое вы можете потратить на учебу. Когда я начинал свой путь в качестве разработчика программного обеспечения, я тратил на учебу не менее 40 часов в неделю. После 6 месяцев обучения на дневном отделении я почувствовал себя достаточно уверенно, что могу самостоятельно освоить любую новую технологию.
Чтобы получить свою первую работу в качестве инженера-программиста, вам нужно будет не только изучить Java, но и понять основы компьютерных наук, объектно-ориентированного программирования и написать несколько проектов, которые могут продемонстрировать вашу работу. Я думаю, это может занять где-то между девятью и двенадцатью месяцами.
Я знаю, что это звучит как много работы, но не расстраивайтесь! Это путешествие может быть по-настоящему увлекательным, если вы обнаружите, какой аспект программирования приносит вам радость, и позволите себе поиграть».

Юлия Дейнега, Программист-самоучка. Юлия работает в LinkedIn в качестве REACH Apprentice Engineer.
Также она создала канал на YouTube, чтобы поделиться своим опытом изучения компьютерного программирования и поиска работы в Силиконовой долине
.
Мы можем разделить тех, кто начинает изучать Java, на три основные категории:

  1. «Новички». Нулевой опыт. Ну, вот люди, которые ничего не смыслят в программировании.
  2. «Средние». Студенты с минимальным или хаотичным опытом программирования. Эти люди изучают программирование в школе, университете или на курсах, но это не серьезное обучение.
  3. «Профи». Разработчики программного обеспечения, владеющие другими языками программирования (1 или более).

Согласно опросу, 49% наших учащихся прошли базовое программирование в школах или на курсах до того, как начали серьезно изучать Java.

  • 33,3% были абсолютно новичками
  • 17,6% знали хотя бы один язык программирования

Что положительно влияет на время учебы?

Чтобы не тратить время зря, нужно с самого начала подходить к обучению эффективно. Мы выделили основные моменты, которые способствуют успешному изучению программирования.

Выбирайте правильные источники

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

Будьте готовы учиться много и последовательно

Джон Селавски, преподаватель Java и разработчик программного обеспечения, сказал в одной из своих статей, что иногда у него были студенты, которые удивительно хорошо программировали, но некоторые из них просто перестали учиться. Их проблемы были не в свободном времени, возрасте или поле. Дело было не в способностях! Речь шла о последовательности. У всех успешных студентов был постоянный график, и они придерживались его. Они добились прогресса, хотя иногда он был медленным.
Так что у вас должно быть расписание (вы можете взять его из вашего основного курса или учебника) и установить время для обучения.
Вы хотите сделать Java-программирование своей профессией? Если да, то будьте готовы ежедневно учиться по 1–3 часа.
По данным CodeGym Poll, 52,3% наших успешных учеников занимались от 1 до 3 часов в день.

Хорошее соотношение теории и практики

Вы не сможете научиться плавать, не пытаясь плавать, просто по книге. Та же история с программированием. Вы не можете научиться программированию, не написав код. Программирование — это практическая деятельность. Важно начать писать код как можно раньше. Не нужно учить сразу слишком много теории, особенно в первые месяцы обучения. Лучше изучать его небольшими порциями, а потом сразу закреплять на практике. Итак, 20% вашего времени уходит на теоретические исследования, а 80% — на практику.
Здесь самое время вернуться к самому первому вопросу «Что значит знать Java» и уточнить ответ. Знать Java означает уметь программировать на Java. Не «знать Java», а уметь писать программы разной сложности и иметь некоторый опыт такого кодирования.

Хорошее соотношение для простых и сложных задач

Новички довольно часто пытаются решить какие-то сложные задачи, пробуют их снова и снова. Если они будут делать это слишком долго, результат может быть печальным. Это путь к потере мотивации. Новичкам выгоднее решать множество мелких и простых задач, чем несколько сложных. Хорошее соотношение для первых месяцев обучения – 1 сложное задание на 10–20 простых заданий.
И еще: если задача слишком сложна для вас и вы пытались ее решить несколько раз, наберитесь смелости… отложить ее, пока не узнаете больше. Лучше решить еще несколько задач полегче, а потом вернуться в непроходимую крепость. Или .. если вы все еще думаете, что сейчас самое подходящее время для ее решения, не бойтесь задавать вопрос. Это следующий пункт.

Уметь задавать вопросы

Новички часто сомневаются, стоит ли им задавать вопросы на форумах и в сообществах, потому что они думают, что их вопросы могут быть глупыми. Ну точно могли! Но это нормально, нет причин для беспокойства! Каждый разработчик программного обеспечения был на вашем месте и нуждался в ответе на глупый вопрос новичка. Ну и что? Сообщества программистов в некоторой степени сотрудничают. Разработчики программного обеспечения обычно работают в команде, и все они когда-то были новичками.
Каждый студент и даже каждый профессиональный разработчик программного обеспечения время от времени задает глупые вопросы, и в этом нет ничего криминального.
Так что, если что-то пошло не так, заходите на форум и задавайте вопрос! Конечно, это может быть Javaranch, Stack Overflow или CodeGym Help.
Лучшие форумы, чтобы задавать вопросы или искать ответы:

  • Справка JavaRush
  • Переполнение стека
  • реддит
  • JavaRanch

Итак, как долго я должен изучать Java, чтобы получить свою первую работу?

Мы вплотную подошли к тому моменту, когда можем ответить на главный вопрос этой статьи: сколько времени нужно, чтобы изучить Java, прежде чем вы начнете рассылать свое резюме и получите свою первую работу?
На основе данных опроса и интервью студентов построены следующие графики, в которых учитывался исходный уровень респондентов и одна из трех необходимых должностей. Для каждой группы мы определили интервалы времени, за которые они изучали Core Java, и время, которое они потратили на изучение сопутствующих технологий, необходимых для получения первой работы.
Внимание! Вот информация для чтения графиков.
«Новичок» — это человек с нулевым опытом программирования, «Средний» — тот, кто немного изучал программирование в школе или на курсах. В случае Java и Android Developer «Pro» означает человека, хорошо знающего один или несколько языков программирования.
В случае QA Automation «Pro» означает того, кто уже занимается ручным тестированием и хочет стать автоматизатором с языком Java. Для всех графиков использовалась временная шкала с количеством месяцев. Красные прямоугольники означают время, потраченное на изучение Core Java, синие — другие необходимые технологии, кроме Core Java.
Важно понимать, что на графиках указано среднее время, затрачиваемое респондентами из каждой группы на изучение технологий. На самом деле в каждой группе были чемпионы, которые справились с учебой гораздо быстрее, а были и те, кто задержал учебу на несколько лет.
Общее время обучения указывает момент, когда соискатели начали рассылать резюме или завершили свой первый проект (тот, который начал приносить деньги). Согласно нашему опросу, в среднем поиск работы занимает от месяца до трех. Эти месяцы поисков начинаются по окончании изучения смежных технологий. Были счастливчики, которые нашли работу через неделю после отправки первого резюме, но были и те, кто потратил на поиск год.

Выводы

Сколько времени нужно изучать Java? Согласно результатам исследований, скорость изучения Java и смежных технологий во многом зависит от регулярности и исходного уровня обучающегося. Конечно, сейчас вы ничего не можете сделать со своим начальным уровнем, но регулярная учеба определенно лежит на вас.
Как быстро выучить Java? Старайтесь не делать длительных остановок и не откладывать на потом во время обучения. Это крайне важно, ведь во время длительных остановок вы не просто стоите на месте, а понемногу откатываетесь назад.
Ежедневная практика, упорство и мотивация — все это вам обязательно понадобится, если вы решите изучать Java и смежные технологии.