За сколько можно выучить java
ЧИТАЙТЕ ТАКЖЕ
Как стать тестировщиком с нуля и выйти на ЗП 2000$ в месяц
Как стать FullStack Node.js разработчиком
- Анкета нового студента
- Анкета после окончания курса
- Публичная оферта
- Конфиденциальность
- Карта сайта
IT Специальности
- C# / .NET Developer
- FrontEnd Developer
- Java Developer
- Python Developer
- FullStack Node.js Developer
- QA. Тестирование ПО
- C# / .NET марафон
- FrontEnd марафон
- Tetris марафон
- Python марафон
- QA марафон
Киев, ул. Евгения Сверстюка 19, 5 этаж, офис 502. станция метро «Левобережная». Ограничения по возрасту 12+
© 2024 КиберБионик Систематикс (CyberBionic Systematics). Все права защищены.
Исследование: сколько нужно времени на изучение 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 говорит огромное «спасибо» всем, кто поучаствовал в опросе. Если у вас есть другие темы, о которых вам было бы интересно почитать или узнать мнение большинства — пишите в комментариях 🙂 Сделаем.
Как научиться программировать на 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
- Промышленное программирование
Путь до junior developer (java/kotlin). Сколько времени потребуется?
Здравствуйте, хочу услышать ваше мнение. Вкратце опишу ситуацию. Лет 10 назад изучал html, css, php, SQL, как хобби. Делал простые сайты на локальном сервере. Мне это нравилось, хоть и изучал всё это дело достаточно поверхностно. Потом из-за обстоятельств пришлось забросить. На данный момент из-за сезонности в работе сижу дома с детьми, а жена устроилась на работу, чтобы дать возможность выучить язык программирования и найти работу уже в IT сфере. Морально готовы к тому, что придется потратить не один месяц, но все же хочется понимать сколько времени может занять изучение Java, а в последующем и Kotlin, чтобы претендовать на позицию Android разработчика. Насколько наличие сертификата об окончании платных/бесплатных курсов помогает в поиске работы или работодателя в первую очередь интересуют знания кандидата? Понимаю, что это всё индивидуально, но интересно послушать ваше мнение. Возможно, поделитесь своей историей и дадите пару дельных советов. Спасибо вам!
- Вопрос задан более двух лет назад
- 11763 просмотра
7 комментариев
Простой 7 комментариев
Я уверен, что в первую очередь интересуют знания, которые проверят на собеседовании.
Мне показалась Java простой. По крайней мере основы языка. Но я учил имея опыт на C#, а они похожи.
Высока вероятность, что на первой работе будешь поначалу править баги. Дадут тебе на первый взгляд гигантский проект и описание ошибки. Будешь должен разобраться как её починить. Хотя я на своей первой работе занимался разработкой проекта с нуля. Мне повезло найти такую работу. Туда и взяли из-за знания определённой технологии. То есть будь морально готов, что начнётся работа именно так — это огромный проект, непонятно как он устроен и т.д. Постепенно картина будет проясняться по мере работы с проектом. Обычно это скелет, на который уже навешивают новый функционал, добавляют новый код. Вот этот скелет будет поначалу сложно разглядеть (придётся пообщаться ни раз с тимлидом про устройство проекта). Скелет обычно почти не меняется. Важно знать это заранее.
Может повезти и на новой работе тебе дадут сделать какой-то простой функционал, а не править баги. Например, добавить новый экран с функционалом. Его нужно будет делать по аналогии с другими экранами. В проекте будет какая-то архитектура, вот ей и будешь следовать. То есть это не будет полная отсебятина «напишу как вижу, как хочу».
С полного нуля конечно будет очень не просто. И долго. Я бы рассчитывал на пол года самостоятельного обучения (каждый день).
Если хочешь с места в карьер (ради интереса), примерно представлять как может выглядеть реальный проект (только это сильно маленький и простой проект в видосах), то посмотри всю серию:
Я бы взял книгу по Java и в отрыве от Android сначала писал бы простые консольные приложения. Изучи сначала сам язык, все ООП фишки языка (интерфейсы, абстрактные классы, наследование, всякие переопределения методов, зачем вообще всё это нужно).
Напиши свою первую консольную программу в ООП стиле, которая будет что-то полезное делать, ну или имитировать полезную деятельность. Можно попробовать парсить папки на диске, искать там файлы определённого типа, читать в них текст, что-то оттуда доставать и куда-то складывать, что-то считать на основе этих данных. Например, HTML файлы или XML какие-нибудь. Результат записывать в какой-то другой файл или даже БД. Попробовать сломать работу программы, сделав с файлами и папками то, чего программа не ожидает (не со всеми, устанешь 🙂 ). Потом сделать многопоточный парсинг и запись результата (потренироваться работать с потоками, ускорить работу программы, если парсинг тяжёлый). Один поток собирает данные с диска в структуры данных в памяти, другие парсят эти данные и складывают куда-то результаты.
Тебе нужно понимать: работу с файлами, с коллекциями, понимание когда использовать ArrayList, а когда лучше HashSet и т.д. (там много другого всего, это просто пример). Чем все эти коллекции отличаются, должен будешь понимать когда какую коллекцию использовать. Какие-то простые алгоритмы можно для начала освоить. Многопоточность хотя бы на базовом уровне.
Когда понимаешь, что консольные программы ты уже пишешь не напрягаясь, после этого я бы полез в Android. Вот там тоже будет пласт знаний немалый, но после изучения основ ты будешь эти знания дополучать, сначала нужно будет научиться писать простые приложения.
И после всего этого ты устраиваешься на работу и офигеваешь от проекта, который тебе дают, чтобы починить в нём баги :D. Скорее всего, он будет оооочень большой и непонятный.