18 октября проект JavaRush отмечал день рождения. Именно в этот день 9 лет назад состоялся первый релиз легендарного обучающего сервиса. Его создатель, Дмитрий Вежнин, рассказывает о том, как это было. Еще в самом начале основатель нашего проекта сформулировал миссию JavaRush так: “переучить миллион человек на Java-разработчиков”. Сделать изучение Java реальным для каждого при наличии двух вещей: желания учиться и компьютера с подключением к интернету. За девять лет количество студентов JavaRush почти достигло двух миллионов человек. Помимо обучения, ресурс стал площадкой для крупнейшего Java-сообщества в Рунете, а с некоторых пор — далеко за его пределами. Сейчас на сервисах JavaRush можно учиться на русском, украинском, английском, немецком, польском, французском и китайском языках. О миссии и эволюции нашего проекта мы поговорили с его идеологом и основателем Дмитрием Вежниным. А заодно и о том, как онлайн-обучение меняет мир, и почему бум рынка IT не остановить. “Как это было?”. Первое интервью с создателем JavaRush - 1

О том, как школьное увлечение переросло в профессию

Я отношусь к той редкой категории людей, которые работают по профессии. Вся моя жизнь так или иначе связана с программированием, которым я заинтересовался еще в 13 лет будучи школьником. У меня был шикарный учитель информатики — Юрий Александрович. Именно он привил мне, а также еще сотням учеников, любовь к программированию. Мне очень нравится одна фраза. “Ученик — это не сосуд, который нужно наполнить: это факел, который нужно зажечь”. Не нужно запихивать в ученика знания: сделайте так, чтобы он сам этого захотел! Согласен с ней на 200%. В восьмом классе я поехал на свою первую школьную олимпиаду по информатике, потом был 9 класс с первым местом на области и 10-11 классы, когда я занимал призовые места на всеукраинских олимпиадах. После школы я поступил в Донецкий Национальный Университет на математический факультет, учился и параллельно ездил на студенческие олимпиады по информатике. Мой личный топ — первое место в Украине на олимпиаде летом после третьего курса и поездка на полуфинал олимпиады в Румынию. На последних курсах я перевелся в Киевский университет Шевченко на факультет “Кибернетика” и закончил там магистратуру. В тот же период впервые устроился работать программистом на полный день. Это была моя первая работа — С++ программист. Тогда же я стал разочаровываться в олимпиадах. Поймите меня, я был в них очень хорош много лет. У меня дома были книги MIT по Computer Science. Все, что касается теории алгоритмов, мне очень нравилось и очень легко давалось. Но для работы программистом это оказалось совершенно ненужным. По стечению обстоятельств, когда я оканчивал вуз, знакомые набирали Java-разработчиков в другую IT-компанию. Тогда джавистов было мало и многих в этот язык перетягивали из С++, так что я перешел в Java, с которым и работал лет до 30. За почти 10 лет работы программистом я сменил 5 компаний и успел серьезно освоить C# и Frontend. Ну а от синтаксиса PL/SQL до сих пор подгорает. Думаю, знающие люди меня поймут.

Об идеальном курсе и работе по 100 часов в неделю

Мне нравится делать три вещи: программировать, учить людей и писать статьи. К тридцати годам (как я уже сказал выше) я успел поработать в нескольких крупных аутсорсинговых компаниях. Тогда у меня было большое желание понять, как устроена IT-индустрия: какие навыки и знания технологий нужны для работы в ней, а какие наоборот — без надобности. Это было поразительно. С одной стороны, есть аутсорсинговые компании, которые гребут чуть ли не всех, занимаются обучением сотрудников и платят высокие зарплаты. А с другой — куча умных людей, которые получают в 10 раз меньше, и их главное отличие просто в том, что они не работатют в IТ. Все началось с моей младшей сестры, которую я уговорил переучиться на Java-разработчика. Сначала ее обучение продвигалось медленно, но после того, как она сожгла мосты — бросила текущую работу и серьезно занялась обучением — все пошло значительно быстрее. А через полтора года после начала учебы она уже работала Java-разработчиком с зарплатой в 5 раз выше, чем до начала обучения. Поэтому я и утверждаю, что работать в ИТ — это круто. И перспективно. Муж сестры посмотрел на то, что вокруг происходит, и тоже ушел в Java-разработчики. Тоже с хорошим результатом. Потом я учил пару групп по 2-3 человека сразу. Это все продолжалось лет 5. Даже мою девушку, весьма далекую от IТ, не минула чаша сия: ей тоже пришлось работать Java-программистом :) Тогда же я очень сильно разачаровался в вузовском образовании. Я сам учился в двух вузах и могу с уверенностью сказать, что в обоих не было ничего полезного для работы. А ведь у меня красный диплом факультета Кибернетики КНУ и куча олимпиадных дипломов. Кроме того, я переучивал на программистов людей, которые сами учились в разных вузах и везде видел одну и ту же картину: люди, проучившиеся по 5-6 лет на технических специальностях, вообще ничего не знают об IТ. И всего 3-6 месяцев нужно было, чтобы дать человеку навыки, которые помогали ему получить хорошую работу. По этому поводу я написал на “Хабр” статью о мифах о высшем образовании, где жестко критиковал современные вузы. Статью растащили на цитаты, что привело к написанию еще одной статьи, но на этот раз о моем опыте обучения людей программированию. Вторая статья имела оглушительный успех. Мне в личку написало несколько десятков человек с просьбой: они хотели учиться у меня онлайн и спрашивали, сколько это будет стоить. Я понятия не имел, что им ответить: друзей я переучивал на программистов бесплатно и вести онлайн-уроки не собирался. Даже за деньги. И тут есть важный момент. Все 5 лет, которые я переучивал моих друзей и знакомых на программистов, я искал в интернете сайт, который помог бы людям оттачивать их практические навыки. Уже были хорошие книги, но не хватало учебников и практических задач. Еще один важный момент: за несколько лет до этих событий я стал читать книги по бизнесу и маркетингу. И там всегда доносилась одна простая мысль: чтобы создать бизнес, найдите платежеспособный спрос. Если люди чего-то хотят — это половина успеха. Надо, чтобы они были готовы заплатить за это деньги. Вот когда мне начали писать незнакомые люди с запросом об учебе, я понял, что есть некий массовый нереализованный спрос на учебу онлайн. К тому времени в голове у меня сформировалось представление об идеальном обучающем курсе по программированию: с лекциями и задачами, которые можно автоматически проверять. Ведь тогда проверка задач выглядела совсем иначе: человек писал решение, файлы упаковал в zip-архив, отправлял по почте преподавателю, через неделю преподаватель присылал ему ответ. Это было долго и нудно, ведь процесс можно было автоматизировать. В итоге… Я решил сам создать курс с таким форматом обучения! Статью на “Хабре” я написал 1 августа 2012 года, а уже 15 августа сообщил на работе об увольнении и о планах работать над своим собственным проектом. Хотя пришлось отработать еще месяц, так как мое увольнение было для всех достаточно неожиданным. Наконец, 15 сентября я официально уволился и начал заниматься JavaRush. Я поставил себе такую цель: написать лекции, создать задачи с автоматической проверкой, все это объединить и запустить. Так как учебный материал я уже рассказывал людям на протяжении нескольких лет, смог в течение пяти недель создать первую версию курса, которую зарелизил 18 октября 2012 года. От начала работы над проектом до его первого релиза прошло всего 5 недель. За это время я написал 10 уровней лекций (120 листов в ворде), 8 уровней задач, фронтенд, бекенд и систему автоматической проверки задач. 18 октября был официальный релиз :) Все это получилось сделать так быстро, потому что я работал 100 часов в неделю: с 6 утра до 22:00 вечера, 6 дней в неделю. Так работать можно, только если очень хочется увидеть результат. Охота пуще неволи :) Ближе к новому году я выпустил второй релиз JavaRush. К 25 декабря было готово 20 уровней лекций, 12 уровней задач, а так же плагин к Intellij IDEA, через который можно было получать и сдавать задачи. Для меня важна была концепция упрощения процессов: пользователь должен делать минимальное количество лишней работы при обучении. В итоге у меня получилось сделать так, что пользователь смог одним кликом сдать задачу на проверку и в течение одной секунды получить ответ. Вместо ответа через неделю я получил ответ в течение одной секунды. Это была революция.

О тайной связи World of Warcraft, StarCraft и JavaRush

Изначально миссия JavaRush звучала так: переучить на Java-программистов миллион человек. Я заметил, что множество умных людей, окончив вузы, работают на низкооплачиваемых работах, хотя рядом есть IT-сфера, где и зарплата высокая, и перспективы есть. Значит, получается, что с одной стороны есть много способных людей, с другой — куча IT-компаний, куда эти люди могут устроиться. Нужно просто помочь этим людям преодолеть разрыв между уровнем обучения в вузах и потребностями рынка труда. Но как их переучить? С моей точки зрения умение программировать — это практический навык. Например, как умение водить машину. Я считаю, человеку нужно получить тысячу часов практики программирования. Если исходить из того, что в году две тысячи рабочих часов, тысяча часов — это полгода при 40-часовой рабочей неделе. Тогда я столкнулся со следующей проблемой: как сделать так, чтобы человек, сидя дома, занимался? Как сделать так, чтобы человек, сидя дома в одиночестве, наработал эту тысячу часов практического опыта? В 2012 году набирали популярность онлайн-игры. С одной стороны, учиться человека не загонишь, с другой стороны, он может по 10-12 часов в сутки сидеть за онлайн-играми. Я видел, как люди часами делают однотипные действия, убивая монстров, и хотел, чтобы они использовали этот подход в учебе. Я даже специально установил себе WoW, чтобы понять, как там все работает. На много меня не хватило, но концепцию набора опыта, уровней персонажа и уровней задач я подсмотрел именно там. Также мне понравилась идея об элементе брони, который у тебя есть, но использовать его можно только когда твой уровень будет достаточным для этого. В JavaRush есть аналогия: нельзя решать любую задачу и прочитать любую лекцию, ваш персонаж должен дорасти до нее. Кроме того, у JavaRush есть еще связь и со StarCraft, и эта связь насколько сильная, что сам JavaRush был назван в ее честь. Думаю, вы уже догадались — это ZergRush! :) В StarCraft можно строить крутые дорогие юниты, а можно достигать победы, быстро строя самые простые и дешевые. Вот и мне хотелось переучивать людей на программистов быстро и дешево. Ровно тот необходимый минимум, чтобы человек мог найти работу в ІТ-индустрии. Десять лет назад обучение программированию было в основном в виде обычных курсов, что приводило к высокой себестоимости обучения. Если программисты хорошо зарабатывают, и вы попросите такого программиста стать преподавателем, то он захочет получать сопоставимую зарплату. Поэтому на очных курсах мы имеем ситуацию, когда обучение хорошее и дорогое, или недорогое и некачественное. И JavaRush хотел решить эту проблему именно с точки зрения бизнеса: сделать себестоимость обучения очень низкой, а качество — высоким. Поэтому из уравнения был исключен самый дорогой элемент — преподаватель. Все обучение было полностью автоматизировано, и мы смогли продавать нашу услугу за $30/месяц. Добавление хорошего преподавателя сразу делает обучение на порядок дороже.

О трансформации проекта за 9 лет

Во-первых, за 9 лет сильно изменился я. Когда я начинал создавать JavaRush, то по типу своего мышления я был программистом. Лишь через 5 лет я стал мыслить как предприниматель и начал думать категориями найма людей, бизнес-процессами внутри компании. Во-вторых, изменилась и сама компания: стало значительно больше людей в команде. Первые люди присоединились ко мне в 2013 году. Когда я загорелся идеей JavaRush, начал завлекать друзей с тогдашней работы. Мне не удалось ни одного из них уговорить. С тех пор я не боюсь делиться идеями. Если мои лучшие друзья не поверили в мою идею, то какой шанс, что ее украдут? Зато мне удалось уговорить мою сестру, а также мою девушку — на тот момент она занималась маркетингом в соцсетях. Еще через полгода присоединился Леша Еленевич (сейчас он директор по маркетингу — ред.). Активно команда начала разрастаться буквально 2-3 года назад. Сегодня в JavaRush работает около 50 человек. Последние годы мы делаем упор на выстраивании бизнес-процессов: занимаемся поддержкой, улучшаем продукт. Это важно для роста компании. Понемногу он становится тем идеальным обучающим курсом, о котором я мечтал. Наша нынешняя стратегия развития такова: мы делаем упор не на увеличение количества контента (например, еще больше лекций или задач), а на улучшение того, что есть. Если у нас будет в три раза больше лекций, они от этого интересней не станут. Зато мы пробуем персональный подход к обучению: мы предлагаем разные сценарии обучения — для кого-то более сухой и академический, для кого-то — наполненный игровыми элементами. Это дает нашему курсу большую гибкость — каждый может выбрать то, что ему необходимо. Мы также создали CodeGym, мультиязычный проект обучению языку Java. В основном ориентировались на рынок США. На нем зарегистрированы уже 640 тысяч пользователей из десятков стран, в большинстве — студенты из Штатов, Польши, Германии и Китая.

О перспективах онлайн-обучения

Я уверен, что со временем 90% образования перейдет в интернет, так как это очень удобно. У офлайн и онлайн обучения — разные сильные стороны. В офлайн-образовании можно пообщаться с преподавателем один на один, уточнить непонятные моменты, получить больше внимания, попросить сразу проверить задания. Из офлайн-обучения уже выжали максимум. Оно занимает около 15 лет нашей жизни, в нем уже стандартизировано все: программы детских садиков и школ, учебники, дипломы, привязанные к уровню образования, олимпиады. Сильная сторона онлайна — это автоматизация. Ни один школьный учитель не даст в течение секунды обратную связь по решаемой задаче. На JavaRush можно в три часа ночи спросить что-то на форуме и получить ответ. При онлайн-обучении можно заниматься в комфортном режиме, не подстраиваясь под остальных членов группы. Для учебы можно выбрать любое время дня или ночи, любое время года — не надо ждать 1 сентября. Можно учиться с любой скоростью.

О том, почему программисты не останутся без работы

Начну с шутки. Программисты занимаются тем, что автоматизируют работу других людей. Последняя профессия, которая исчезнет, — это программист, ведь все больше различных профессий будут заменять сервисы. 20-й век был веком индустриализации, тогда было выгодно быть инженером. Лидирующими отраслями были автомобилестроение и электроника. 21-й век называют информационным, и все вертится вокруг информации и контента. Сейчас перспективно быть software-инженером. 5 крупнейших компаний мира, стоящие больше триллиона долларов, — это IТ-компании: Apple, Google, Microsoft, Amazon, Facebook. Facebook был основан студентом, программистом-самоучкой, а сейчас он стоит тысячу миллиардов долларов. Хорошо быть IТ-шником в IТ-веке. Как-то так :) Важная мировая тенденция — это удаленная работа. Пандемия сломала культурные барьеры у людей в голове. До пандемии компании предпочитали, чтобы сотрудники сидели в офисе, потому что так эффективнее. И крупным компаниям пришлось перестраиваться к тому, что сотрудники работают дома. К тому же, пандемия продлилась достаточно долго, чтобы удаленные процессы работы устаканились и люди к ним привыкли. В тех же компаниях США еще до пандемии могли работать удаленные сотрудники из Украины, например, с зарплатой в 5 тысяч долларов, и сотрудники в Калифорнии с зарплатой в 20 тысяч долларов. Когда после старта пандемии все пошли на удаленку, американский менеджмент задумался: вот у нас есть удаленные сотрудники, которым мы платим разные зарплаты. Зачем платить больше? Поэтому им стало невыгодно нанимать сотрудников в США, если можно нанять специалиста за меньшие деньги в другой стране. И Восточная Европа (Украина, Россия, Беларусь) как раз и являются этими “другими странами”. В Украине был пик роста в 2008 году, когда был мировой финансовый кризис. В США начали активно резать бюджеты, увольнять людей, в Украине напротив — был бум найма. То есть просто западные компании увольняли дорогих программистов и нанимали таких же квалифицированных людей у нас. Сейчас ожидается очередная волна найма. Если вы живете не в самых дорогих городах мира, ожидайте, что вам будет поступать больше заказов. Это ли не стимул взяться за Java, не дожидаясь понедельника, первого числа месяца или нового года?