
Непредсказуемый путь. Саша Афанасьев и его первая работа
Мы встречаем людей, которые похожи на бомбы. Когда они воплощают свои идеи — нас накрывает волнами. Эти волны смущают, вдохновляют, но точно не дают скучать.
Студент ucode IT academy Саша Афанасьев рассказал нам историю, как в 21 год он попал в Dragon’s Lake — компанию нового поколения, которая занимается разработкой игр мирового уровня.
Бэкграунд в программировании
Свой путь в программирования я начал с университета. Поступил в КПИ на факультет электроники. Это было похоже на IoT Development, но с углублением в электронику.
Со временем я понял, что это было неудачное решение, но об этом позже. Во мне проснулось желание разобраться в программировании в тот момент, когда я впервые попробовал написать код в университете. Кстати, именно там у меня появился первый опыт работы с языком С.
Через несколько лет я пошел учиться в ucode.
Начало обучения в ucode
Мы начали учиться в июле 2019 года. Я был очень впечатлён кампусом ucode — просто взрыв! Вся атмосфера, среда и условия — лучше для студента не найти, особенно по сравнению с университетом. Мы знакомились между собой, решали задачи, нам было весело.
Благодаря знаниям о языке С, я с легкостью прошел марафон. Но должен признать, что это было трудновато. Даже не представляю, как марафон проходят те, кто начинает без бэкграунда — они герои. Ведь за месяц нужно понять нереальное количество новых знаний.
Поиск работы vol. 1
Когда я шел на марафон, у меня была цель учить С++ и работать в сфере разработки игр.
Но я не хотел тратить слишком много времени на обучение, и уже через несколько месяцев в ucode, хотел устроиться в Ubisoft. Угадайте что? — да, мне не хватило знаний. Особенно трудно было разобраться в сложных темах, как: многопоточность, работа с процессами в операционной системе и работа с сетью.
Обучение во время карантина
Всю зиму и начало весны я посвятил тщательному обучению в ucode (параллельно продолжал учиться в университете).
Весной начался карантин …
На фоне всех жизненных проблем, меня накрыло выгорание и полная апатия. Непонятно было ничего, я не мог вообще представить свое будущее, поэтому просто продолжал учиться, дополняя обучение в ucode курсами на Coursera.
Переломное лето
Началось лето. Друзья и знакомые мне писали: кто-то уже нашел работу, кто-то ждет ответ от компании, кто-то уже делает тестовое задание. Поэтому я начал искать тоже.
Одна компания прислала мне тестовое — нужно было сделать шахматы. Я их начал делать, но так получилось, что на это ушло 5 недель. Конечно, за это время они нашли и наняли другого специалиста. Для меня это стало уроком:
Может не идеально, но нужно делать быстро. Тестовое — это тестовое, работа — это работа.
Также мне не очень нравилось как со мной общался HR. Думаю, многим специалистам эта проблема близка. Я просил фидбэк, но так его и не получил — нужно было делать быстрее. Как минимум, пока люди еще заинтересованы меня нанять.
Я провожу время в различных сообществах программистов в мессенджерах. Там есть ребята, которые делятся своим опытом, в том числе прохождения собеседований. Они показывали фидбэк, который получали от рекрутеров, так что я знал, что он бывает.
Затем я решил бросить университет. Целый год я учился в двух местах. Это очень истощало. Ты понимаешь, где получаешь много пользы, а где — место, которое тебе ничего не дает.
Зачем мне ВУЗ, если я больше знаний получаю в ucode?
В университете для меня были ценными только 2 предмета: объектно-ориентированное программирование и базы данных. Могу еще выделить шифрование, но, по моему мнению, в университете очень затянута программа: предмет нужно учить три года, начиная с длинной и ненужной теории.
Поиск работы vol. 2
Со всеми студентами в ucode у меня хорошие отношения, мы очень дружные, друг друга знаем и помогаем. Поэтому некоторые из них мне стали присылать вакансии.
Я хотел посмотреть ссылку, которую прислала моя подруга, но тогда я проходил полу марафон и отложил это дело.
Сразу после полу марафон, я хотел отдохнуть. Летом были дикие дедлайны, поэтому когда нам дали 2 недели отдыха, я вообще не хотел садиться за компьютер.
Однажды моя знакомая пишет, что ей ответили с вакансии, которую она мне присылала. Я вспомнил о ней только в тот момент. Сразу зашел по ссылке, а оно уже было недействительным, вакансия закрыта. «Ну классно, попал на работу.»
Пол часа погрустил, а потом решил, что нет, я это просто так не оставлю.
Я зашел на LinkedIn. У меня хорошо заполнена страница, на ней есть контакты. Я нашел эту компанию и их сотрудников. Хорошо, что были указаны должности, поэтому с 50 человек трое были HR. Из них только у одного были открыты личные сообщения. У меня был последний шанс и очень мало времени. Уже был понедельник, а в четверг стартовала интернатура.
Я сразу написал мотивационное сообщение. Что-то вроде:
«Я заметил, что недавно вы закрыли вакансию …, но, если у вас продолжается набор на интернатуру, то прошу посмотреть моё резюме …»
Проходит 5 минут, затем 10. Я уже чувствую седые волосы на голове. Времени осталось очень мало. Даже один день мог быть решающим. Если мне не ответят сейчас, то я не успею на интернатуру.
Через пол часа я получил ответ о том, что HR перенаправил моё резюме человеку, который занимается этим набором. А потом мне на почту пришло такое же сообщение, как моей знакомой. Я кричал от счастья!
Мне дали тестовое и поставили временные ограничения — 1 неделя. Есть такая игра «Crimsonland», нужно было сделать что-то подобное: в центре герой, защищается со всех сторон от врагов. Компания сбросила свой фреймворк, на базе которого нужно было работать. Это упростило задачу. Их интересовала логика и структура проекта — как ты это сделаешь. К счастью, я все сделал «по красоте», даже раньше, чем требовалось.
Шишка чесалась, но я прошел.
Далее мне позвонили со словами: «Мы проверили ваше тестовое — это лучшее, что мы видели. Поэтому готовы взять вас вне конкурса. «
Осталось пройти еще два собеседования: первое — техническое, продолжительностью 2 часа, а вторе с ментором, которое больше похоже на работу над ошибками, ведь он обо мне уже все знал.
Что нужно знать разработчику игр?
Я учил: векторную алгебру, матрицы, полярные координаты — эти темы нужно знать от «А» до «Я». Возможно, понадобиться немного тригонометрии.
Также со мной поделились книгой «Lengyel E. Foundations of Game Engine Development». Я считаю, что она крутая. Сначала рассказываются базовые вещи из С ++, ты что-то заучил, а затем автор тебе сразу объясняет, как это сделать.
Нужно уметь гуглить на английском языке. А еще лучше гуглить английском и находить российско-украинский контент.
Вывод
В ucode я понял, что peer-to-peer — это действительно правда. Я получил уникальный опыт, много знаний и знакомств. Сейчас у меня очень изменилась жизнь.
Я как будто еще вчера был на парах в университете, а сегодня в крутой компании.
Возможно, я еще не готов к таким изменениям, но в планах только двигаться дальше.
Главное — это люди, которые вокруг тебя и их опыт, которым они могут поделиться. Это аксиома ucode, которая плавно перетекает в реальную жизнь.