Русский
ДонНТУ  Портал магістрів

Біографія

Особистісне становлення

Я народився в самому кінці другого тисячоліття в місті Донецьку і став другою дитиною в сім'ї. Мій батько — токар, мати — нормувальник праці, брат — програміст, по стопах якого крок за кроком пішов і я, але про це — пізніше.

Батьки зайнялися моєю освітою з раннього дитинства. Так, в перший клас я пішов, вже вміючи читати і рахувати, що дозволило пройти початкову школу на відмінно без особливих труднощів. У наступні роки навчання у мене не залишалося вибору, крім як підтримувати репутацію. Для дотримання балансу я регулярно приносив в щоденнику зауваження про погану поведінку, але це не заважало вчителям щороку відправляти мене на олімпіади з усіх предметів поспіль, як цікавих мені (математика, фізика, інформатика), так і не дуже (російська та українська мови та література). З нетехнічних предметів мені найбільше подобалася англійська мова. У мене був пристойний для молодшої-середньої школи словниковий запас англійської мови, оскільки я любив проводити час за відеоіграми, які далеко не завжди були перекладені на російську. Також, пізніше, він час від часу поповнювався за рахунок прослуховування англомовних пісень.

Професійне становлення

Комп'ютер в моєму домі з'явився, коли я навчався в молодших класах — батьки купили його для занять брата, який ходив в комп'ютерний гурток. Методом тику я досить швидко розібрався, що там до чого, і впевнено ставав просунутим користувачем ПК. Від малювання в Paint я перейшов до відеомонтажу в програмі Windows Movie Maker і створення презентацій в Microsoft PowerPoint із застосуванням різних переходів, анімацій і правил взаємодії з об'єктами на слайдах. Також я спробував себе в створенні анімацій в Macromedia Flash MX і в більш серйозному монтажі в Adobe After Effects. Поглянувши на мої роботи, можна було зрозуміти, що моєю метою було не так створити щось прекрасне, скільки застосувати якомога більше наданих інструментів — мені було цікаво подивитися, що кожен з них робить, і хотілося показати, що я добрався до кожного з них.

Крім того, я любив залізти в файли ігор, щоб подивитися, що і як в них влаштовано, по можливості навіть що-небудь змінити. Ідеальним піддослідним в цьому сенсі була гра Counter-Strike 1.6. У ній можна було змінити абсолютно все: текстовий і звуковий супровід, картинки, скіни моделей персонажів і зброї; можна було в різних комбінаціях встановлювати модифікації, які кардинально змінювали ігровий процес. Дещо з цього я навіть створював сам.

Одного разу мене зацікавило те, що відбувається на моніторі, коли за комп'ютером займався мій брат. Він виконував чергове завдання, яке отримав в комп'ютерному гуртку. Спочатку було багато тексту, а потім на екрані з'явився кенгуреня, який стрибав по полю і залишав за собою слід, таким чином малюючи якусь картину. Це був написаний ним скрипт в програмі ROO — навчальному середовищі програмування, яке в дуже м'якій ігровій формі знайомила дітей з основами алгоритмізації і програмування. Завдяки їй я вже через тиждень знав, що таке розгалуження, цикл і процедура. Слідом за нею я познайомився з подібною програмою ROBOT, де якийсь пилосос перекладав на полі різні предмети, слідуючи заданому мною алгоритму. Я відчував такий інтерес, що теж вирішив записатися в цей гурток, але для цього довелося почекати кілька років - туди приймали дітей, починаючи з 6 або 7 класу.

Отже, у 2010 році я пройшов співбесіду і здав вступні випробування в ТО Комп'ютер в Донецькому палаці дитячої та юнацької творчості, де вибрав напрямок навчання Основи програмування. Там викладачі Гончарова Тетяна Семенівна і Фесенко Ольга Алімівна познайомили мене з пристроєм комп'ютера на більш професійному рівні. Коли справа дійшла до ROO і ROBOT, я, нарешті, зміг продемонструвати свої здібності. На річний контрольної я вирішив задачу підвищеної складності з першої спроби — потрібно було за словесним описом скласти алгоритм, не запускаючи його при цьому на комп'ютері в процесі написання. Запустити виконання алгоритму можна було тільки тоді, коли він був готовий, і якщо в процесі написання була допущена помилка, виконання переривалося, і це коштувало однієї спроби. На цьому закінчився лише перший рік, але не вся програма гуртка. Далі мене познайомили вже зі справжньою мовою програмування — Pascal. У перші дні вивчення було дуже важко зрозуміти, що де написано і чому саме так. Чи допомагало навіть знання англійської. Однак, мій інтерес був сильніше нерозуміння, і було потрібно лише почекати тиждень-другий, поки він переможе. За наступні 3 роки через рішення найрізноманітніших завдань мене навчили основам програмування, деяким суміжним дисциплінам математики, і самому, на мою думку, важливого для програміста — алгоритмічному мисленню. Саме завдяки цим навичкам мені вдавалося займати призові місця на шкільних олімпіадах з інформатики. В кінці навчання мій підсумковий проект — програму для складання тестів і проведення тестування в навчальних закладах — приймав запрошений з Донецького національного технічного університету викладач, завідувач кафедрою програмної інженерії Федяєв Олег Іванович. На той момент я вже точно знав, до якого ВНЗ буду поступати, але ще не цікавився списком кафедр, і не підозрював, що це далеко не остання наша з ним зустріч.

Вступ до університету у 2015 році не дав зупинитися на досягнутому. Буквально з перших же днів Моргайлов Дмитро Дмитрович посприяв зануренню своїх студентів в мови C/C ++. Тоді я ще раз зрозумів цінність занять в комп'ютерному гуртку. На початку навчання крім мене лише кілька людей з майже ста були в стані відразу приступити до виконання лаборатоних робіт з програмування. Решті треба було пережити те, що я встиг пережити ще 4 роки тому, коли вперше побачив Pascal. У наступному семестрі цей же викладач розповів мені про об'єктно-орієнтоване програмування та про патерни проектування програмного забезпечення. Тоді я раптом зрозумів, що два моїх великих хобі насправді не були двома різними захопленнями. З дитинства серед моїх іграшок важливе місце займав конструктор LEGO. Мені завжди подобалося з маленьких детальок, які самі по собі нічого з себе не уявляли, за інструкцією або імпровізуючи, збирати щось осмислене. При цьому кожна деталь або цілий зібраний блок деталей міг бути переставлений на інше місце, і це дало б в результаті абсолютно нове осмислене щось. Я усвідомив, що ООП — це теж конструктор, і навіть краще. У програмуванні немає обмежень по кількості деталей, а спосіб їх взаємодії ніде суворо не продиктований. Якщо потрібна якась деталь, якої ще не існує взагалі — вигадай її!

На третьому курсі, маючи достатню базу, я натрапив в інтернеті на статтю про нейронні мережі. Зацікавившись, деякий час я витратив на більш детальне вивчення цієї теми, пошук і запуск готових прикладів, створення власних нейронних мереж. Про це у нас випадково зав'язалася бесіда з одним моїм другом, і виявилося, що він як раз бере участь в проекті, де могли б стати в нагоді мої навички. Мені було запропоновано спробувати проявити себе у виробництві справжнього продукту, від чого я не зміг відмовитися. Так я отримав свій перший бойовий досвід.

Плани на майбутнє і можливі шляхи їх реалізації

Після закінчення магістратури я планую детально вивчити напрямки програмування, що цікавлять мене найбільш за все і необхідні для них інструменти — треба знати про все потроху і все про дещо. Забезпечивши собі стабільний дохід, хочу побувати в різних країнах світу. З метою різнобічного розвитку збираюся підвищити навик гри на гітарі і зайнятися історичним фехтуванням.