Я собираюсь переучить на 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 (в котором опыта гораздо меньше).
Простые задачи решаются на сайте, для всего остального есть
Программирование – это просто и интересно.
Оплата
Сейчас сервис бесплатен. В то же время, для его успешного развития нужны средства. Законченный сервис лучше, чем заброшенный.
Образовательные гранты
Очень бы не помешали. Надеюсь, мое видение образования, описанное в статье «правильный университет» найдет свой отклик в сердцах единомышленников.
Также, надеюсь на ваши отзывы. Чем больше восторженных отзывов получит проект, тем больше шансов, что какой-нибудь хороший фонд, заинтересованный в развитии образования, даст нам грант на развитие.
Модель 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 вместе с вами.
(Это можно сделать в разделе «Друзья» )
И ничего более.
Надо для того, чтобы отображать на карте звездного неба прогресс вас и ваших друзей.
Ваши аудиозаписи и видеозаписи
Серии Футурамы залиты в ВК. Я показываю их прямо оттуда.
(Чтобы не сильно нагружать мой сервер раздачей видео)
Работа со стеной
Чтобы вы могли приглашать друзей изучать Java вместе с вами.
(Это можно сделать в разделе «Друзья» )
И ничего более.
Проверял работу только под Windows
Похоже, что под Linux с Moonlight не работает.
Под MacOSX еще никто не отписался.
Под 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 и сразу закрыл
Если технология используемая для создания клиента перевесила для вас все преимущества проекта, то может быть не очень то и хотелось?
Кто хочет — ищет возможность (и я ее предоставил), кто не хочет — ищет причину.
Если бы я писал обучающее приложение для 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 и сразу закрыл
Если технология используемая для создания клиента перевесила для вас все преимущества проекта, то может быть не очень то и хотелось?
Кто хочет — ищет возможность (и я ее предоставил), кто не хочет — ищет причину.
У кого проблемы с авторизацией — первый раз заходим по этой ссылке.