Всеволод Дьомкін : « Підприємництву неможливо навчитися за партою »
Наш сьогоднішній співрозмовник - різнобічна людина. Він працює над Grammarly, пише на Lisp, викладає системне програмування в київському Політеху і бере участь в організації конференцій TEDxKyiv. Так що тем для розмови з ним достатньо. А почали ми з традиційного питання - як ти став програмістом?
- Моя перша програма була написана на вступному іспиті в КПІ, на Basic. Шість років тому, в 2005 році я закінчив там магістратуру кафедри Автоматизованих систем обробки інформації та управління. Після вузу влаштувався працювати у відділ захисту інформації «Укрексімбанку» і паралельно вступив до заочної аспірантури, яку через рік кинув. У банку в мене були різні обов'язки, у тому числі трохи займався розробкою - були речі, пов'язані з криптографією, якісь завдання автоматизації процесів. Досить швидко я зрозумів, що далі мені там розвиватися вже нікуди, і почав замислюватися про відхід. Власне, я відразу розумів, що робота в банку - це не зовсім моє. У мене був інтерес до іншого роду діяльності. Але так склалося, що спочатку я потрапив туди і перший практичний досвід я здобував саме там.
До моменту відходу з банку я вирішив, що хочу програмувати на Lisp. Але оскільки мова нестандартний, то знайти підходящу роботу було непросто. Буквально поодинокі вакансії траплялися. Тому я зайнявся фрілансом, писав частково на Lisp, частково на PHP, частково ще на щось. Розширював кругозір. Плюс мені хотілося зробити якийсь свій проект. Так народилася ідея зробити сервіс обліку особистих фінансів Fin-ack.com . Тому що не можна замикатися на чомусь одному, навіть якщо мова тобі дуже подобається. Звичайно, мова багато в чому визначає спосіб мислення. Але в кінцевому рахунку це ж не якийсь релігійний вибір. Треба пробувати різні речі. Плюс, якщо є цікавий проект, чому ж за нього не взятися, навіть якщо на іншій мові?
- Чому Lisp?
- Коли я навчався в аспірантурі, я намагався вирішувати деякі завдання в галузі штучного інтелекту - розпізнавання образів і т.п. Тоді я знав тільки С + + і Pascal. Але якось не дуже виходило. Справа в тому, що завдання були чисто математичні, і вирішувати їх за допомогою того ж С + + - зараз я розумію, що це рідкісна дурниця. Я вирішив підшукати щось більш підходяще, де потрібно було б менше боротися з системою і більше вирішувати своє завдання. Подивився на Python, Tcl, Java ... Потім мені на очі потрапила книга про Lisp (Practical Common Lisp) і, прочитавши її, я зрозумів, що концепція мені дуже підходить. Плюс на ділі виявилося, що мова зовсім не академічний і досить практичний.
Lisp адже з'явився досить давно, наприкінці 50-х, і якийсь час був популярний. Потім інтерес до теми штучного інтелекту пішов на спад, настала так звана AI winter, яка створила мови поганий PR. Але він не помер. Були ентузіасти, які продовжували щось на ньому робити, потихеньку розвивали його. Є й компанії, які його використовують, але вони не на слуху, тому що роблять не масові речі, а працюють на промисловість, на оборонку.
Зараз інтерес до теми AI відродився. Розпізнавання осіб, голосовий інтерфейс, робототехніка - у ці напрямки зараз вкладається чимало коштів, навіть в якійсь мірі надувається міхур. Але, думаю, з часом знову прийде розуміння, що всіх проблем за допомогою AI все одно не вирішити, і знову буде спад. Воно все так циклами розвивається.
- Так ти зараз на ньому пишеш?
- Так, але більше якісь цікаві мені речі, ніж для комерційного використання. Тому що на ринку зараз затребувані Java, C #, C + +, Ruby, PHP. На інших мовах якщо люди щось і пишуть, то не з потреби, а тому що їм так подобається. Є мови, які вважаються де-факто стандартом. Чому зараз багато пишуть на Java? Тому що він став свого роду стандартом, і всі менеджери знають, що ризик запуску проекту на Java невеликий. А на нестандартних мови в основному пишуть ті, хто сам для себе прийняв таке рішення.
- А що в підсумку вийшло з ідеї з Fin-ack?
- Останнім часом проект ніяк не розвивається. Є користувачі, які продовжують його застосовувати. Однак планів розвитку немає. Для мене це багато в чому була «проба пера». Хотілося зробити щось своє, і я взявся буквально за першу прийшла в голову ідею. З часом виявилося, що вона не так вже й хороша, і не дуже подобається мені самому (що, напевно, найголовніше). Крім того, коли ми вийшли на ринок, з'ясувалося, що подібних проектів багато, але вони у нас не сильно затребувані. Є homemoney.ua , який свого часу був успішно проданий. Але це не означає, що він заробляє багато грошей. Є ще home.finance.ua , який, наскільки мені відомо, теж не дуже досяг успіху в монетизації.
Після я зі своїм знайомим, Олександром Манзюк, хотів зробити ще один проект, це було десь у 2009 р. Такий собі фіча-сервіс, додаткова функція для Twitter, яка відображала б рекомендації користувачам, схожість між двома користувачами ... Ми зробили прототип. Але потім стало зрозуміло, що в цю ідею потрібно сильно вкладатися, а особливих перспектив продати її немає, і ми її закинули. Пізніше в Twitter з'явилася своя подібна функціональність.
- Не надто яскравий старт ...
- Я думаю, це стандартна річ - більшість стартапів виявляються неуспішними, тому що люди неправильно підходять до справи. Вони починають не з дослідження ринку і прагнення вирішити якусь проблему користувачів, а просто роблять щось, що здається їм цікавим. У таких випадках надія тільки на удачу і насправді з цього рідко щось вигоряє.
Але ми ризикнули своїми грошима, отримали якийсь досвід. Такі речі дуже сильно допомагають з точки зору персонального розвитку. Тому що ти сам робиш весь проект від початку до кінця і бачиш всі аспекти розвитку. Це нормально. Рідко у кого з підприємців перший же їхній проект виявляється комерційно успішним. Всі вчаться на своїх помилках. І, мабуть, цьому неможливо навчитися за партою.
- І чим ти займаєшся зараз?
- Останні півтора року я займаюся розробкою в Grammarly. Тут, до речі, я зрозумів для себе ще одну річ з приводу стартапів.Подібне починання в наших краях може мати позитивний результат тільки якщо відштовхуватися від якогось неочевидного ноу-хау. Щось унікальне, що навскидку навіть не ясно, як повторити.
Решта проектів є сенс робити тільки в Кремнієвій долині, де є гроші, інфраструктура, купа людей з багатим досвідом. Тому що якщо ідея лежить на поверхні і має потенціал на ринку, відразу знайдеться купа конкурентів зарубіжному, у яких можливості набагато ширші.
Колектив Grammarly
Людей, здатних думати на кілька кроків вперед, мало. Більшості ж приходять схожі ідеї. Люди просто слідують за хвилею, бачать що ось тут можна щось поліпшити, і паралельно з ними та ж ідея приходить в голову ще масі народу, і всі починають щось робити. Якщо за ідеєю не варто чогось фундаментального, то шансів на успіх мало.
У цьому сенсі Grammarly робить досить унікальні речі - обробка живої мови, перевірка і виправлення граматики. У проекту є як мінімум два конкуренти, які роблять щось більш-менш наукоємне і у яких теж є свої ноу-хау - The Ginger Software і WhiteSmoke - одна компанія, здається, з Ізраїлю, інша з Америки.Але тут виявляється, що в світі досить багато людей, готових платити за те, щоб їхні тексти були граматично правильними. Це юристи, фінансисти, люди, які вивчають мову ... Про це, зокрема, свідчить приклад компанії Grammarly, яка з комерційної точки зору цілком успішна. Англомовні країни - це самий ємкий ринок. У першу чергу, звичайно, США. Там і запити інші, і платоспроможність.
Люди готові заплатити за сервіс, який допоможе їм у вивченні мови, допоможе зберегти репутацію. Бо є люди патологічно грамотні, а є - патологічно неграмотні. І другі через це нерідко страждають і нерідко менше заробляють у своїй професійній області, навіть не пов'язаної з мовою. До того ж дуже багато людей по всьому світу вчать англійську.
Головна особливість Grammarly полягає в тому, що сервіс дає якісний результат при перевірці граматики. Тому що в Microsoft Word граматики можна сказати, що ні - там ці суцільні зелені лінії, які не викликають нічого, крім паніки - їх хочеться швидше вимкнути і більше не бачити. Крім того, наш сервіс допомагає не просто виправити помилку, а й пояснює, в чому вона полягає, тобто, в ньому є навчальний компонент.
- Які завдання в цьому проекті вирішуєш ти?
- Зараз я беру участь в роботі над граматичним движком. Основне ядро ??написано на Java. Взагалі розробників у нас не так багато, тому всі займаються всім потроху. Але принцип такий, що людина по можливості вибирає ту область, яка йому цікава і де він може принести найбільше користі. У нас досить багато проектів, багато якихось нових напрямків. Намагаємося вийти на суміжні ринки. Тому робиться чимало дослідних речей. Багато чого я пишу на Lisp, тому що для мене це найшвидший і зручний варіант. Потім, можливо, якісь з них підуть у продакшн так, а щось буде переписано на Java. Крім того, у нас використовується Python. Але взагалі в компанії немає жорсткої мовної політики. Мова вибирає команда або окрема людина, що працюють над конкретним завданням, виходячи з міркувань доцільності.
- А як все це пов'язано з викладацькою роботою?
- Курс «Операційні системи» який я читаю, фактично нам не читався, коли я був студентом. Мені ж він здається дуже важливим для повноцінної підготовки програміста, тому я запропонував свої послуги на рідній кафедрі і за збігом обставин (викладач пішла в декрет) вони виявилися затребуваними.
- І що ти можеш сказати про нашу систему освіти знаючи її так сказати зсередини? Багато компаній її критикують.
- Це велика і складна тема. Існуюча система створювалася ще за радянських часів і відповідала вимогам того часу. Її основним завданням була підготовка кадрів для промисловості. Тепер умови змінилися, і система освіти не встигає за цими перетвореннями. Але ж сама по собі вона не може змінитися. Для цього потрібні воля суспільства і конкретні кроки з боку держави.
Наша система освіти має велику інертністю. І в цьому лише частково вина викладацького складу. Насправді, там дуже багато ентузіастів, особливо серед людей старшого покоління. Бо якби вони такими не були, вони б вже давно виїхали за кордон або пішли б працювати в комерційний сектор. Є, звичайно, і тимчасові виконавці, які наживаються на непрозорих умовах прийому студентів та інших речах. Є стандартний курс, стандартна програма, яка спускається згори, з Міністерства освіти. Студент зобов'язаний вивчити всі дисципліни, а їх надлишок.Було б краще розділити навчання на якісь треки, щоб студент міг вибирати напрямок до душі, як на Заході. Щоб один міг зосередитися на якихось фундаментальних речах, а інший на прикладних. Хтось буде більше фокусуватися на залозі, хтось на софт. Це було б дуже правильно.
З іншого боку, якщо б у нас і справді все було настільки погано, на цих кадрах не виросла б ціла галузь розробки програмного забезпечення. Зрозуміло, що зараз на ринку праці не вистачає фахівців і будь їх більше, компанії росли б динамічніше. Однак, якщо їх не влаштовує якість освіти, хай роблять щось зі свого боку.
- Що наприклад? Подарувати якомусь університету ще один комп'ютерний клас?
- Ось комп'ютерні класи насправді зараз не особливо-то і потрібні. У багатьох студентів є власні ноутбуки, і число їх власників тільки зростає. Інша справа - допомогти оснастити лабораторію з мережним устаткуванням, з маршрутизаторами якимись. Або закупити стенди для програмування мікросхем ... Одним словом, потрібно щось таке, чого вдома у студентів немає і навряд чи з'явиться.
Дуже хороша річ - різні курси самих компаній. Студенти, які відвідують такі заняття, звичайно добре про них відгукуються, і видно, що їм це цікаво і корисно.
- Хіба це не завдання вузів - матеріальне забезпечення навчального процесу?
- Недостатнє фінансування вузів всім добре відомо. Викладацьким працею неможливо повноцінно заробляти, щоб прогодувати сім'ю. Молодь, яка приходить і щось читає, - в основному, ентузіасти. І насправді це краще будь-яких слів свідчить про те, наскільки насправді суспільство цінує освіту. Мені здається, якщо б навчання коштувало адекватних грошей, можливо, до вузів надходило б менше людей, але більше по справі.
- Адекватні - це скільки? І так вже на рівні з Європою розцінки.
- Адекватні - це щоб можна було дати нормальну зарплату викладачам, плюс кошти на утримання і розвиток вже наявної інфраструктури.На мій погляд, у нас можна зробити якісну технічну освіту в 2-3 рази дешевше, ніж, наприклад, в Америці.
Оскільки у нас фахівець досить високого рівня коштує не в приклад дешевше. Скажімо, програміст в Кремнієвій долині отримує в середньому 100 000 доларів в рік, а у нас ... ну, нехай 30-40 тисяч. Технічних фахівців у нас достатньо, і деякі з них могли б займатися викладанням. Зараз же навіть ті, хто хотів би, не роблять цього просто тому, що за це платять неадекватні гроші.
Ось наприклад, що заважає тим же компаніям зібратися і спільно організувати інноваційний приватний вуз? Створити сучасну технічну базу, виділити знаючих фахівців і забезпечити необхідну якість навчання. Так, у великих гравців є якісь свої курси підвищення кваліфікації, які вчать якимось конкретним речам і технологіями. Але вони не дають повноцінної підготовки. Вони не можуть взяти людину після школи і зробити з нього готового розробника. Мені здається перша причина - це те, що люди у нас в країні не готові за це платити. Тобто, такі люди є, але їх недостатньо.
- Але навчання у вітчизняному вузі і так задоволення не з дешевих.
- Я не володію повною картиною. Але серед моїх студентів, напевно, максимум третина - це контрактники, і платять вони не так багато. Решта навчаються за рахунок держави. Якби платила більша частина, можливо, було простіше забезпечити нормальний рівень підготовки. Був би інший попит, інше ставлення до навчання.
Адже зараз багато людей йдуть до вузу, до кінця навіть не усвідомлюючи, навіщо. Батьки відправляють своїх дітей отримувати престижну перспективну спеціальність, на того ж програміста, наприклад, вчитися. Але багато студентів просто не мають до цього здібностей, не усвідомлюють що їх там чекає. І, відповідно, коли їм починають викладати математику, алгоритми, якісь ще речі - вони не хочуть цього вивчати, бо їм це нецікаво. У них немає розуміння, що їм це знадобиться на роботі. Що не вирішивши певну кількість завдань, умовно кажучи, не налітавши певну кількість годин, ти не зможеш досягти потрібного рівня. А от як зробити так, щоб у вступників це розуміння було, - складне питання.
- Так а чи потрібно взагалі закінчувати вуз, щоб стати хорошим програмістом?
- Природно, це не обов'язкова умова, і я особисто знаю достатньо прикладів, коли люди обходилися без цього. Але в загальному випадку система працює краще, ніж коли її немає. Тобто, якщо б зараз вся молодь переключилася б на самоосвіту, думаю, загальний результат був би гірше. Рівень таланту населення у всіх країнах світу приблизно однаковий, але наукомісткі галузі розвиваються в тих країнах, де цьому приділяють увагу, є вузи і т.д. Звичайно кожна людина індивідуальна. Було б бажання ...
Багато хто навіть закінчивши університет так і не стають програмістами. Тобто, університет - це не необхідне і не достатня умова. Це просто акселератор. Як є інкубатор стартапів, так вуз - інкубатор фахівців. У загальному випадку середній вихід фахівців в наявній системі вище, ніж якщо б кожна людина була б наданий сам собі.
- Можливо справа все-таки в недосконалості системи, в зайвих предметах? ..
- Я пам'ятаю, що і коли я вчився, існувала така думка, що багато читаються нам предмети - фігня, і вони ніколи не знадобляться. Але це не так, вони потрібні якщо не прямо, то для того, щоб мати можливість професійного росту. З іншого боку, дійсно, багато часу витрачається даремно і його треба оптимізувати. Не варто ганятися за оцінками.
Ні.Опубліковано: 09/02/12 @ 12:40
Розділ Різне
Рекомендуємо:
Дайджест цікавих вакансій № 19
EPAM оцінили на IPO в $ 490 млн
Дайджест : і знову про персональні дані , російський ринок IT -кадрів , рейтинг мов програмування , інтерв'ю з інженером Facebook
Мій експеримент з розкрутки через Socializer.ru . Частина 1 . Воістину воскрес .
Інтерв'ю - Анастасія Марголіс , редактор- перекладач SEOnews.ru