Українська
ДонНТУ  Портал магистров

Биография

Личностное становление

Я родился в самом конце второго тысячелетия в городе Донецке и стал вторым ребёнком в семье. Мой отец — токарь, мать — нормировщик труда, брат — программист, по стопам которого шаг за шагом пошёл и я, но об этом — позже.

Родители занялись моим образованием с раннего детства. Так, в первый класс я пошёл, уже умея читать и считать, что позволило пройти начальную школу на отлично без особых трудностей. В последующие годы обучения у меня не оставалось выбора, кроме как поддерживать репутацию. Для соблюдения баланса я регулярно приносил в дневнике замечания о плохом поведении, но это не мешало учителям каждый год отправлять меня на олимпиады по всем предметам подряд, как интересным мне (математика, физика, информатика), так и не слишком (русский и украинский языки и литература). Из нетехнических предметов мне больше всего нравился английский язык. У меня был приличный для младшей-средней школы словарный запас английского языка, поскольку я любил проводить время за видеоиграми, которые далеко не всегда были переведены на русский. Также, позднее, он время от времени пополнялся за счёт прослушивания англоязычных песен.

Профессиональное становление

Компьютер в моём доме появился, когда я учился в младших классах — родители купили его для занятий брата, который ходил в компьютерный кружок. Методом тыка я довольно быстро разобрался, что там к чему, и уверенно становился продвинутым пользователем ПК. От рисования в 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. Мне всегда нравилось из маленьких деталек, которые сами по себе ничего из себя не представляли, по инструкции или импровизируя, собирать нечто осмысленное. При этом каждая деталь или целый собранный блок деталей мог быть переставлен на другое место, и это дало бы в результате совершенно новое осмысленное нечто. Я осознал, что ООП — это тоже конструктор, и даже лучше. В программировании нет ограничений по количеству деталей, а способ их взаимодействия нигде строго-настрого не продиктован. Если нужна какая-то деталь, которой ещё не существует вовсе — придумай её!

На третьем курсе, имея достаточную базу, я наткнулся в интернете на статью про нейронные сети. Заинтересовавшись, некоторое время я потратил на более детальное изучение этой темы, поиск и запуск готовых примеров, создание собственных нейронных сетей. Об этом у нас случайно завязалась беседа с одним моим другом, и оказалось, что он как раз участвует в проекте, где могли бы пригодиться мои навыки. Мне было предложено попробовать проявить себя в производстве настоящего продукта, от чего я не смог отказаться. Так я получил свой первый боевой опыт.

Цели, планы и видение будущего

После окончания магистратуры я планирую детально изучить интересующие меня направления программирования и необходимые для них инструменты — надо знать обо всем понемножку и все о немногом. Обеспечив себе стабильный доход, хочу побывать в разных странах мира. В целях разностороннего развития собираюсь повысить навык игры на гитаре и заняться историческим фехтованием.