Як із студента зробити ІТ-підприємця?

Освіта, у розумінні команди Ucluster, це третя нога табуретки під назвою "кластер" (інші дві - це підприємці та міська влада). У нашому першому віртуальному fireside chat з Артемом Нікульченко, співзасновником IT Univer і Associate Professor Kharkiv Polytechnic Institute, разом з Сергієм Соколенко, продакт-менеджером Google, ми обговорили чи важливо для України, щоб сьогоднішні студенти хотіли стати IT-підприємцями, і коли в Україні з'явиться свій власний Ілон Маск, Марк Цукерберг або Сундар Пічай.

Дарія Соколенко (ДС): Артем, Сергій – розкажіть, будь ласка, нашим читачам про себе.

Артем Нікульченко (АН): Добрий день. Ніколи не знав як правильно себе представити. Почну з того, що вже 10 років я намагаюся поєднувати дві роботи - Chief Software Architect в CloudWorks з викладанням на кафедрі комп'ютерної математики та аналізу даних в НТУ "ХПІ". В минулому я навчався й захищав дисертацію на цій же кафедрі, далі працював у IBM Zurich Research Lab, й над Microsoft продуктом SSMA. Мене завжди хвилювали проблеми освіти, й пощастило бути одним з організаторів школи програмування для дітей IT Univer (в якій цього року навчалося трохи менше 600-та дітей), клубу Google Developer Group Cloud Kharkiv, та ще кількох освітніх проєктів.

Сергій Соколенко (СС): Я познайомився з Артемом в Google Developer Group. В Google я веду команду продакт-менеджерів, що працюють над такими Google Cloud сервісами як: Dataflow, Apache Beam і Flume. До цього я працював PM-ом в Amazon Web Services і Microsoft. Унікальність моєї ситуації в тому, що я встиг попрацювати у всіх трьох головних Хмарах розташованих в ІТ-кластері Сіетла. Якщо щось піде не так з Google, то у мене всі опції будуть вичерпані. В Oracle Cloud був невеликий офіс, але здається його розігнали, а Alibaba Cloud в Сіетлі немає. Також я спробував себе як підприємець, створивши стартап в області Sentiment Analysis, але створивши його у 2008 році, коли впав фінансовий ринок, постав перед життєвими труднощами. Ми протрималися 4 роки, потім треба було робити висновки.

ДС: Дякую, Сергій та Артем. Почнімо наш fireside chat.

В Україні зростає ІТ-індустрія - чотири потужних кластери в Києві, Харкові, Львові та Дніпрі, і з десяток динамічних кластерів - борються за право бути в першій десятці. За дослідженнями, в Україні зараз працює близько 200,000 ІТ фахівців, а це зарплати в $ 2000 на місяць й по три додаткових робочих місця в обслуговуючих індустріях. Однак більшість фахівці працюють на аутсорсингу. Продуктових компаній і стартапів в УКраїні ще мало. Артем, поставлю тобі таке питання - як нам зробити так, щоб молодь хотіла вчитися, й хотіла бути підприємцями? Оминаючи тему освіти, як зробити так, щоб в наших університетах проводився world-class research?

АН: Щоб молодь хотіла вчитися й бути підприємцями потрібно дві речі - знання і мотивація. Але перед тим як будувати план розв'язання якоїсь проблеми, варто спочатку зробити хороший аналіз поточної ситуації. Наскільки я бачу, молодь все менше і менше розуміє навіщо їм ті знання, яким навчають в університеті. А відповідно - втрачає бажання їх вчити. Якщо до цього додати, що з університету не відраховують (це проблематично вигнати студента), то вчитися виходить взагалі немає сенсу.

Якщо ми говоримо про ІТ- спеціальності, то в моєму розумінні ІТ-знання складаються з двох речей: по-перше, з основ Computer Science (куди включаються алгоритми й структури даних, ООП, дискретна математика, мат. статистика та інше), по-друге, з Технологій. Якщо “перше” змінюється досить повільно (хоча навіть тут є відставання), то “друге” - змінюється з неймовірною швидкістю. Безумовно, основний напрям навчання в Університеті повинен бути на “перше”, а також уміння самостійно вивчати “друге” (бо, до моменту закінчення Університету або першої роботи - конкретні технології знову зміняться, тому їх вчити потрібно постійно). При цьому зробити релевантний й конкурентний ІТ-проєкт, без використання сучасних технологій - практично неможливо. Вся система оплати і навантаження викладачів не дає їм можливість постійно вивчати нові технології й тим самим залишатися «на плаву».

Бібліотека одного з найважливіших університетів Європи, Мюнхенського технічного університету

СС: Я свого часу, в дев'яності, закінчив один курс в Київському Державному Університеті на спеціальності економкібернетика, й на початку, звичайно, нас вчили тільки основам, хоча я вдячний, і за матаналіз професора Кохановського, і за Паскаль якому мене там навчили. Потім я потрапив в Технічний Університет Мюнхена, ну так вийшло, пощастило просто, й тоді я дійсно зрозумів, що таке комутативні кільця. В КДУ нас такому навіть не вчили. Протягом двох років знову викладалися ази математики та Computer Science. Студенти-німці на першому курсі (нас було 500 осіб на потоці) пускали літачки з задніх рядів тому, що непросто було заново вчити чому 1 + 1 дорівнює 2. Але починаючи з третього року навчання склад курсів істотно змінився, й упор пішов на те, що ти називаєш технології. Я вчив relational databases у винахідника B-Trees - професора Rudolf Bayer, а network topologies у директора найбільшого обчислювального центру Баварії - професора Hegering. Тоді, усвідомлюючи те, що ці люди винайшли багато з тих технологій які я вивчав, створювало в мене бажання навчатися далі.

Артем, а як ситуація зараз йде з Research в українських університетах?

АН: Я бачу 3 варіанти того, як кафедри працюють зараз:

1. Кафедри, які мають сильні кадри в області CS і базових дисциплін, а також намагаються вкласти знання в голови студентів. На жаль, у них немає ресурсів на вивчення сучасних технологій - більшість дисципліни викладається або як наука в чистому вигляді, або на прикладі абстрактних чи старих прикладів, проєктів і курсових робіт. Отже, це веде до двох проблем:

  • студенти не бачать як набуті знання можна «реалізувати» в цікавих проектах, тому у них не «горять очі й руки» діяти. При цьому, на даний момент, це найкращі студенти, які у нас є (як в тому радянському мультфільмі про мушкетерів: «Візьміть кращих з кращих! - Кращі з кращих зализують рани. - Візьміть кращих з гірших!»). Вони хоча б, не розуміючи навіщо, вбирають CS знання і набувають навички до навчання. А потім, працюють в ІТ-компаніях, де перші 2-5 років їм нічого з цього не пригождается, проте пізніше, саме ці знання починають спливати в голові, роблячи з них серйозних програмістів, архітекторів і т.д.
  • Друга частина студентів, дивлячись на викладачів, які не розбираються «на слуху» в технологіях, вирішують, що вони нескінченно застаріли, разом з їх дисциплинами. Як то кажуть, "виливаючи немовля з водою", такі студенти починають ігнорувати всі предмети в Університеті , аргументуючи це тим, що «в універі нічому не вчать». Вони поспішно починають працювати у великих компаніях, де їх саджають верстати сайти, вивчати нові технології, підвищують їм зарплату, таким чином, у хлопців зростає впевненість у своїй правоті й переконання, що Університет - це для слабаків та дурнів. На жаль, в якийсь момент такі студенти виявляються в «глухому куті» свого кар'єрного росту, продовжуючи метатися, змінюючи технології та ІТ-компанії.

2. Інші кафедри, в гонитві за студентами, контрактниками і престижем, навпаки, викидають CS і заповнюють свої програми десятками нових «модних» технологій: AL, ML, Bitcoin (так, є такі кафедри) і т.д. При цьому ML вчать без мат. статистики, криптовалюту - без криптографії, розподілені обчислення - без дискретної математики і т.д. Так, наприклад, викладач Баз Даних в Університеті, не зміг мені відповісти, що таке JOIN, бо (цитата): "Я викладаю базовий курс Баз Даних і у всякі складні операції не лізу."

Так от, за перші 3 роки навчання кафедри пхають в голови студентів біля 6 різних мов програмування. Потім у студентів резюме виглядає краще ніж у Дональда Кнута, але реально вони вміють тільки “Hello World” написати на 6 мовах програмування, і то не завжди розуміють чому воно працює. Думаю, не варто знову повторюватися, чим закінчується така освіта.

До речі, у таких кафедр, найчастіше ще й налаштований процес «продажу студентів» ІТ-компаніям, зі заздалегідь обумовленими ставками і т.д.  Варто підкреслити, що є кафедри які зовсім на все плюнули.

СС: Артем, от я, наприклад, хоч і трошки бурчав коли мій Професор Broy чотири семестри в Мюнхенському Університеті викладав Введення в Інформатику (він написав 4 книги, які ми проходили по одній в семестр), включаючи такі перли як опис програм як функціоналів, докази коректності програм на підставі pre- and post-conditions та машину Туринга, але потім, коли я почав професійну діяльність, я використовував такі ідеї як State Machines для створення серйозного софта для управління процесами в великих західних телекомах. Ці базові знання дозволили мені швидко зрости з Junior до Архітектора всього за три роки (ок, зізнаюся, що у мене було ще два додаткові роки практичної роботи під час універу). Вся ця теорія мені правильно поставила мізки. Однак, допомогло й те, що були практичні курси - семінари по Базах Даних і практикуми з паралельного програмування, під час яких ми використовували на той час новинку - Java! (Це ж були лихі дев'яності). Саме ця практика дозволила мені пережити the grind.

АН: Абсолютно з тобою згоден, що повноцінні Computer Science курси хоч і можуть бути нудними для студентів, насправді є основними якраз для розвитку мізків. Саме вони дозволяють потім швидко рости і не впертися в "стелю". Основна проблема - як переконати студентів, мотивувати їх, вивчати ці предмети. Тобі, наприклад, допомагала внутрішня мотивація, а також, припускаю, ризик бути виключеним та повага до викладачів (яке в Україні знищується різницею в з.п. між Професором Університету та Junior developer на аутсорсингу). Однак, про мотивацію ми домовилися поговорити пізніше.

До речі, ще є непрофільні предмети. Ось ми, наприклад, обговорюємо як «стати підприємцем». Майже всюди в університетах є обов'язковий курс права. Я вивчав його на протязі року, там розповідали про купу корисних тем, ми писали курсову. Одна проблема - я особисто нічого з цього (крім пари красивих слів для непотрібних політичних дискусій) не пам'ятаю. На жаль нас не вчили і не вчать, як зареєструвати ПП або юр. особу, як оформити контракт чи інтелектуальну власність, що робити якщо ти знайшов клієнта і він готовий купити продукт або сервіс, і т.д. Виходить, що цей курс не дає студенту розуміння, як саме використовувати ці знання.

СС: Я б сказав, курси права або курси відкриття ПП - це не те, що дійсно потрібно. Коли я чув про веселих американців які створювали всякі там netscape (створений в 1994) і т.д., та круті нові технології типу Java (створена в 1995), які можна було помацати, мені спало на думку, що я б хотів керувати своєю власною software компанією. Я набрався трохи сміливості попрацювавши в маленькій компанії як Junior, потім, на останніх курсах універу, я взяв участь в бізнес-план competition. Навіть в моєму солідному Мюнхенському університеті панувала атмосфера, що працювати на Siemens чи BMW після закінчення - це добре, але значно більш cool - це заснувати маленький стартап і створити щось нове. Не тільки атмосфера, а був цілий організований мотиваційний потік, щоб випускники не пішли усім курсом в великі компанії або державні структури.

АН: Пропоную про мотивацію поговорити окремо, й потім перейти до питання, як саме вирішувати ці проблеми.

ДС: Артем, Сергій, дякую за бесіду, ваш час та знання. Я почула вас, стало зрозуміло, що в наших університетах бракує Research, щоб підтримувати високий рівень технологічних знань і правильно мотивувати студентів. Також, в наших Вузах відсутня підприємницька атмосфера, а зарплата на аутсорсингу нехай краще почекає, доки не спробуєш себе в невеликій продуктової компанії або як засновник стартапу. Пропоную зробити перерву, і продовжити наш fireside chat  наступного тижня.