Рубрики
Без рубрики

До бесконечности и дальше: сколько времени требуется, чтобы выучить Java?

Итак, сколько времени требуется, чтобы выучить Java? Десять лет, десять недель или один день? Может быть, всю свою жизнь? Ты… С пометкой новички, java, codenewbie.

Итак, сколько времени требуется, чтобы выучить Java? Десять лет, десять недель или один день? Может быть, всю свою жизнь? Вы можете найти очень своеобразные ответы на этот вопрос на некоторых онлайн-форумах. Давайте проясним это с самого начала. В этой статье “знать Java” не означает, что вы можете написать “программу Hello world”. Речь идет о том, чтобы знать Java достаточно хорошо, чтобы найти свою первую работу.

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

Как нам искать ответ?

Вопрос “сколько времени требуется, чтобы выучить Java” довольно сложный. Мы разделим его на более конкретные подвопросы и ответим на них здесь. Чтобы быть более точным, мы использовали интервью со студентами CodeGym, открытые источники и статистику опроса, проведенного в конце 2019 года. Этот опрос был посвящен процессам изучения Java и поиску этой первой работы. Оно было проведено одним из местных подразделений Code Gym. Участниками опроса были студенты колледжей 30-го уровня и выше, которые нашли эту первую работу, связанную с Java, или приняли участие в стажировке на Java.

Что значит “Знать Java”?

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

Далее, когда вы это сделаете, появятся какие-то новые цели. Давайте вернемся к нашему вопросу. Какие темы вы должны знать, чтобы написать “Я знаю Java” в своем резюме?

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

  • Ядро Java или
  • Ядро Java + JUnit или
  • Базовые базы данных Java + или
  • Основные инструменты Java + или
  • Основные библиотеки Java + или
  • Ядро Java + Spring + Spring Boot + Переход в спящий режим или
  • Core Java + Android SDK или
  • …и все вышеперечисленные комбинации.

Все эти темы имеют одну общую черту. Это ядро Java, основы. Так что, если вы не знаете Ядро Java , вы определенно не знаете Java вообще. Таким образом, изучение Core Java – это шаг № 1 для каждого будущего разработчика программного обеспечения Java.

Ядро Java охватывает основные понятия языка:

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

Таким образом, ядро Java содержит основные типы, объекты, конструкции и принципы, а также наиболее важные библиотеки и фреймворки. Кроме того, Core Java охватывает классы для работы в сети, безопасности, доступа к базе данных, разработки графического пользовательского интерфейса (GUI) и синтаксического анализа XML.

В основном все пакеты “Core Java” начинались с “java.lang..” Первая цель для каждого студента Java – изучить ядро Java.

Чему учиться после Java Core? Это зависит от того, для чего вы изучаете Java.

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

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

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

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

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

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

  • Ядро Java
  • JDK API
  • Java 8 (лямбды)
  • Тестирование библиотек (JUnit)
  • Пружинный Каркас
  • Пружинный ботинок и пружинный MVC
  • Зимовать
  • интерфейс jdbc

Ниже приведена расширенная инфографика, основанная на опросе Code Gym и анализе текущих вакансий Java Junior. Отметим лишь, что на нем изображена не сама Java, а также ряд других технологий, которые должны знать современные разработчики Java.

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

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

Разработчики Android могут работать в компании или иметь свои собственные проекты. Они должны наверняка знать Java Core и некоторые другие технологии. Здесь у нас есть одна инфографика, которая демонстрирует путь разработчика Android.

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

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

Автоматизация контроля качества

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

Подключенный к Java

  • Ядро Java (особенно ООП, Сбор, Файловые операции)
  • Тестирование библиотек (JUnit)
  • ИДЕЯ IntelliJ

Другие технологии:

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

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

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

” Я думаю, это зависит от вашего образования и количества времени, которое вы можете потратить на учебу. Когда я начинал свой путь в качестве разработчика программного обеспечения, я тратил на учебу не менее 40 часов в неделю. После 6 месяцев обучения на очной форме обучения я почувствовал себя достаточно уверенно, чтобы самостоятельно освоить любую новую технологию.

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

Я знаю, это звучит как большая работа, но не расстраивайтесь! Это путешествие может быть по-настоящему увлекательным, если вы обнаружите, какой аспект программирования приносит вам радость, и позволите себе поиграть”. Юлия Дейнега , разработчик программного обеспечения-самоучка. Юлия работает в LinkedIn в качестве инженера-стажера REACH. Кроме того, она создала Канал YouTube , чтобы поделиться своим опытом изучения компьютерного программирования и поиска работы в Силиконовой долине.

Мы можем разделить тех, кто начинает изучать Java, на три основные категории:

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

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

  • 33,3% были абсолютно новичками
  • 17,6% знали хотя бы один язык программирования ## Что положительно влияет на учебное время? Чтобы не тратить время зря, нужно с самого начала эффективно подходить к обучению. Мы определили основные моменты, которые способствуют успешному программированию обучения. ## Выберите правильные источники Вы можете найти много различной информации о Java в Интернете. В нем легко заблудиться. Иногда, если вы не разбираетесь в теме, полезно поискать в Google новые источники, но прежде чем начать, неплохо бы выбрать:

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

В этом случае вы сэкономите свое время, избегая бесцельного блуждания по Интернету и поиска чего-либо.

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

Джон Селавски, преподаватель Java и разработчик программного обеспечения, сказал в одной из своих статей, что иногда у него были ученики, которые удивительно хорошо программировали, но некоторые из них просто прекращали свое обучение. Их проблемы были не в свободном времени, возрасте или поле. Дело было не в способностях! Речь шла о последовательности. У всех успешных студентов был постоянный график, и они придерживались его. Они добились прогресса, даже если иногда он был медленным.

Таким образом, у вас должно быть расписание (вы можете взять его из своего основного курса или учебника) и установить время для обучения.

Вы хотите сделать программирование на Java своей профессией? Если это так, будьте готовы ежедневно учиться в течение 1-3 часов. Согласно опросу CodeGym, 52,3% наших успешных студентов ежедневно практиковались от 1 до 3 часов.

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

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

Здесь самое подходящее место, чтобы вернуться к самому первому вопросу “Что значит знать Java” и уточнить ответ. Знать Java – значит уметь кодировать на Java. Не “знать о Java”, но уметь писать программы различной сложности и иметь некоторый опыт в таком кодировании.

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

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

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

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

Новички часто сомневаются, следует ли им задавать вопросы на форумах и в сообществах, потому что они думают, что их вопросы могут быть глупыми. Что ж, они определенно могли бы! Но все в порядке, нет причин для беспокойства! Каждый разработчик программного обеспечения был на вашем месте и нуждался в ответе на глупый вопрос новичка. Ну и что? Сообщества программистов в какой-то степени сотрудничают. Разработчики программного обеспечения обычно работают в команде, и все они когда-то были новичками.

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

Так что, если что-то пошло не так, зайдите на форум и задайте вопрос! Наверняка это может быть Javaranch, StackOverflow или CodeGym Help.

Лучшие форумы для того, чтобы задавать вопросы или искать ответы:

  • Код Справки по тренажерному залу
  • Переполнение стека
  • реддит
  • ДжавАранч ## Итак, как долго я должен изучать Java, чтобы получить свою первую работу? Мы вплотную подошли к тому моменту, когда можем ответить на главный вопрос этой статьи: сколько времени требуется для изучения Java, прежде чем вы начнете рассылать свое резюме и получите свою первую работу?

Мы используем данные опроса и интервью со студентами для создания следующих графиков, в которых учитывался начальный уровень респондентов и одна из трех необходимых позиций. Для каждой группы мы определили временные интервалы, в течение которых они изучали Core Java, и время, которое они потратили на изучение соответствующих технологий, необходимых для получения первой работы.

Внимание! Вот информация для чтения графиков.

“Новичок” – это человек с нулевым опытом программирования, “Средний” – это тот, кто немного научился программированию в школе или на курсах. В случае разработчика Java и Android “Профессионал” означает человека, который хорошо знает один или несколько языков программирования.

В случае автоматизации контроля качества “Профессионал” означает того, кто уже работает в ручном тестировании и хочет стать автоматизатором с языком Java. Для всех графиков мы использовали временную шкалу с количеством месяцев. Красные прямоугольники означают время, потраченное на изучение Core Java, синие – на другие необходимые технологии, помимо Core Java. Важно понимать, что графики показывают среднее время , затраченное респондентами из каждой группы на изучение технологий. На самом деле в каждой группе были чемпионы, которые справлялись со своим обучением гораздо быстрее, а также были те, кто откладывал учебу на несколько лет.

Общее время обучения указывает на момент, когда соискатели начали рассылать резюме или завершили свой первый проект (тот, который начал приносить деньги). Согласно нашему опросу, в среднем на поиск работы уходит от месяца до трех. Эти месяцы поиска начинаются в конце изучения соответствующих технологий. Были счастливчики, которые нашли работу через неделю после отправки своего первого резюме, но были и те, кто потратил на поиски год.

Выводы

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

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

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

Если вы будете следовать установленному графику, соблюдать правильный баланс теории и практики и практиковаться ежедневно не менее 1-3 часов, не бояться задавать вопросы, вполне возможно выучить Java до уровня, который позволит вам найти свою первую работу через 6-12 месяцев.  … А затем продолжайте свое обучение в качестве разработчика/специалиста по автоматизации контроля качества до бесконечности и далее!

P.S.: А теперь что насчет тебя? Как долго вы сейчас изучаете Java? Является ли этот процесс трудным?

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

Впервые был опубликован на Codegym Java blog .

Оригинал: “https://dev.to/alice_korzh/to-infinity-and-beyond-how-long-does-it-take-to-learn-java-2l9e”