Pull to refresh

Обучение программированию на Java

Reading time8 min
Views118K

Я собираюсь переучить на Java-программистов миллион человек.
Я собрал команду и сделал обучающий сервис, которым могу гордиться.
Рад сообщить, что теперь стать программистом легко, независимо от образования и опыта.



JavaRush — изучение программирования на Java в виде онлайн-игры




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

Рад представить вам новые онлайн курсы обучения программированию на Java.

1 Обучение сделано в виде онлайн-игры


Вы берете задание, выполняете его и получаете награду. Думаю вам это и понятно и привычно. Задачи будут самые разнообразные: чтение кода, решение задач, видео-уроки, просмотр Футурамы, исправление ошибок в коде, добавление новых фич и многое другое.

Возможно, вам даже придется писать программы для своего робота, чтобы сражаться со своими друзьями на «арене» или что-нибудь еще.

2 Только самое необходимое


Чтобы курс не растянулся на 5 лет, я выкинул из него все полезное и оставил только самое необходимое. Я проанализировал десятки вакансий на рынке труда. В курс включены все темы, которые нужно знать новичку Java Junior Developer, чтобы устроиться на работу.

3 Я основательно подошел к вашему обучению


Полный курс содержит 900 мини-лекций и 2500(!) практических задач. Задачи небольшие, но их много, очень много. Как раз тот минимум, выполнив который, вы получите столь ценный опыт.

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

4 Вы не можете пройти игру до конца и не стать программистом


Курс разбит на 80 уровней. Вы можете перейти на следующий уровень, только если решили большую часть задач текущего уровня. Начиная с маленьких и легких, и заканчивая большими и очень полезными. Каждый, дошедший до конца, получит 500-1000 часов практического опыта. Серьезная заявка на победу. И на работу.

5 Целенаправленная подготовка к собеседованию


Последние 10 уровней посвящены написанию резюме, подготовке к прохождению собеседования и навыкам работе в команде. Будут добавлены видео-записи собеседований и их разбор. Ну и, конечно, типичные вопросы на собеседованиях с ответами.

Также вам пригодится «план развития программиста на 5 лет» и «карта дальнейших возможностей программиста» на следующие 5 лет.

6 Задачи можно решать прямо на сайте



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

Лекции, разбор примеров, решение задач прямо на сайте, решение задач в IDE – разрыв между теорией и практикой тонок, как никогда.

7 Мгновенная проверка задач (меньше секунды)


Знакома ли вам ситуация, когда вы сдали задачу/работу на проверку, а результатов пришлось ждать неделю, т.к. проверяющий занят?
В JavaRush вы узнаете результаты компиляции и проверки задачи меньше чем через секунду, после нажатия кнопки «Выполнить/Проверить»

8 JavaRush любит, когда вы сидите в ВКонтакте во время учебы


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

9 Охват материала


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

10 Для того чтобы стать программистом вам нужны только мозги и компьютер


Это займет у вас от 3 до 6 месяцев, в зависимости от того, сколько времени вы будете уделять практике.


Краткое описание игры


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

За решение практических задач, просмотр мультфильмов и многое другое вы получаете награду – несколько единиц «чёрной материи».

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

Лекции


Лекции я постарался сделать небольшими, интересными и наглядными. Вот пример одной из них:


Практические задания


Написать программу – это практическое задание средней сложности. Для его выполнения вы должны написать программу на Java. Для вашего удобства, а также упрощения проверки программы, код стоит писать только в месте, отмеченном комментарием «напишите тут ваш код»

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

Домашние задания нужно решать в Intellij IDEA. Я написал специальный плагин для IDEA, который даст вам возможность мгновенно проверять вашу программу на правильность. Он состоит всего из двух кнопок:
Левая — показывает список доступных для вас задач:

Правая – отправляет задачу на сервер на проверку:

Также вы можете зарабатывать «черную материю» просматривая на сайте серии Футурамы:

С остальными типами заданий вы можете ознакомится в самой игре, если, конечно, решите ее пройти. Также можно почитать полное описание игры. 

Чему вы учитесь



Первые 40 уровней вы изучаете Java Core. Следующие 40 – основы таких технологий как JSP, Servlets, Hibernate, Spring. Изучение Java Core – очень детальное, все остальное — в той минимальной версии, которая может понадобиться Java Junior при устройстве на работу.

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

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

Курс в разработке (сделано 25%)



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

Планы на будущее


Многие фичи уже сделаны, над многими еще идет работа, а остальное — скромно ждёт своей очереди. Будет добавлена анимация, обучающие игры, нелинейный сценарий развития. Полный курс будет включать 80 уровней, 900 лекций и две с половиной тысячи практических занятий. А также видеозаписи собеседований и их разбор. Образцы составления резюме и удобный сервис для этого.

Многое будет зависеть от ваших отзывов и от посещаемости сервиса.

Почему Silverlight?

Игра написана на Silverlight. Обучающий курс изначально проектировался именно в виде онлайн-игры: много анимации, встроенные мини-игры, видео, мультфильмы и еще много чего. Так что выбор тут был между Silverlight (в котором у меня хороший опыт) и Flash (в котором опыта гораздо меньше).

Простые задачи решаются на сайте, для всего остального есть MasterCard Intellij IDEA.

Программирование – это просто и интересно.

Оплата


Сейчас сервис бесплатен. В то же время, для его успешного развития нужны средства. Законченный сервис лучше, чем заброшенный.

Образовательные гранты

Очень бы не помешали. Надеюсь, мое видение образования, описанное в статье «правильный университет» найдет свой отклик в сердцах единомышленников.
Также, надеюсь на ваши отзывы. Чем больше восторженных отзывов получит проект, тем больше шансов, что какой-нибудь хороший фонд, заинтересованный в развитии образования, даст нам грант на развитие.

Модель Freemium

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

Или я слишком оптимистичен или слишком наивен, или одно из двух.

В же чем прелесть эры онлайн-курсов?


Они уничтожат индустрию, которую по ошибке называют высшим образованием. 

А как же вуз?



Чтобы устроиться на работу новичком Java-программистом, надо хорошо знать Java Core, основы базовых фреймворков (Hibernate, Spring, JSP, Servlets) и иметь опыт программирования хотя-бы несколько месяцев.

Формально многому из этого вас в вузах и учат. По факту – почти ничему из вышеописанного.

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

Java Junior Developer


Так, скорее всего, обстоят дела, когда вы уже закончили вуз и только ищите работу:


Все, чему вас не научил вуз, но что нужно в работе, вам придется выучить самому. Скорее всего по книжкам месяцев за 6-12. Если у вас есть друг-программист, который готов быть вашим наставником, этот срок можно сократить в 2-3 раза.

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


Java Senior Developer


Есть мнение, что чтобы стать специалистом в своем деле, нужно потратить на него около 10,000 часов. В году чуть более 2000 рабочих часов, так что это примерно 5 лет.

А вот так будут обстоять дела у Java-программиста с 5 годами опыта работы:


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

Процентов 80 из того, что вы учите в вузе, вам не пригодится никогда. Так, разминка для мозгов. Как шахматы, кроссворды или логические игры.

Очень много придется учить самому. Люди ленивы. Если не будете лениться – будете зарабатывать $3К-$4К к пяти годам работы программистом.

Вуз – хороший




Объективность требует сказать, что вуз, на самом деле, неплохое место. Там можно расти над собой, заниматься интересными вещами, гулять, пока молодой. Это все тоже надо.

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

В целом ситуация с вузом выглядит не так уж плохо. Не идеально, но и не плохо.


Единственное, чего вуз вам скорее всего не даст – это профессию. Поэтому я и создал JavaRush – сервис онлайн обучения программированию на Java.

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

Так что, имеющие желание, но не имеющие возможности – пробуем.

Повторюсь. В настоящий момент курс находится в разработке. Сделано около 25% всей работы (20 уровней из 80). Вполне достаточно, чтобы примерить на себя роль Java-программиста, а также оценить и свои силы и JavaRush.

Всегда ваш, General

P.S.

Запрос прав при авторизации ВК
Личные данные и друзья
Надо для того, чтобы отображать на карте звездного неба прогресс вас и ваших друзей.

Ваши аудиозаписи и видеозаписи
Серии Футурамы залиты в ВК. Я показываю их прямо оттуда.
(Чтобы не сильно нагружать мой сервер раздачей видео)

Работа со стеной
Чтобы вы могли приглашать друзей изучать Java вместе с вами.
(Это можно сделать в разделе «Друзья» )

И ничего более.

Проверял работу только под Windows
Похоже, что под Linux с Moonlight не работает.
Под MacOSX еще никто не отписался.

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

Почему выбран Silverlight
1 Нет никакой связи между тем, какой язык мы учим и на чем написано приложение для занятий
Если бы я писал обучающее приложение для iPad, я написла бы его на Objective C, а не на Java
Если бы я обучал SQL, я тоже не стал бы писать клиента на SQL

2 У каждого языка/фреймворка есть свое преднозначение
У Java — это Android и Enterprise.
А для RIA-приложений лучше всего подходят Flash & Silverlight

3 У меня много опыта на Silverlight
Из всех технологий, которые я знаю, я выбрал самую подходящую для онлайн-игры.
Если бы я не знал Silverlight, но хорошо знал Flash, клиент был бы на Flash.

4 На хабре много тру айтишников, которые принципиально используют Linux и не используют ВК.
Если вы тру айтишник и у вас только Linux, возможно вы уже переросли курс джава-джуниора.

5 Надо бы писать все на Java!
Не слишком ли много требований для проекта, который начинался просто как желание помочь людям и хобби?

6 Увидел что Silverlight и сразу закрыл
Если технология используемая для создания клиента перевесила для вас все преимущества проекта, то может быть не очень то и хотелось?
Кто хочет — ищет возможность (и я ее предоставил), кто не хочет — ищет причину.


У кого проблемы с авторизацией — первый раз заходим по этой ссылке.
Tags:
Hubs:
+153
Comments289

Articles