Як десятикласник влаштувався на роботу програмістом


Дізнайтесь більше про нові кар'єрні можливості в EchoUA. Цікаві проекти, ринкова оплата, гарний колектив. Надсилайте резюме та приєднуйтеся до нас.

Сайт dou.ua опублікував історію про те, як десятикласник успішно влаштувався працювати програмістом.


Ярослав Виговський – школяр з провінційного містечка, якому так хотілося робити свої ігри, що незважаючи на відсутність інтернету, хорошої відеокарти і друзів з IT він почав самостійно вивчати програмування і 3d.

Ярослав ходив до друзів з інтернетом, cкачував книги з програмування, чекав ночі, коли його ніхто не відволікатиме, і читав їх з маленького екрану Nokia N82, яку узяв у брата. Нестача грошей, 3g-модем, що постійно видає збої, перший “кидок” замовника, участь в Хакатоні від Microsoft, депресії і руки, що опускаються, – це далеко не усі перешкоди, через які йому довелося пройти на шляху до своєї першої роботи в IT.

Ярослав, як тобі вдалося у свої 16 влаштуватися на роботу?

– Я б і в 15 пішов працювати, але СПД можна оформити тільки з 16-ти. Я тоді за рік оформив портфоліо, написав за три дні сайт-візитку без використання яких-небудь фреймворків (окрім jQuery), написав тестові проекти, навчився працювати з Github і почав відправляти резюме. Сподівався знайти віддалену роботу, хоча і не проти б знайти і офісну – з колективом легше, тому що є у кого запитати.

З чого розпочалося твоє знайомство з IT?

– В 6 або 7 років я побачив на прилавку тижневик “Комп’ютер” і попросив батьків купити його. Нічого не розумів, але кожного тижня просив батьків купити новий номер. Так все і почалося.

В років до 9 вдома з’явився перший комп’ютер. Першим моїм скриптом був .bat (з того ж журналу), який я просто переписав і запустив – мені це тоді дуже сподобалося. У цьому ж журналі якось вийшла маленька стаття по HTML, так що я почав вивчати верстання.

Ключовою проблемою була відсутність інтернету. Іскоростень – маленьке містечко, де з провайдерами все гладко тільки якщо живеш в центрі або якщо є стаціонарний телефон.

У нас же будинок в приватному секторі, тому інтернету довгий час не було. Тільки рік тому ми підключили тарілку. Донині доводилося вчити все через мобільний інтернет на маленькому екранчику старої Nokia N82, яку забрав у брата. Я тоді зібрав останні гроші, купив sim-карту, поповнив рахунок і почав учити HTML.

У 11-12 років я вже більш-менш освоївся з HTML і CSS, почав писати перші сторіночки. Але у мене не виходило так красиво, як на деяких сайтах в мережі, які тоді ще версталися табличками. Мій мозок тоді ще не міг цього повністю зрозуміти, тому я узяв паузу на півроку.

Потім у мене з’явився 3g-модем від Київстар, який за кожен мегабайт жер скажені гроші. Модем дико глючив, але я терпів, тому що страшно хотілося вивчити це усе, тим більше що воно було під таким покривом таємниці.

З часом я освоїв позиціонування, навчився верстати хедери, бічні панелі, менюшки. Тоді я зрозумів, що мені треба щось більше, і вирішив засісти за “пеху” (PHP).

Моя мати працювала у банку. У них там був сисадмін, у якого я попросив для себе які-небудь матеріали по PHP. Він дав мені курс, який складався з двох частин, – перша по PHP, друга по CodeIgniter. Напевно, це був ще непідходящий вік, тому що я навіть першу частину не осилив. PHP відбив у мене усе бажання програмувати. Я тоді подумав, що це взагалі не моє, і ну їх до біса, ці сайти.

Як тебе потягнуло в графіку?

– Вже в 13 років я випадково наштовхнувся на статтю про комп’ютерну графіку, 3d-моделювання, дізнався про Blender, скачав дуже криво переведену книгу і почав текстурувати, моделювати різні кубики і вежі. Вивчив Photoshop, щоб нормально різати текстури. У якийсь момент я відчув, що треба кудись дівати все те, чому я на той час навчився, і я вирішив піти в геймдев. Тим паче, що я був в захваті від Bethesda і випущених ними Morrowind і Oblivion. Хотілося зробити що-небудь своє.

Хотів написати свою гру?

– Так. Вірніше, не написати, а зробити, оскільки після досвіду з PHP бажання програмувати начисто пропало. Потрібний був програміст. І я почав вербувати свого однокласника. Говорив йому, що геймдев – це круто, що там крутяться великі гроші, і що це наш шанс (потрібно було якось стимулювати людину). Ми тоді домовилися, що через рік починаємо свою іграшку писати – донині я освоююся в 3d, а він вчиться кодити.

Але я закинув Blender і 3d – занадто було складно. Крім того, все ускладнювалося моїм компом, його відюшкі зовсім бракувало. Рендер звичайної сцени йшов 2-3 години, а для рендера анімації я залишав його на пару днів.

Мій друг чесно намагався освоїти Java, але теж вигорів. Нам було по 13 років – що з нас узяти?

Потім я знову починав Blender і знову кидав, тому що нічого не виходило – то сітка крива, то текстури не лягають, та і взагалі художник з мене ніякий. Після цього я дізнався про Maya і надихнувся тим, що на ній працює Pixar. Maya важила 3gb. У мене все ще був страшно глючний 3g-модем, тому я її скачував, бігаючи по друзях. Також скачав книгу на 2 тисячі сторінок, влітку її читав і моделював.

За допомогою digitaltutors я непогано потягався на Maya, і дещо починало виходити. В цей же час я познайомився з креативниками з однієї кафешки – їм потрібна була анімація. Запропонували 500 грн. Я тиждень сидів, мучився, дизайнив – зробив красиво. І радів так – перші гроші! Але вони мене кинули. Така печаль була. Зате отримав досвід.

На тому ж digitaltutors я почав вивчати Unity. А коли навчився моделювати автомобілі, будиночки і літаки, то почав впарювати другу Unity і C#. З Джавою у нього нічого не вийшло, тому він погодився.

Ти не думав записатися на які-небудь курси?

– Звичайно! В цей же час я дізнався про харківський курс, на якому були два бюджетні місця, – на анімацію і моделювання. Але щоб потрапити туди, треба було виграти конкурс.

По моделюванню треба було придумати свого персонажа (намалювати скетч), а також придумати його історію. По анімації – написати сценарій для мульта. Художник з мене (руками) взагалі ніякий, тому я вирішив пробувати сили в сценарії. До написаного сценарію я приклав страшенно намальований скетч і відправив. Через два місяці прийшла відповідь, що на завдання по анімації було подано всього чотири роботи і що усі вони неідеальні. Виявилось, що у мене хороша ідея і сценарій, але ось скетч – просто жах. У іншої людини були шалені скетчі, але мульта, як такого не було. Тому всім чотирьом вирішили зробити знижку у розмірі 80%. Курс коштував 1000 доларів і тривав рік, але перші два тижні нам дали безкоштовно.

У них були інтенсивний, напружений, але цікавий курс – нас навіть учили працювати в команді за допомогою Trello-дощок. Класні були і викладачі. Перший день – лекції, другий день – практика, і так увесь час – мені там дуже сподобалося. Але іншу суму я потягнути не зміг, та і дуже не вчасно зламався модем.

Тоді я дзвоню другу і говорю: “Все. Терміново робимо іграшку на Unity, продаємо на FGL, виручку навпіл, я йду на курси, а ти роби що хочеш”. Часу було – всього місяць.

Придумали ми гоночки – напів-horror. Я їх задизайнив, намалював кнопочки, понароблював моделі. Час від часу запитував друга про його успіхи:

– Ти там як? Встигнеш?
– Так, через тиждень.

Але через тиждень виявлялося, що мій друг нічого не зробив – у нього все щось не виходило. Через пару тижнів я зрозумів, що на курс вже не потраплю, і почав впадати в депресію.

“Що робити?”, “Як розвиватися?” – ці питання не давали мені спокою. У результаті я плюнув на все і вирішив, що раз гора не йде до Магомету, то я сам стану кодером, моделером і сам зроблю іграшку. Вибір встав між C# і ActionScript для флешу. Тоді як раз почали ходити розмови, що Flash скоро помре і що його витіснить HTML5. Я на це уваги не звертав і став учити ActionScript – моя перша серйозна мова програмування.

До речі, як у тебе з англійською?

– Коли я проходив курси по Maya, то на слух дещо розбирав, але в основному дивився, куди там на відео клацають, і сам вже додумував. Приблизно в цей час (мені було близько 15), прийшло усвідомлення, що в IT без англійської нікуди і вона мені потрібна за всяку ціну.

Я знайшов учителя, з яким ми розпочали з нуля, тобто з алфавіту. Через два місяці я вже почав читати свою першу книжку по Flash на англійській мові. По цій книзі я написав сапера, тетрис і інші ігри.

Як тобі вдавалося знаходити на увесь цей час?

– В школі я практично нічого не учив. Дійшло навіть до того, що я взагалі перестав ходити на уроки і учив усе вдома сам – фізику, математику, англійську. Так було навіть простіше.

Звідки ти дізнався про FGL?

– Прочитав на Хабрі – там чувак розповідав, як він зробив свою іграшку і продав її за 300$. Я думаю – ну, круто! Мені б хоч за 100 баксів продати. Він зміг – і я зможу. Пішов в кафе, сів, напився кави (завжди так роблю, коли треба щось придумати) – і придумав – вирішив зробити іграшку ніби Alien Invaders, але повністю на рандомі.

Прийшов додому, почав писати – нічого не виходить. Раз написав – нуль – видалив проект; наново створив папку, і по-новому. Нічого не виходило в плані архітектури. Це був мій перший практичний досвід без туторіалів, тобто з нуля. Почав все перечитувати, шукати в інеті нові книги. Мій ноут не тримав зарядку, тому я приходив в кафе, підключався до їх розетки, викачував сайти і вже потім додивлявся удома.

Так що там було з новими папками?

– Раз створив папку – видалив, другий раз створив – видалив, третій – видалив. Вже кров з носа йде. Востаннє намагаюся – і таки за тиждень написав. Усі асети у флеші намалював (була простенька векторна графіка), вийшло близько 3000 рядків на ActionScript. Але я там такого навернув, що зрозумів: якщо захочеться що-небудь поміняти, простіше буде переписати з нуля. Я тоді взагалі не розумів навіщо ці public і private, – хоч і прочитав три книжки, де усе це розжовується. Тільки коли сам почав активно писати код, почало приходити розуміння.

У результаті зробив іграшку і виклав на FGL. На неї зняли рев’ю, вказали на баги і сказали, що треба переробити, щоб її можна було показувати спонсорам. Але змінити що-небудь в іграшці я не міг, тому плюнув і вирішив написати другу.

Мені тоді попалася стаття про C# – про те, який він шалений і класний. Гаразд, думаю, спробую – скачав книжку Шилдта і почав учити. Коли почав робити маленькі іграшки на Unity, мене це дуже вразило: всього три кліка – і не потрібно морочитися з архітектурою, адже у тебе є компоненти. В порівнянні з флешем це просто рай. Тому я став вивчати C# більш поглиблено.

Ти знову хотів створити гру, щоб продати її?

– Зробивши пару іграшок на Unity, я думав влаштовуватися на роботу в геймдев. Хоч на кого-небудь, хоч на помічника, хоч безкоштовно. Зайшов на відповідний сайт, дивлюся вакансії, знаходжу те, що треба: “Помічник аніматора”. Було потрібне знання Photoshop, а також бажане знання 3d і HTML+CSS.

Дзвоню. На тому кінці дроти говорять: “Так, так! Відмінно! – Тільки мені 15 років. – Ааа, ну вибачите, мабуть, не вийде”.

Гаразд, дзвоню в другу компанію:

– Усе ок?
– Так-так, приходите на співбесіду.
– Тільки мені 15 років.
– А, ну все тоді, до побачення.

Зрозумів я, що на роботу ніяк не влаштуватися і вихід один – йти в інді-геймдев (коли іграшку робиш повністю сам).

Ти не думав втаїти свій вік?

– На той момент – ні. Адже на співбесіді все одно розкусили б. Та і тоді у мене були ще досить поверхневі знання. Тому вирішив продовжити навчання.

Освіжвши HTML+CSS і вивчивши JS, я почав писати на HTML5 іграшку (тачер), де по полю бігають зомбачки – тобі їх треба давити і не потрапляти на мирних жителів. Тоді мені попалася класна книга з геймдеву на JS – вона пролила світло на те, як треба писати код. Автор – Паскаль Реттиг, він же автор двигуна Quintus. Там хлопець теж років з 12 програмує, на бейсику. Прочитавши його книгу, я нарешті зрозумів, що означає все продумувати і писати красиво. Тому що до цього з самостійного практичного досвіду у мене була лише одна гра, і те я не до кінця розумів усі її тонкощі. Я навіть дивувався, як вона взагалі працює!

Тоді Amazon запустив кампанію по спонсоруванню HTML5 іграшок. Суть в тому, що тобі дають 200 баксів за будь-яку HTML5 гру – це і спонукало мене вивчити JS і написати іграшку. Я її задеплоїв, і все ніби було добре – вона працювала майже в усіх браузерах, але на їх планшеті не працювала. У них був браузер на Kindle, називався Silk. І як його дебажить – біс зрозумій. Ні емуляторів для цього Амазона немає, ні планшета, ні навіть браузер викачати не можна. А мені говорять – “Гра у нас не працює. Давай ти її пофіксиш і ми тобі заплатимо”. Я відповідаю – “У мене немає можливості відлагодити її і подивитися, що там. Скиньте мені балку консолі”. Відповіли вони тільки опісля півроку, коли я вже про цю іграшку зовсім забув. Я тоді на них образився.

На співбесіди ходити пробував?

– Рік тому, коли дзвонив, мене відразу посилали. Навіть цієї осені був випадок – лежало десь моє резюме Unity-девелопера, разом з готовими проектами – на мене вийшла HR з Plarium. Вона мені подзвонила, я відправив їй своє портфоліо, сказав, що можу поєднувати роботу і навчання. Але у результаті все обламалося, тому що виявилось, що реєстрація працівника у них йде через СПД, а в 15 років його відкрити не можна. А я ж так спалахнув! Пларіум, усі справи.

Гаразд, думаю, зроблю свою іграшку, продам її – і все. Благо, я тоді перечитав гору книг з C# і Unity, пройшов масу туториалів і більш-менш навчився кодити.

Придумав іграшку – називалася SandBox. Зробив її за 1,5 місяця. Зв’язався зі своїм другом, який сильно здивувався, дізнавшись, що я програмую на C#. Я йому сказав, що треба розкручувати іграшку на плеймаркеті, і що нам треба 25$ на ліцензію і 100$ на iOS. Він напружив свого батька, і той купив нам ліцензії. Іграшка вийшла непогана – я тоді як раз підсів на flat-графіку, зробив трейлер. Нарешті нормальний проект, я там навіть синглтон використав!

Я його задеплоїв і почав чекати, поки набіжить 1000 користувачів, коли вона опиниться в Топі. В цей же час почав писати статті і розповідати скрізь про свою іграшку. Але пройшов місяць, а гру викачали всього 100 разів. Половина з них – мої друзі. Нічого не залишалося, окрім як думати про монетизацію – це був єдиний спосіб заробити на неї. І я придумав “геніальну” ідею.

Суть монетизації полягала в тому, що якщо ти не можеш пройти рівень на три зірки (ідеально), то можеш проглянути відеорекламу, і тобі відкривається наступний рівень. Ідея здалася мені дуже вдалою, але вона у результаті і поклала усю іграшку – на другому клікові на рекламу вона починала вантажитися нескінченно. Я місяць просидів, промучив, але проблему так і не усунув, після чого видалив гру. Все що від неї залишилося, – ролик на ютубі.

Знову прийшла печаль. Я зрозумів, що грошей немає ні на розкручування іграшки, ні на художників – ні на що. Депресняк “навіщо увесь цей кодинг” тривав два місяці. Потім я прочитав Наполеона Хілла “Думай і багатій”, і він мене надихнув. Раніше я розпочинав справу з великого ентузіазму, сидів цілими днями, але потім вигорав так, що осоружно було на усе це дивитися, кидав на пару місяців – і йшов на новий виток.

Прочитав книгу – і думаю: куди б далі податися? У геймдев шляху немає (потрібні гроші). Як інді теж не реалізувався. На роботу не беруть. І вирішив – раз я в душі художник і раз мені подобається кодинг і дизайн, займатимуся фронтендом і піду у фрілансери (тим паче, що я вже знав JS і HTML).

Але спочатку мені треба було в’їхати у фронтенд. Мій двоюрідний брат, який працює в Житомирі контент-розробником, виділив цілий день свого часу, щоб розповісти мені про процес розробки, а також про фреймворки і матеріали, які мені треба було вивчити. У результаті, щоб отримати Trial-доступ на курси teamtreehouse, я відкрив собі банківську картку.

І як, вийшло заробляти фрілансом?

– Так, я виконав одне замовлення для менеджера по продажах палива – зробив йому landing page. Це були перші гроші, і я тоді зрозумів: це – вірний шлях.

Вдень мені ніхто не давав спокійно вчитися і працювати, тому я поміняв свій графік – почав спати вдень, а вночі працювати. Сидів, читав книги, писав свої pet-проекти, місяцями не вилазив з-під компа.

Зробив собі сайт-візитку за три дні, вивчив React. За той тиждень Trial-доступу на teamtreehouse я пройшов усі курси по фронтенду, які там були, а також написав в підтримку і отримав знижку для студентів на місячну підписку (було 50$, стало 10$). Так і віддав останні 10 доларів, щоб розібратися з іншими курсами. І звичайно, я скачував курси з рутрекера і потім сидів на них цілими днями. Тоді ж я почав серйозніше вивчати JS, навіть якоюсь мірою полюбив його. Написав портфоліо, тестові проекти, навчився працювати з Github і почав розсилати резюме.

Так ти все-таки хотів на фріланс або в офіс?

– Була надія на фрілансі працювати, але в офіс теж хотілося. Це вже було після зимового хакатону Microsoft по геймдеву, на честь Windows 10. Там я познайомився з фронтендом в зв’язці з Node.js і уперше зустрів інших програмістів (до цього я їх не бачив). Ми з моїм другом тоді перемогли, вигравши п’ять тисяч гривень на навчання в CyberBionic. Я дуже надихнувся перемогою, адже нас там було 12 команд, і ми з другом зайняли призове місце, будучи єдиними школярами (інші учасники були з КПІ і Шевченка).

І ось, після цього хакатону, я на такому підйомі знову заходжу на сайт по пошуку вакансій. Дивлюся – потрібні трейні-фронтенд, джуніор-фронтенд. Вік цього разу я вирішив не вказувати. Якщо запросять на співбесіду – там вже спробую умовити. Тим більше що якраз в цей час вийшла стаття про дівчину, яка в 19 років працює тімлідом. Мене ця стаття дуже надихнула, я їй навіть в Twitter написав “Спасибі!”.

Витратив день, склав красиве резюме, вказав останні роботи (фриланс-замовлення) і напрацювання на Github. Відправив 14 резюме – на ті вакансії, куди реально підходжу. Наприклад, на одну вакансію треба було знати лише CSS+HTML, JS, а також було вказано – “Великим плюсом буде знання bootstrap, досвід з Sass”.

Виявилось, що з тих 14 листів було проглянуто тільки 3-4, і тільки одна HR додала мене в Linkedin. Ніхто більше нічого не написав. Я думаю – ну блін, марево якесь. Ніби ж ніде не вказував вік.

Зробив останню спробу через вже інший сервіс – описав навички, накидав summary, закрив і думаю “пропади воно усе пропадом”. Але наступного дня дивлюся – прийшли дві пропозиції. Одне на віддалену, друге в офіс.

Для того, яке в офіс, мені треба було відправити своє портфоліо і посилання на Github, показати приклади коду. Їм все сподобалося, і мене запросили на співбесіду.

Я прийшов, поговорив з керівницею, вона розповіла, чим вони займаються. Виявилось, що уся робота зводилася до написання віджетів і додатків для Jive. Їх фронтенд-розробник подивився моє тестове завдання по JS і сказав “Добро”.

Друга частина співбесіди була на англійській, я її теж пройшов. І якраз в другій частині керівник запитала мене про вищу освіту.

– Ну, як би, у мене її немає.
– Чому?
– Ще не припало.
– Скільки тобі років?
– 16.

І тут у них витягнулися обличчя. Вони сильно засмутилися і почали розпитувати, як я збираюся поєднувати навчання і роботу, що я тут роблю і які у мене плани. Але співбесіда у результаті пройшла успішно – я повернувся додому, і через півдня мені зробили пропозицію.

Збиралися оформити мене через СПД (я ставив це питання на форумі). Але мені не дуже подобалося, що уся робота – це писати милиці для Jive.

Потім я поговорив з керівником, який пропонував віддалену роботу (друга пропозиція), – мені вона сподобалася більше. Вони подивилися мій Github, приклади робіт, сказали, що робота заточуватиметься на верстанні, React + Reflux, і що найголовніше – швидко вчитися і бути ініціативним. Я відразу погодився, тим більше що це віддалена робота, та ще і з останніми бібліотеками і перспективою зростання. Про що ще мріяти? Хоча, звичайно, я більше хотів би працювати в офісі – адже в колективі все-таки легше, ніж одному.

Як на твоє працевлаштування відреагувала сім’я?

Упродовж усього процесу пошуку роботи я інформував маму:
– Мам, я резюме відправив.
– Ну та. (Мовляв, хто ж тебе в 16 років візьме на роботу). Ти краще вчися.

Потім раптом приходжу і говорю:
– Ну все, мам, мене прийняли на роботу, я з першого числа вже працюю.
– Ого! Нічого собі!

Але мене в основному підтримував брат (економіст, 25 років). Коли я розповів йому новину, він сказав: “Я ж говорив тобі!”. Він і правда завжди говорив мені: “Не здайся, йди”.

Ти думаєш куди-небудь поступати?

– Так, хочу на заочний, або в КПІ, або в Шевченківський. На прикладну математику. Ті знайомі, які закінчували ці ВНЗ (і купа статей в інтернеті) говорять, що єдине, чому тебе нормально навчить ВНЗ – це математика і фізика, а кодинг – це вже сам. Ну, сам, так сам.

Які технології плануєш вивчати в найближчому майбутньому?

– Щоб утриматися на цій роботі, мені треба навчитися працювати з Flux, бібліотеками. Хочу навчитися нормально працювати на Node.js (трохи пробував, дуже сподобалося), поступово дорости до full – stack веб-девелопера, стати сеньйором, набратися досвіду.

Твоє напутнє слово юним колегам

– Не здаватися – це найголовніше. Завжди у всіх настає такий момент, коли хочеться все кинути. Я сам кидав раз десять. Добре, що повертався. Головне – пережити, перетерпіти, через сльози сісти і почати писати код – хоч що-небудь.

У мене також була проблема, коли я не знав, що писати і що показати в портфоліо. Ні проектів, ні навіть ідей на pet-проекти – нічого.

Мені нічого не хотілося, мене нудило, я йшов в кафе і писав. Після цього моменту, коли пересилюєш себе, йде наступна сходинка – і ти знову починаєш отримувати від цього кайф. І починаєш дивитися на речі інакше.

Київ, Харків, Одеса, Дніпро, Запоріжжя, Кривий Ріг, Вінниця, Херсон, Черкаси, Житомир, Хмельницький, Чернівці, Рівне, Івано-Франківськ, Кременчук, Тернопіль, Луцьк, Ужгород, Кам'янець-Подільський, Стрий - за статистикою саме з цих міст програмісти найбільше переїжджають працювати до Львова. А Ви розглядаєте relocate?


Коментарі 1

  • Нове покоління зараз менше читає, але ліпше пристосовується до нових умов. Коли компьютери стали для нас більш доступними молодь стала ними активніше користуватися. І радує той факт, що зараз діти цікавляться не тільки компьютерними іграми, а і чимось корисним. Найголовніше не зупинятися на досягнутому. Це запорука прогресу. На мою думку зажди треба щось освоювати нове.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *