18 жовтня проект JavaRush відзначав день народження. Саме цього дня 9 років тому відбувся перший реліз легендарного навчального сервісу. Його творець Дмитро Вежнін розповідає про те, як це було. Ще на початку засновник нашого проекту сформулював місію JavaRush так: "перевчити мільйон людей на Java-розробників". Зробити вивчення 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 разів менше, і їхня головна відмінність просто в тому, що вони не працюють у ІТ. Все почалося з моєї молодшої сестри, яку я вмовив перевчитися на Java-розробника. Спочатку її навчання просувалося повільно, але після того, як вона спалила мости – кинула поточну роботу і серйозно зайнялася навчанням – все пішло значно швидше. А через півтора роки після початку навчання вона вже працювала Java-розробником із зарплатою в 5 разів вищою, ніж до початку навчання. Тому я й стверджую, що працювати в ІТ – це круто. І перспективно. Чоловік сестри подивився на те, що довкола відбувається, і теж пішов у Java-розробники. Теж із гарним результатом. Потім я вчив пару груп по 2-3 особи відразу. Це все тривало років 5. Навіть мою дівчину, дуже далеку від ІТ, не минула ця ноша: їй теж довелося працювати Java-програмістом :) Тоді ж я дуже сильно розчарувався у освіті в ВНЗ. Я сам навчався у двох вишах та можу з упевненістю сказати, що в обох не було нічого корисного для роботи. Адже в мене червоний диплом факультету Кібернетики КНУ та купа олімпіадних дипломів. Крім того, я перенавчав на програмістів людей, які самі навчалися у різних вузах і скрізь бачив одну й ту саму картину: люди, які пронавчалися по 5-6 років на технічних спеціальностях, взагалі нічого не знають про ІТ. І лише 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-компаній, куди ці люди можуть влаштуватися. Потрібно просто допомогти цим людям подолати розрив між рівнем навчання у ВНЗ та потребами ринку праці. Але як їх перевчити? На мою думку вміння програмувати — це практична навичка. Наприклад, як уміння керувати машиною. Я вважаю, що людині потрібно отримати хоча б тисячу годин практики програмування. Якщо виходити з того, що в році 2000 робочих годин, 1000 годин — це півроку при 40-годинному робочому тижні. Тоді я зіткнувся з такою проблемою: як зробити так, щоб людина сиділа вдома і займалася? Як зробити так, щоб людина, сидячи вдома на самоті, напрацювала цю 1000 годин практичного досвіду? У 2012 році набирали популярності онлайн-ігри. З одного боку, вчитися людину не заженеш, з іншого боку, вона може по 10-12 годин на добу сидіти за онлайн-іграми. Я бачив, як люди годинами роблять однотипні дії, вбиваючи монстрів і хотів, щоб вони використовували цей підхід у навчанні. Я навіть спеціально встановив собі WoW, щоб зрозуміти, як там усе працює. На багато мене не вистачило, але концепцію набору досвіду, рівнів персонажа та рівнів завдань я підглянув саме там. Також мені сподобалася ідея про елемент броні, який у тебе є, але використовувати його можна лише коли твій рівень буде достатнім для цього. У JavaRush є аналогія: не можна вирішувати будь-яке завдання і прочитати будь-яку лекцію, ваш персонаж має дорости до неї. Крім того, у JavaRush є ще зв'язок і зі StarCraft, і цей зв'язок наскільки сильний, що сам JavaRush був названий на її честь. Думаю, ви вже здогадалися – це ZergRush! :) У StarCraft можна будувати круті дорогі юніти, а можна досягати перемоги швидко, будуючи найпростіші та найдешевші. От і мені хотілося перенавчати людей на програмістів швидко та дешево. Рівно той необхідний мінімум, щоб людина могла знайти роботу в ІТ-індустрії. Десять років тому навчання програмуванню було переважно у вигляді звичайних курсів, що призводило до високої собівартості навчання. Якщо програмісти добре заробляють, і ви попросите такого програміста стати викладачем, він захоче отримувати відповідну зарплату. Тому на очних курсах ми маємо ситуацію, коли навчання хороше та дороге, або недороге та неякісне. І JavaRush хотів вирішити цю проблему саме з погляду бізнесу: зробити собівартість навчання дуже низьким, а якість — високою. Тому з рівняння виключено найдорожчий елемент — викладач. Все навчання було повністю автоматизовано, і ми змогли продавати нашу послугу за $30/місяць. Додавання гарного викладача одразу робить навчання на порядок дорожчим.

Про трансформацію проекту за 9 років

По-перше, за 9 років я сильно змінився. Коли я починав створювати JavaRush, я мислив як програміст. Лише через 5 років я почав мислити як підприємець і почав думати категоріями найму людей, бізнес-процесами всередині компанії. По-друге, змінилася і сама компанія: значно побільшало людей у ​​команді. Перші люди приєдналися до мене у 2013 році. Коли я загорівся ідеєю JavaRush, почав приваблювати друзів із тодішньої роботи. Мені не вдалося жодного з них умовити. З того часу я не боюся ділитися ідеями. Якщо мої найкращі друзі не повірили в мою ідею, то який шанс, що її вкрадуть? Натомість мені вдалося вмовити мою сестру, а також мою дівчину – на той момент вона займалася маркетингом у соцмережах. Ще через півроку приєднався Олексій Єленевич ( зараз він директор з маркетингу- ред.). Активно команда почала розростатися буквально 2-3 роки тому. Сьогодні в JavaRush працює близько 50 людей. Останні роки ми наголошуємо на вибудовуванні бізнес-процесів: займаємося підтримкою, покращуємо продукт. Це важливо для зростання компанії. Потроху він стає тим ідеальним навчальним курсом, про який я мріяв. Наша нинішня стратегія розвитку така: ми наголошуємо не на збільшення кількості контенту (наприклад, ще більше лекцій чи завдань), а на покращення того, що є. Якщо в нас буде втричі більше лекцій, вони від цього цікавішими не стануть. Натомість ми пробуємо персональний підхід до навчання: ми пропонуємо різні сценарії навчання — для когось більш сухо та академічно, для когось — наповнено ігровими елементами. Це дає нашому курсу велику гнучкість – кожен може вибрати те, що йому потрібно. Ми також створили JavaRush, мультимовний проект навчання мови Java. Здебільшого орієнтувалися на ринок США. На ньому зареєстровано вже 640 тисяч користувачів із десятків країн, у більшості — студенти зі Штатів, Польщі, Німеччини та Китаю.

Про перспективи онлайн-навчання

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

Про те, чому програмісти не залишаться без роботи

Почну з жарту. Програмісти займаються тим, що автоматизують роботу інших людей. Остання професія, яка зникне — це програміст, адже все більше різних професій замінятимуть сервіси. 20 століття було століттям індустріалізації, тоді було вигідно бути інженером. Лідируючими галузями були автомобілебудування та електроніка. 21-е століття називають інформаційним, і все крутиться навколо інформації та контенту. Сьогодні перспективно бути software-інженером. 5 найбільших компаній світу, що стоять понад трильйони доларів, – це ІТ-компанії: Apple, Google, Microsoft, Amazon, Facebook. Facebook був заснований студентом, програмістом-самоучкою, а зараз він коштує тисячу мільярдів доларів. Добре бути ІТ-шником у ІТ-столітті. Якось так :) Важлива світова тенденція – це віддалена робота. Пандемія зламала культурні бар'єри у людей у ​​голові. До пандемії компанії хотіли, щоб співробітники сиділи в офісі, тому що так ефективніше. І великим компаніям довелося прилаштуватися до того, що співробітники працюють вдома. У тих самих компаніях США ще до пандемії могли працювати віддалені співробітники з України, наприклад із зарплатою в 5 тисяч доларів, і співробітники в Каліфорнії із зарплатою в 20 тисяч доларів. Коли після старту пандемії всі пішли на віддалену форму роботи, американський менеджмент задумався: ось у нас є віддалені співробітники, яким ми платимо різні зарплати. Навіщо платити більше? Тому їм стало невигідно наймати співробітників у США, якщо можна найняти спеціаліста за менші гроші в іншій країні. І Східна Європа якраз і є цими "іншими країнами". В Україні був пік зростання у 2008 році, коли була світова фінансова криза. У США почали активно різати бюджети, звільняти людей, в Україні, навпаки, був бум найму. Тобто, просто західні компанії звільняли дорогих програмістів і наймали таких самих кваліфікованих людей у ​​нас. Наразі очікується чергова хвиля найму. Якщо ви живете не в найдорожчих містах світу, чекайте, що вам надходитиме більше замовлень. Чи це не стимул взятися за Java, не чекаючи понеділка, першого числа місяця чи нового року?