Первая часть статьи: определяемся с пулом технологий
Третья часть статьи: дополнительные, но важные источники информации: форумы и книги.
Четвертая часть статьи: выбери среду разработки и установи на свою рабочую машину всё необходимое ПО
Подробная статья о JavaRush - https://cdn.javarush.com/images/article/155cea79-acfd-4968-9361-ad585e939b82/original.png24.html
Первую часть статьи читайте здесь
Третью часть статьи читайте здесь. Четвертую часть статьи читайте здесь.
Итак, ты определился с технологиями и целью. Что дальше?
Выбери 2-3 основных источника знаний по Java, а также с десяток дополнительных. Но не забывай «гуглить», если что-то не ясно. В первую очередь тебе нужно изучить Java Core — основа языка, от неё уже можно отталкиваться. Настало время подумать, как именно ты будешь учиться. Самостоятельно или с наставником? Наставник — это здорово, но вряд ли кто-то будет бесплатно с тобой возиться и учить. А если платно… Время хорошего разработчика стоит немало. Плохой же тебе не нужен — чему он тебя научит? Тем не менее, если у тебя есть человек, готовый тебя консультировать, заручись его поддержкой. Может на курсы Java пойти? Очень многие в качестве основного источника знаний видят очные курсы. Их сейчас очень много, но найти среди них достойные сложно. Если они и есть в твоем городе, то, скорее всего, или очень дорогие, или совсем бесплатные. Вторые — это курсы при компаниях. Для совсем зеленых новичков таких курсов не бывает: они рассчитаны на тех, кто прочно знает Java Core (а мы его только учить собрались), и чтобы на них попасть нужно пройти тесты. На курсах проходит весьма жесткий отсев, а самых лучших выпускников компании зачисляют в свой штат. Теперь перемоем косточки дорогим курсам Java. Если повезет и тебе попадется отличный преподаватель-практик, они имеют смысл. Однако цена в таком случае будет очень высока. И еще: сможет ли этот наставник уделить достаточно внимания лично твоему коду? Не факт. В последние годы появилась масса доступных курсов, они обойдутся слушателю примерно в 100 долларов за месяц. Допустим, ты решил на них пойти, какой специалист-преподаватель там тебя ждет? Размышления на эту тему снова загоняют нас на DOU: иди туда и снова оцени зарплаты Java-разработчиков. Скорее всего ты понимаешь, что учить программистов должен не джуниор, а хотя бы «просто» Software Engineer. Средняя зарплата, например, у киевского специалиста этого уровня — 2000 долларов. Допустим, в группу набрали 20 человек. Это само по себе не очень хорошо, слишком большая нагрузка на преподавателя: он просто не сможет физически уделить внимание коду каждого студента. Чаще всего учебная группа состоит из десятка учащихся. Все вместе они платят 1000 долларов в месяц. Школа, которая ведет курсы, помимо специалиста, должна оплачивать аренду помещений, оборудование, коммунальные счета. И желательно хоть что-то заработать (вряд ли вы найдете много филантропов при платных школах). В самом лучшем случае учителю достанется долларов 500. При этом он тратит 2-3 вечера в неделю на лекции и еще массу времени на проверку задач. По идее, чтобы научиться программировать, человек должен писать программы каждый день, минимум — 5 раз в неделю. Сколько кода сгенерирует за неделю один ученик? А десять? Добросовестный преподаватель должен всё это проверить и проконсультировать студента, что правильно, а что не так. Это — прорва времени. Это мы ведем к тому, что нанимать хорошего специалиста на недорогие курсы — абсолютно нерентабельно. В самом лучшем случае, Once in a blue moon, как говорят «у них» или «когда рак на горе свистнет», как говорят у нас, ты попадешь на «фаната», которому жутко нравится не только программировать, но и преподавать. Поэтому он нашел себе такую не слишком выгодную подработку. Не денег ради, кайфу ради. Следующий вариант — онлайн-курсы, платные или бесплатные. Большинство платных онлайн-курсов — это те же самые «очные», только лекции проходят через интернет. Недостатки практически идентичные — не лучшие преподаватели, крайне мало времени уделяется практическим занятиям студента и проверке его кода. А вот бесплатные курсы можешь использовать в качестве дополнительных источников. Их можно найти, например, на Youtube — они представляют собой видеоуроки. Если знаешь английский, попробуй найти пару-тройку курсов на западных ресурсах, например, Coursera. Неплохие видеоуроки Java на Youtube: https://www.youtube.com/playlist?list=PLY4rE9dstrJzKUZHdGgECOjJLaZBcUdCC Новичкам от почти новичка: https://www.youtube.com/channel/UCK5d3n3kfkzlArMccS0TTXA Еще курс, немного не структурирован, но многие темы разобраны неплохо: https://www.youtube.com/channel/UCg1x1VDcSzviGGH995gHnjw Когда немного освоишься в программировании, какие-то темы можно смотреть здесь: https://habrahabr.ru/company/golovachcourses/blog/218841/ https://habrahabr.ru/company/golovachcourses/blog/215275/ В этих статьях приведен план обучения (может пригодиться) и ссылки на записи видеолекций оффлайновых курсов. Несколько нудноваты, но местами полезны, информации — тонна.Онлайн-курсы Java для начинающих
На английском языке, все рассчитаны на тех, кто ещё не программировал. http://courses.caveofprogramming.com/courses/java-for-complete-beginners https://www.coursera.org/learn/java-programming https://www.edx.org/course/introduction-programming-java-part-1-uc3mx-it-1-1x-0 И тут одна загвоздочка… Курсов и видеороликов много, из них можно почерпнуть очень много всего полезного. Однако при самостоятельном обучении возникает одно «но», очень принципиальное «но». Дело в том, что в программировании самое важное — программировать, то есть писать программы, а не изучать теорию. При самостоятельном обучении придется подбирать себе задачи самому, чтобы усвоить те или иные принципы. Новичку это непросто. Допустим, ты нашел источник упражнений: некоторые книги и бесплатные курсы содержат условия задач. Отлично, поехали решать!... И тут кроется самая большая сложность: кто будет проверять правильность решения? Ты, наверное, удивишься, но даже если программа запускается и выдает правильный ответ, это вовсе не значит, что она работает правильно! Это может быть сладкой иллюзией. Что же делать? Новые технологии и всемирная паутина знают ответ на этот вопрос. И этот ответ — http://javarush.ruИнтерактивные курсы Java с автоматической проверкой задач
Мы разработали самый классный курс для изучения Java. И многие уже знают как он называется - JavaRush. Мы им гордимся, поскольку он из таких новичков, как ты, которые растеряно задают вопрос «что же делать, куда бежать, столько информации вокруг!» помогает делать программистов, готовых к первой работе. Самые главные «фичи» курса:- В нем есть продуманная структура. Поскольку его создавал практик, который отлично ориентируется в реалиях рынка, том, что нужно знать и уметь, в курсе отобрано только самое главное и в нужном порядке! Это очень важно для новичка. Для тебя, наверное, тоже, раз ты читаешь эту статью и пытаешься понять, как тебе действовать.
- Курс на 80% состоит из практических заданий. За время обучения тебе придется решить более 1200 задач. Какие бывают задачи на JavaRush:
1. Маленькие «учебные» на закрепление пройденного в лекциях. 2. Хитрые задачи «на вырост». По уровню сложности они не отличаются от задач на закрепление, но специально помещены в курсе раньше, чем определенный кусок теории, необходимый для их решения. Это мобилизирует и заставляет человека гуглить и искать недостающий пазл теории. Всё как в настоящей работе. 3. Головоломные. Эти ребята заставляют включать голову на полную. Тебе нужно найти не теорию для решения, но само решение, алгоритм. Короче, хорошенько подумать. Это как задачи на сообразительность или задачи повышенной сложности из учебников. 4. Мини-проекты. Полезные большие задачи, разбитые на подзадачи для понимания, каким образом ведется разработка крупных проектов. Ты сам сделаешь несколько игр и полезных программ, которые можно применять в реальной жизни и дорабатывать.
- И — самое важное — в курсе есть автоматическая проверка правильности решений! Вы можете решать задачи на странице курса или в IDE (интегрированная среда разработки, если еще не знаешь, что это такое, скоро узнаешь). Причем проверка эта происходит в считанные секунды. Это просто огромное преимущество JavaRush!
- Курс на русском языке и лекции в нем поданы в виде текстового квеста, в котором ты будешь переходить с уровня на уровень, наращивая скиллы — скучно не будет!
- В курсе даны ссылки на полезные дополнительные материалы, однако скилл гугления также намеренно прокачивается.
- Вокруг JavaRush за 4 года существования образовалось огромное сообщество. В нем люди обсуждают задачи, решения, проблемы, делятся информацией.
- Специальный сайт для решения и обсуждения задач: http://help.javarush.ru/
- Основной курс состоит из 40 уровней, 10 из них — полностью бесплатны. Во время первого этапа обучения ты поймешь, подходит ли тебе JavaRush, так что тебе никто не продаст «кота в мешке», ты будешь точно знать, что покупаешь. К тому же цена всего курса очень доступна. Столько же ты заплатишь за два месяца обучения на «дешевых очных курсах». Ссылка на подписки на курс с ценами.
- После прохождения курса (или большей его части) ты можешь записаться на стажировку — это совместная работа над настоящим серьезным проектом. Они проходят регулярно, и для этого тебе не нужно будет переезжать куда-либо. Успешное прохождение стажировки — красивая и не пустая строчка в твоем резюме со ссылкой на готовый проект.
Подробная статья о JavaRush - https://cdn.javarush.com/images/article/155cea79-acfd-4968-9361-ad585e939b82/original.png24.html
Первую часть статьи читайте здесь
Третью часть статьи читайте здесь. Четвертую часть статьи читайте здесь.
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Итог — забейте на эти мнения, берите и учитесь. Если считаете что стоимость велика, найдите очные курсы по JavaCore у себя в городе, если они вообще есть, ну и сравните (Одесса от 400 до 500$), в принципе довольно БЮДЖЕТНЕНЬКО, время вашей учебы 3 месяца — весь основной материал изучается САМОСТОЯТЕЛЬНО, лекции только для задания направления (Они про это в открытую говорят). Можно найти личного ментора, рассчитывайте до 10$ (стоимость для Украины), тут как повезет.
Посему: – JR не панацея, а как правильно подметил Grif, это вектор Вашего развития в изучении языка Java, подключайте к изучению книги. В них, в принципе, все главы довольно автономны, поэтому (лично я ) читаю выборочно. Застрял на задаче, полез в нужные главы учебников и т.д.
От себя посоветовал бы на начальном этапе обучения посмотреть цикл видеолекций «Джава для тестировщиков» автор Мирончик.
Вот ссылка, здесь собрано и структурировано почти все видео которое есть на русскоязычном Ютубе по Java, более 1000 часов лекций. Главное что бы хватил
И еще один момент, в очень многих комментариях вижу фразу Любить программировать — это КАК??? Вопрос задал абсолютно не из желания пофлудить или под… (подколоть). Я действительно не понимаю эту фразу, какие чувства, какие критерии должны туда входить? Усидчивость (она же терпеливость), так да, без этого никуда. Ну так она везде требуется, если хочешь добиться успеха.
Теперь рассмотрим следующую житейскую ситуацию. Мужчина средних лет, у него есть семья (жена и 2 ребенка). Этот мужчина ужасно любит программировать, создавать и т.п., НО!, в один прекрасный момент у него зарплата превратилась из 1500 $ в 400$ и его жене уже по барабану, насколько горячо он любит свою профессию, семья реально начинает ВЫЖИВАТЬ. И вот, этот программист идет и начинает заниматься другим ЛЮБИМЫМ делом (скажем таксовать, плотничать, заниматься Гоп Стоп-ом (выбрать что больше подходит для души) да без разницы чем, что позволяет лучше прокормить семью то и лучше).
Теперь выскажу свое мнение по поводу СОЗИДАТЕЛЯ. Тут можно взять для примера меня. Я сейчас заканчиваю 15 уровень (и реально понимаю, что я сделал, максимум, пару шагов в освоении Java). Я еще абсолютно не добрался до фрейморков которые делают Джаву грозой Энтерпрайз приложений, отсюда напрашивается вопрос: — ЧТО Я МОГУ ТАКОГО ГЕНИАЛЬНОГО создать, что бы понять нравиться мне программировать или нет? Я не могу посщупать руками готовое приложение и сказать самодовольно: — Это я его сделал!!, потому что я не умею это делать, и что бы понять нравиться мне программировать или нет, нужно сначала научиться программировать, а САМАЯ отличная мотивация для этого, это хорошая зарплата программистов, ТАКОВА жизнь, к сожалению. И лично я не вижу в таком подходе ничего плохого.
Никто и не говорит что это плохо.
А чего не можете? а вы пытались? Не знаете, не умеете и тд?.. На 15-ом уровне уже нужно обладать одним из главных скиллов, который навязывает javarush — это поиск информации. Достаточно иметь только его и желание. Ладно, еще фантазию. Хорошо, еще усидчивость, терпеливость, трудолюбие, целеустремленность. За 40 уровней вам зарплату платить не будут. Я уже видел живой пример 40-ка уровневого специалиста, который не разбирался в Swing.
Забавно, вы описали то что случится с It отраслью в связи с увеличением «претендентов» на вакансии. Это случайно вышло, или так было задумано? :)
Не уменьшится, а перестанет увеличиваться. Как я уже написал выше, нас все больше, на старте получаем все меньше. Возрастают требования (что кстати хорошо), конкуренция нарастает, вакансий все меньше. Но даже в такой ситуации можно найти положительный момент — более квалифицированные (и трудолюбивые) джуны. Чт
В кратце прокомментирую (или отвечу на вопросы):
Имелось ввиду что нибудь порядочное (полезное в обиходе), а не «Привет мир» или вычисление квадратного корня.
Я ни разу в своих постах не говорил, что после 40 уровня можно устроится на работу, это можно сказать «стартовая точка» (рубеж) после которого на имеющиеся знания нормально лягут остальные фрейморки, базы данных и т.д. До 40 уровня здесь чистый Core, поэтому неудивительно, что он не разбирался в Swing (при условии, что он не проходил большую задачу (большой учебный проект)).
Ни кто с этим не спорит.
Дабы не разводить «толчения воды в ступе», пусть каждый читатель для себя ответит сам, стал бы он перепрофилироваться за 200$ зарплату или нашел более благоприятные условия, только на другой професии. (Те же, кто продолжал бы упрямо ломиться по этой стезе (принеся в жертву свое благосостояние), не восполняли бы потребности рынка)
Нужно учитывать, что зп программистов сейчас на высоком уровне в основном потому, что работаем на зарубежные компании (прямо или косвенно), а курс рубля и гривны Вы знаете как изменился за последние 2 года. Ну и… зп вряд ли будут падать — так как с каждым годом все больше потребности в людях, которые могут грамотно писать код (я не только о java). Скорее, действительно, будут потихоньку расти требования при приеме на работу. Рынок сам себя отрегулирует, опять же :)
Но ведь как-то же люди учатся, как-то устраиваются на работу…
С таким успехом можно вообще ни чего даже не начинать делать ибо любое дело потенциально обречено на провал.
Не для кого не секрет, что информации подаваемой в JR недостаточно для полноценного усвоения материала… ну так ни кто не мешает параллельно подучивать из различных источников.
JR просто как направляющий стержень, проба пера так сказать.
А как иначе?
У кого учиться?
www.youtube.com/watch?v=Kr--dGJAui4