GeekUniversity

Онлайн-университет от


с трудоустройством и собственной игрой


Вы создадите и запустите собственную игру

Мы помогаем своим студентам в трудоустройстве и развитии собственных проектов. Наша программа позволит вам собрать команду, создать игру с нуля и выпустить ее на рынок.

Наши ученики трудоустроились в компании:

Получите программу курса на email

Посмотрите, как будет строиться учебный процесс

Нажимая на кнопку, вы даете согласие на обработку своих персональных данных в соответствии с политикой конфиденциальности.
Проектно-ориентированное обучение

Проектно-ориентированное обучение

Мы учим на практике и разрабатываем программы совместно со специалистами из компаний-лидеров рынка. Вы создадите 4 проекта как самостоятельно, так и в команде. Год обучения в GeekUniversity = год реального опыта разработки для вашего резюме.

Наставник

В течение всего обучения у вас будет личный помощник-куратор. С ним вы сможете быстро разобраться со всеми проблемами, на которые в ином случае ушли бы недели. Работа с наставником удваивает скорость и качество обучения.

Наставник
Совместная разработка

Совместная разработка

Хороший программист - это на 50% умение кодить и на 50% умение взаимодействовать с коллегами. GeekUniversity прокачает ваши "soft skills", которые обязательно проверят на собеседовании в любую серьезную компанию.

Истории успеха

×
Виктор Лоскутов

Прошлым летом Виктор Лоскутов поступил в GeekUniversity на факультет Android-разработки. Уже через пару месяцев он устроился программистом в компанию Wildberries. До этого работал инженером по проектированию мостов и дорог и мало что знал о разработке ПО. Мы расспросили Виктора, как повлияла на него новая работа и почему он решился искать ее с небольшим опытом в программировании.

— Чем вы сейчас занимаетесь?

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

У нас небольшая команда из трех человек — два Android-разработчика и один тимлид, который по совместительству занимается базами SQL и многими другими задачами. В нашем ТСД много модулей, каждый из которых выполняет свои операции: инвентаризацию, сборку, раскладку, прием от поставщика и так далее. Таких операций много, и под каждую нужно сделать модуль. Какие-то из них простые — выполняются в одно действие. Другие — поинтереснее, посложнее.

— Почему вы отучились на инженера, а потом решили сменить профессию?

— После школы я не особо знал, чего хочу. Куда посоветовали, туда и пошел. Поступил на специальность «Строительство» на инженерном факультете в РУДН. По рекомендации друга нашел работу — она была интересной и хорошо оплачиваемой.

У нас была бригада — человек 10 и начальник. Проектирование — довольно прибыльная вещь, пока у тебя есть крупные проекты. Когда бюджет заканчивался, начальник говорил: «Мы отсюда уходим и идем в другое место на такие-то условия». Сначала мы шли на хорошие условия, потом на плохие, затем — хуже и еще хуже. Я стал задумываться, чем заниматься дальше.

В тот момент другой мой товарищ пошел учиться в GeekUniversity. Я последовал за ним — записался буквально за неделю до начала занятий. К тому моменту я уже знал, что в этой области разработки много хороших вакансий и высокие зарплаты. В GeekUniversity меня привлекло гарантированное трудоустройство. Я почти не раздумывал над поступлением, потому что в тот момент очень хотел что-то поменять: состояние было — хоть на стенку лезь. Эти курсы тогда стали для меня спасательным кругом.

Когда я начал учиться, со старой работой стало совсем плохо. К тому же, на нее было далеко ездить. Я ушел. Считаю, что если не идет работа, нужно уходить и пробовать что-то другое. Конечно, если есть такая возможность — у кого-то дети, ипотеки. У меня была возможность уйти, и я решил ей воспользоваться.

— Как вы нашли работу?

— В июне прошлого года я пошел учиться на факультет Android-разработки, за компанию с другом. В тот момент я еще работал инженером-проектировщиком — проектировал мосты и эстакады. В какой-то момент с работой стало совсем туго — в сентябре я уволился, думал отдохнуть и посвятить больше времени учебе, неспешно откликался на вакансии разработчиков. Я знал, что джуниору сложно найти работу — в итоге сходил на 2–3 собеседования, после которых мне отказали.

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

— Что помогло совмещать работу и учебу?

— У меня была хорошая мотивация — очень хотелось сменить профессию. Но совмещать было тяжело: приходилось по вечерам заниматься и все выходные. Я из Подмосковья ездил на работу на электричке и там тоже постоянно смотрел уроки.

Домашние задания тоже не всегда легко делались. На первом этапе помогало то, что все было новым и интересным. Знания гораздо лучше усваивались. В самом начале мы делали на Java простенькие вещи (крестики-нолики), и они начинали тут же работать. Эти моменты были самыми прикольными. Со временем это становится обыденностью, и челленджи, которые возникают, начинают вызывать раздражение. У нас сейчас был курс по Android — там есть своя библиотека. Ее подключаешь и делаешь, и вроде все как в уроке. Но у меня ничего не работает. Там домашнее задание на 10 минут, а я просидел 2 часа. Это, конечно, бесит.

Преодолевать такие сложности можно разными способами:

  • Попросить помощи у преподавателей и однокурсников;
  • Если позволяет время, взять перерыв или переключиться на другую задачу;
  • Если времени нет, лучше сразу расслабиться и не переживать (Акуна Матата!) — сделать как получится.

Должен признаться, что под конец обучения энтузиазма у меня поубавилось. В последнее время стал все видео смотреть в записи. Я их ставлю на ускоренное воспроизведение. Может быть, это связано с тем, что я уже многое узнал на работе и стал более привередливым к информации.

То что курсы в GeekUniversity — платные, помогает мне не бросить обучение, даже устроившись работать программистом. Когда в институте учишься на бюджете, тебе все равно. А когда платишь свои деньги, сразу как-то обидно оставлять курсы непройденными.

— Что посоветуете новичкам?

— Советую выполнять домашние задания в срок, начинать ходить по собеседованиям, относиться к ним проще и не переживать излишне. Работодатели — приличные люди, и с ними интересно поговорить. Кто-то объясняет, где ты ошибся в ответе, дает советы и рекомендует, что почитать.

Мне кажется, важно публиковать резюме, даже если у вас нет опыта работы программистом. В своем резюме я просто перечислил проекты, которые выполнял в GeekUniversity — выложил ссылки на GitHub. Свой предыдущий опыт работы просто кратко вписал в поле «О себе». В графу «Опыт работы» я не стал его указывать: если в резюме разработчика написать «опыт программирования — 3 месяца, опыт проектирования», это создаст путаницу.

— Что больше всего нравится в работе?

— Опыт, который я получаю. Очень благодарен коллегам, которые меня учат. Недавно мы начали писать на Kotlin, о котором я вообще ничего не знал — мы еще не проходили его в GeekUniversity. Наш тимлид охотно пробует новые языки, и это хорошо. Все привыкли писать на Java, но Kotlin в итоге оказался удобным и классным.

Все преподаватели GeekUniversity говорят: «Ребята, чтобы стать хорошим программистом, нужно просто писать код». Книжки читать — это хорошо, но реальные задачи важнее. В какой-то момент из-за всей теории в голове наступает путаница: один говорит, что вот это правильно, другой — вот это. А тебе ответить нечего, потому что ты ни то, ни другое не использовал. Когда попробуешь — поймешь, какие преимущества и недостатки у каждого из этих решений, и выберешь то, что подходит тебе.

— Какие сложности есть сейчас в работе?

— Ритм. Большая часть работы на складе выполняется круглосуточно, а значит нужно, чтобы и программы работали исправно. Если что-то где-то ломается — может понадобиться работать ночью. Буквально в эту субботу с семи вечера до часа ночи мой коллега правил ошибки, которые появились после обновления.

Я думал, что буду просто ходить на работу, всем улыбаться и мне будут платить кучу денег. Оказалось, что работа разработчика чуть сложнее. До сих пор встречаются трудности, которые фиг знает, как решать. А когда это нужно делать срочно — стресс двойной.

— Не жалеете, что так рано устроились на работу? Может быть, стоило еще пару четвертей в GeekUniversity закончить перед тем, как публиковать резюме?

— Нет, начинать работать по профессии надо, и чем раньше — тем лучше. Работа и параллельное обучение — это два разных источниках знаний, они оба нужны разработчику. Если попадаешь в команду, которая пишет хороший код, они тебя всему сами и научат.

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

Если есть возможность работать где-то с самого начала, нужно обязательно ей воспользоваться. Я понимаю студентов, которые боятся свой код в резюме разместить или написать, что раньше не работали программистом: «А что подумают в компании, когда они увидят мое резюме без опыта?». Но это нужно побороть, иначе так всю жизнь будешь сидеть и ждать — «вот я еще чуть-чуть доучусь, еще пять курсов пройду, тогда я точно хорошим программистом стану».

— Профессию поменяли. О чем теперь мечтаете?

— Да я пока не знаю, чего от жизни хочу, а вы такие вопросы задаете. Я сейчас везде вижу корысть. Весь современный мир заточен под одно — заработать денег. И чаще всего эти способы не самые порядочные, но завуалированные.

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

А если более приземленно рассуждать, я бы в будущем хотел уехать из Московской области, потому что мне не нравится то, что здесь происходит. Вокруг люди, которые очень напряжены в связи с ситуацией в нашей стране. И невольно ты становишься таким же — раздражительным, у тебя мало времени, мало денег и жизнь проходит. Хочется остаться в России, но уехать в более тихое место и, возможно, работать удаленно. Новая специальность теперь позволяет.

×
Александр Чебыкин

Александр Чебыкин уже полгода работает Java-разработчиком в компании «Сбербанк-технологии». До этого он писал код на Фортране, работал над диссертацией в Институте прикладной математики имени М. В. Келдыша РАН и успел закончить две четверти в GeekUniversity. Этих знаний хватило, чтобы успешно пройти собеседования в Сбертехе и получить сразу два интересных предложения работы.

— Чем вы сейчас занимаетесь?

— В Сбертехе я работаю Java-разработчиком в отделе эквайринга, в команде клиринга.

Эквайринг — это оплата товаров и услуг при помощи банковских карт. Чтобы магазин мог принимать безналичный расчет, он заключает контракт с банком.

Команда, в которой я работаю, занимается клиринговым взаимодействием — это процесс безналичного расчета, выполняемого с привлечением третьего участника, клирингового субъекта (в данном случае Сбербанка). Когда покупатель оплачивает покупку через терминал, в системе банка формируется файл, в котором закодирована информация. Моя команда пишет всю систему клиринга. Одна из ключевых частей этого приложения — парсер. Это программа, которая считывает каждый файл и передает на дальнейший процессинг.

— Какие знания нужны, чтобы получить такой оффер?

— Если вы хотите писать backend корпоративных приложений, нужно хорошо разобраться в следующих темах:

  • Java SE (Collections, многопоточность);
  • Maven;
  • Git;
  • Linux OS;
  • Spring (IoC, DI) — от джуниора обычно ждут общего представления, что это и для каких задач используется. Но знание этого фреймворка будет большим преимуществом при трудоустройстве и в дальнейшей разработке.
    Могу поделиться вопросами, которые мне задавали во время собеседований на должность Java-разработчика:

  • Как устроены ArrayList и LinkedList? В чем разница?

  • Как устроены HashMap/HashSet?

  • Что такое Deadlock (с примерами)? Как его избежать? Как убедиться, что в запущенном приложении он случился?

  • Что вы знаете про жизненный цикл потока? Приведите схему перехода между состояниями;

  • Как бы вы проводили ревью кода другого разработчика?

  • Выполните умножение двух чисел, представленных строкой (пример):
    String str = “239391391289323784827473442342” * “239391391289323784827473442342”.

— Как нашли эту работу?

— Она сама меня нашла. После первой четверти в GeekUniversity (факультет Android-разработки), когда достаточно изучил Java, я выложил резюме Java-разработчика на HeadHunter. Честно написал, что работал только с Фортран, что Java освоил самостоятельно и прохожу обучение.

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

После трех–четырех собеседований у меня сложилось понимание, как отвечать. Я стал увереннее, но приостановил поиски. Решил уделять больше внимания учебе, пошел на стажировку по Java-разработке в GeekBrains.

Чуть позже сотрудники кадрового агентства, с которым работает Сбертех, увидели мое резюме на HeadHunter и предложили пройти два собеседования. Первое — с командой в отделе кредитов. Вопросы, которые мне задавали, мы хорошо изучили на курсе «Java 3». Второе собеседование, в отделе эквайринга, проводил руководитель направления. На следующий день рекрутер позвонил и сообщил, что мне готовы сделать оффер. Позже поступило предложение и из первого отдела.

— Были какие-то сложности в первые месяцы работы?

— Команда, в которую я пришел, работала над проектом уже больше года. Было сложно сразу во всем разобраться. Хочу сказать одногруппникам, которые жаловались на количество кода в наших учебных проектах (например, когда мы писали сетевой чат в первой четверти): «Это вовсе не много кода!». Там было от силы 3 модуля по 20 классов в каждом. На момент, когда я подключился к работе своей команды в Сбертехе, в нашем рабочем проекте было около 20 модулей и сотни классов. Поэтому первый месяц на реальном проекте был для меня непростым.

К тому же, у меня не было представления, как устроен бизнес-процесс в компании. Стеснялся спрашивать — не знал, насколько глупыми могут показаться мои вопросы, и помогла только практика. Рабочий процесс складывался из двухнедельных спринтов: мне накидывали задач, и я потихоньку разбирался в проекте. Ещё увереннее почувствовал себя, когда пришел новый разработчик и мы уже вместе разбирались в том, как все устроено.

— Почему вы решили учиться программированию?

— Я закончил МИФИ, факультет теоретической и экспериментальной физики, по специальности «Прикладная математика и информатика». После вуза я полгода работал аналитиком в компании «Филип Моррис». Мне не нравились мои задачи: рутинная работа над статистикой и контроль того, как работают другие. На тот момент у меня не было четкого представления, чем хочу заниматься дальше. Увидел, что Институт прикладной математики проводит конкурс на место научного сотрудника — и пошел туда работать, поступил в аспирантуру.

Там я занимался разработкой, 70% из которой занимала матфизика и только 30% — программирование. За 4 года такой работы я понял, что физики с меня хватит — мне интереснее рассматривать задачи с точки зрения математики и программирования. Поэтому начал искать учебные программы для разработчиков.

Точно не знал, хочу заниматься корпоративной или мобильной разработкой или уйти в геймдев. У меня были базовые знания в Python и Java. Я работал только с простыми задачами, которые можно решить любым процедурным языком. Опыт разработки на Фортране дал мне неплохую базу, но объектно-ориентированное программирование пришлось осваивать почти «с нуля». Но я хотел развиваться и писать полноценные проекты.

— Почему поступили именно в GeekUniversity и выбрали факультет Android-разработки?

— До определенного профессионального уровня я не мог придумывать задачи сам. Хотел, чтобы мне их ставили опытные специалисты.

На тот момент программа GeekUniversity только запускалась. Было открыто три направления: веб-разработка, Android и iOS. Факультет Android-разработки выбрал методом исключения. iOS мне был не очень интересен, так как сам не пользуюсь техникой Apple и не обладаю нужными базовыми знаниями. Веб-разработку не рассматривал, потому что на тот момент не знал ничего о HTML, CSS, JavaScript. А вот моих минимальных знаний по Java для поступления на факультет Android-разработки было достаточно.

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

— Какие впечатления об обучении в GeekUniversity?

— В целом, мне понравилось, как и в каком объеме нам давали материал. Были преподаватели и курсы, которым я до сих пор благодарен, а были темы, которые не особо запомнились и пригодились.

Понравился курс Алексея Степченко «Java 2». Он же показал, как писать игру под Android. На курсе «Java 3» преподаватель Николай Дмитриев подробно объяснил всю теорию, которая требуется на собеседованиях. Хочу отметить, что Николай лучше всех давал обратную связь по домашним заданиям — он обращал внимание не только на очевидные ошибки, но и расписывал замечания по стилю кода.

Из преподавателей по Android запомнился Станислав Хижняк — подробно и понятно объяснял нужные нам инструменты. С преподавателем первого курса по Android Александром Аникиным писали погодное приложение — он разложил «по полочкам» всю работу.

У меня были замечания к информации в методичках по некоторым курсам (иногда они были недостаточно согласованы с тем, что мы проходили) и к формулировке задач по курсовым проектам. Сообщил преподавателям — надеюсь, эти моменты доработают.

Когда пришёл в Сбертех и освоился, понял, что хочу профессионально заниматься разработкой корпоративных приложений. Появились мысли не доучиваться, потому что совмещать работу и учебу было непросто. Но решил пройти обучение до конца, чтобы создавать мобильные приложения в качестве хобби.

Рад, что сейчас знаю достаточно инструментов, чтобы самостоятельно ставить себе задачи по мобильной разработке. Еще год назад я даже не понимал, как устроены программные продукты, а сейчас могу написать мобильное приложение.

×
Савва Козловский

Савва Козловский заканчивает факультет разработки игр в GeekUniversity и уже применяет знание Unity в околокосмической сфере! Он согласился рассказать о своей учебе в GU, о работе и планах на будущее.

— В декабре вы с однокурсниками станете первыми выпускниками факультета. А с чего все начиналось: почему игрострой, почему GeekUniversity? Был ли до этого опыт программирования?

— Я окончил журфак и работал по специальности 7 лет, но по ряду причин оставил профессию. При этом компьютерные игры были увлечением с детства. Доступ к ним появился у меня рано, потому что в начале 1990-х мой отец успешно работал в IT. Одно из первых воспоминаний: сижу на коленках у папы, а он играет на древнем компьютере от немецкой Robotron. Монитор еще был двухцветный: черно-зеленый.

Но о карьере разработчика игр я долго не задумывался. Со школы считал, что совсем не способен к программированию, поэтому выбрал гуманитарную область. И только когда случился профессиональный кризис в журналистике, я решил попробовать себя в игрострое. Сложились условия, при которых было не страшно выйти на это направление.

Собрал небольшую команду энтузиастов: один программист, три художника. Я был автором идеи, координатором и гейм-дизайнером. Мы начали разрабатывать простенькую стратегию для мобильника. Опыта не хватало: раньше я руководил только командой по страйкболу. Многие полученные при этом навыки работали, а вот знаний и, главное, опыта в игрострое было совсем мало. За полгода мы довели игру до «беты» — она сейчас висит в GooglePlay — и на этом разбежались.

Я понял, что не хочу все время зависеть от других, и решил учиться делать игры сам. Дальше: «Окей, Гугл! Unity. Как разработать игру?»

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

Нужно было зарабатывать, и я пошел в продажи. Появились средства — стал искать, где учат профессиональной работе с Unity, и нашел GeekBrains. Менеджер посоветовал идти сразу в GeekUniversity — привести в порядок знания, которые уже были, и получить недостающие.

Сейчас считаю, что это было правильным решением. Как бы я без преподавателей справился с изучением C#, особенно базовых понятий, которые самостоятельно полностью понять не получалось, — не представляю.

— Чем занимаетесь сейчас?

— Тружусь в компании «Космософт». Одно из направлений ее деятельности — разработка приложений для наземных служб космодрома. Я как Unity-разработчик участвую в создании обучающего софта, который помогает персоналу служб осваивать нужные им технологии и оборудование. Пока это выглядит как интерактивная 3D-среда, виртуальная экскурсия или «игра» без геймплея.

— С какого момента начали искать работу по новой специальности и насколько быстро нашли?

— До окончания GeekUniversity искать работу я не собирался. Но через 5 месяцев после начала учебы появилось предложение, от которого невозможно было отказаться: вакансия Unity-разработчика в «Космософте». В итоге все решило то, что будущему руководству в целом понравился мой код. Этого оказалось достаточно, чтобы меня взяли на позицию джуниора.

Приступил к работе в июле. Пока еще много ошибаюсь, что-то приходится переделывать, но, к счастью, большую часть ошибок могу исправить сам. В целом, считаю, для полугода опыта это нормально.

— Насколько пригодился освоенный в GU стек технологий: многому ли приходится доучиваться на работе?

— Специально ничему доучиваться пока не приходилось. Но, конечно, есть разница между учебными и «полевыми» условиями. На паре ты делаешь задание и знаешь, какой инструмент применить. На работе — выбираешь методы сам и никто не подсказывает. По крайней мере, пока ты не ошибешься и коллеги не посоветуют делать иначе.

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

На работе лид рекомендовал мне изучить фреймворк Zenject, который обеспечивает инъект-независимость в Unity. Но пока это не критично. В GU мы такого не изучали и, наверное, включать настолько специализированные инструменты в учебный план было бы лишним.

— Какие проекты вы сделали за время учебы, и насколько это было сложно?

— Пока из 4 запланированных проектов мы делали мобильный 2D-платформер и 3D-шутер. Для 3D-игры я написал программную основу, но графику вовремя реализовать не удалось, так что приходится ее доделывать в последний момент.

Расскажу больше о 2D-платформере — с ним я продвинулся дальше. Сначала я думал делать игру по мотивам романа Гарри Гаррисона "Ethical Engineer" из серии «Неукротимая планета». Хотел использовать прошлый опыт: собрать небольшую команду и в рамках учебного проекта создать полноценный платформер. Идея была благородная. Но сейчас понимаю, что пытался откусить слишком много…

На тот момент мое знакомство с 2D-возможностями Unity было поверхностным. Я мог заставить какой-то компонент работать, но не видел общей картины. Многое приходилось осмысливать по ходу.

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

Теперь я думаю, что учебный проект должен быть учебным — хорошим на своем уровне. Если ставить слишком высокую планку, вы лишаете себя удовольствия от работы. Сложности — это правильно и хорошо. Но когда у вас физически не хватает времени их решить, это убивает мотивацию. А главное, вы ставите под удар сам проект и смысл его выполнения.

Возможно, это лично моя специфика: последнее время помимо учебы приходится много работать (причем голова для этой работы должна быть свежей), и времени совсем мало.

Когда доучусь, планирую вернуться к 2D-платформеру и переработать его в одиночку. Сеттинг будет другим: Гарри Гаррисона там не останется. Вся концепция уже есть, осталось вложить время и усилия. Надеюсь, это принесет еще много радости в будущем.

По учебному плану впереди еще командный проект и стратегия.

— Что в GeekUniversity понравилось, и что хотелось бы улучшить?

— Самыми полезными я бы назвал курсы по C# (у меня их было два — базовый и продвинутый), «Алгоритмы» и «Шаблоны и паттерны проектирования». От этих 4 курсов я в полнейшем восторге!

Занятия по Unity тоже полезны, и ведут их хорошие преподаватели, но фундаментальные знания в области алгоритмов — это штука, интересная даже безотносительно разработки игр. Это меняет способ мышления.

Самое увлекательное, когда ты открываешь для себя вещи, которых раньше не понимал, и вдруг видишь, насколько они классные. Иногда я до трех ночи не спал перед работой, чтобы нормально сделать задание — настолько «перло» от нового понимания.

Не могу сказать, что мне что-то не понравилось. Есть курсы, которые зажигают и вдохновляют. Есть более спокойные, но тоже незаменимые. И третья категория — задел на будущее. Например, курс по сетям — сетевому инжинирингу и администрированию — прошел скорее мимо меня. Хотя я понимаю, зачем он нужен, мне его пока негде применить.

— Много ли приходится изучать самостоятельно — вне занятий?

— На самом деле, не очень. Домашние задания обычно привязаны к теме урока — для их выполнения достаточно внимательно перечитать методичку. Когда хочешь по своей инициативе что-то докрутить, лезешь в Google, читаешь StackOverflow и так далее.

Дополнить картину помогает литература, которую рекомендуют преподаватели. В этом списке есть вещи, которые стоит читать и перечитывать. Например, книга Design Patterns «Банды четырех» — заслуживает стать настольной. Из-за нехватки времени я с ней пока ознакомился поверхностно, к сожалению. Но у меня в библиотеке она поселилась надолго, и вернуться к ней планирую еще не раз.

— У вас в учебной группе складывались команды единомышленников для совместной разработки игр?

— Сейчас у нас начнется курс командной разработки, где в любом случае нас разделят на группы. Преподаватель назначит каждому роль в «добровольно-принудительном» порядке. Любопытно будет поучаствовать в проекте, изначально рассчитанном на коллективную работу.

В учебной группе у всех разный уровень подготовки. Например, я гуманитарий со школы, а большая часть моих сокурсников — «айтишники», которые ищут новое направление, или специалисты смежных IT-областей. Поэтому состав команд придется как-то балансировать.

А если говорить о стихийных объединениях на курсе, пока это все на уровне обсуждений. Думаю, собрать студентов в эффективную команду можно только при наличии лидера, который обладал бы принципиально большими, чем остальные, знаниями и неоспоримым авторитетом. Тем более работать пришлось бы в условиях плотного учебного графика и сжатых сроков. Может, кому-то из одногруппников и удастся объединиться к концу обучения, но это время еще не пришло.

— Unity позволяет создавать и мобильные, и онлайн-игры, и VR. Какие направления вам интереснее?

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

— Каких ошибок можно было избежать, если б вы заранее знали то, что известно вам сегодня? Что бы на своем опыте посоветовали студентам, которые придут на факультет в следующем году?

— Когда работаете над первыми своими проектами, не пытайтесь откусить много. Лучше сделайте маленькую игру, но полностью. Я наступал на эти грабли не один раз. Когда у вас есть готовый продукт, вы можете его усложнить. Но и этим не всегда стоит увлекаться: танк, собранный вокруг велосипеда, будет иметь крайне сомнительную эффективность.

Дорабатывать можно до бесконечности. Еще до учебы в GU я пытался навесить фичи на готовый проект, и тот под собственной тяжестью провалился. Сложнее всего — ограничить себя. Сказать: «Ребята, мы делаем только вот это, но от начала до конца», — полностью выполнить намеченное и довести игру до релиза. Привычка доводить проекты до конца очень важна.

И будьте готовы, что потребуется много времени. Жалеть время в данном случае (как и себя самого), конечно, можно, но вы сильно потеряете и в эффективности, и в удовольствии от процесса. Тут так: чем больше вложишь, тем больше получишь на выходе — как в любом подобном деле.

— Спасибо! Савва, успешного вам окончания учебы, интересных задач на работе! И надеюсь еще увидеть релизы ваших игр :)

×
Сэми Каюмов

Я родился в Самарканде, но родного города уже почти не помню, потому что после смерти отца семья вскоре переехала в Ташкент. Чтобы помогать маме, я в 13 лет пошел работать — продавал хлеб на рынке. Приходилось часто пропускать школу, и это, естественно, сказывалось на оценках. Не хочу вдаваться в детали, но в Ташкенте я прожил самые трудные годы — мы не жили тогда, а выживали.

В тот период мне очень помогла тетя: благодаря ей я начал ходить в кружки по рисованию. А рисовать я любил с детства.

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

Когда мне было двенадцать, я любил ходить в гости к тете и пару раз наблюдал, как она рисовала и создавала простые анимации — в то время она посещала курсы по Corel Draw и Macromedia Flash. Этого оказалось достаточно, чтобы я всерьез заинтересовался компьютерной графикой.

На подступах к дизайну

У нас в семье ПК был только у тети, и она стала делиться со мной знаниями. Через месяц я уже делал свои анимации: как едет машина, идет по морю корабль и так далее. К сожалению, возможности сохранить свои работы у меня тогда не было.

После школы я поступил в колледж «Компьютерные технологии» на специальность «Дизайн». Основных предметов было три:
* Corel Draw и Photoshop;
* алгоритмы и язык Pascal;
* английский язык.

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

Дизайн и Flash-анимацию я изучал прежде всего для себя — цели зарабатывать этим не было. Просто я безумно любил рисовать и вдруг у меня появилась возможность «оживить» свои творения, показать персонажей в движении. Поэтому я дополнительно записался на курсы по программе Macromedia Flash.

Я по натуре исследователь: люблю вникать в то, как устроены вещи, думаю, что бы я улучшил, если бы создавал их сам. Например, когда работал с Macromedia Flash, мне не хватало в нем скриптовых возможностей — хотелось написать код, который расширял бы функции приложения. Сейчас анимацию без программирования представить сложно.

Популярность Flash объяснялась тем, что создание короткометражных мультиков стало доступно огромному числу людей. Результаты зачастую выглядели не круто, но можно было воплотить любые идеи и просто удивить знакомых.

Были и отличные вспомогательные инструменты. Например, Moho Studio 2.0 — еще одна любимая моя программа тех лет. Там, в отличие от MF, была скелетная анимация, что особенно упрощало создание мультиков про людей и антропоморфных персонажей.

К сожалению или к счастью, когда меня озарило писать свой скрипт для анимации, язык Pascal я уже забыл :) Да и не знал я его после колледжа на том уровне, когда можно создавать программы для своих реальных задач.

Помощник дизайнера
Со временем увлечение графикой стало приносить мне доход. В 16 лет я знал Photoshop на базовом уровне и устроился помощником дизайнера в рекламное агентство "ADV Media" в Ташкенте.

Мы выпускали пригласительные билеты, визитки, рекламные плакаты разного формата, школьные альбомы. Часть заказов я выполнял полностью сам, другие — дорабатывал. В мои обязанности входили переговоры с клиентами, прием заказов, составление технических заданий.

В общей сложности дизайном я занимался три года — до 19 лет.

Почему я не стал дизайнером? Точного ответа сам до сих пор не нахожу. Работая в агентстве, я уже знал, что перееду в Россию, и понимал, что нужно будет строить карьеру в другой стране, набирать опыт и учиться в незнакомых условиях.

А после переезда я увидел новые перспективы и оказалось, что навыки дизайнера — лишь часть того, что мне нужно. Основной же целью для меня стала веб-разработка и разработка игр.

Я не отказываюсь от старого увлечения, но дальше развиваться в этой сфере хотел бы уже в своих нынешних проектах, связанных с разработкой :) Например, сейчас я делаю сайты и нередко заказчики обращаются ко мне без макета и идей по оформлению сайта. В идеале я хотел бы сам предложить им дизайн. Но пока в моей жизни столько учебы и работы, что приходится чем-то жертвовать.

Путь в веб-разработку
В России я жил сначала в Челябинске, потом — в Москве. По сравнению с Узбекистаном, здесь я нашел больше возможностей. Существенно больше. Думаю, если бы не переезд, я бы не занялся программированием и не рассказывал сейчас эту историю, да и вообще с образованием было бы сложнее. Во времена, когда я уезжал из Ташкента, полноценно учиться там не позволяло финансовое положение.

HTML и CSS я начал самостоятельно осваивать еще в 20 лет. Не все получалось, но интерес оставался. Я работал с разными CMS и конструкторами сайтов, типа ucoz, залезал в HTML-код и играл с ним, чтобы понять, как все устроено. Позже начал делать страницы с нуля ради практики.

После переезда в Москву я стал работать продавцом, а в свободное время — вплотную занялся изучением веба. Решил идти в веб-разработку, несмотря на огромную конкуренцию в этой сфере, т. к. стремлюсь заниматься тем, что по душе, а не только приносит деньги. Мне нравится сам процесс создания нового с нуля.

После того, как я прошел онлайн-курсы по созданию сайтов, начал брать заказы как фрилансер. Первый заказ получил на «Авито»: надо было сверстать интернет-магазин интимных игрушек. Рассказываю и сам смущаюсь, но ведь было такое. Скриншоты показывать не буду, ладно? :)

Параллельно учусь на факультетах Python-разработки и разработки игр в GeekUniversity. Игры — это пока для себя, а Python собираюсь использовать в веб-проектах. До этого бэкенд писал на PHP и, к счастью, он до сих пор востребован. Но, благодаря новым знаниям, переключаюсь на Django.

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

Почему fullstack?
Когда я пришел изучать Python, у нас был курс фронтенда, чтобы мы могли использовать связку HTML + JS + Python. И тут выяснилось, как многого о фронтенде я не знал! :) Пользуясь случаем, благодарю преподавателей, которые вели у нас верстку и JavaScript соответственно. Они вдохновили меня углубиться во frontend, без чего не станешь хорошим fullstack-разработчиком.

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

Что посмотреть о веб-разработке
Если вы занимаетесь или интересуетесь веб-направлением, советую обратить внимание на несколько YouTube-каналов:

  • «Быть программистом».
  • FrontCoder.
  • codeBurger. Ребята хорошо рассказывают, объясняют, как лучше делать и почему. Смотрю с интересом. Надеюсь, вы тоже найдете там что-то полезное для себя.

Отношения с заказчиком: личный опыт
В работе фрилансера с клиентами есть нюансы, связанные со взаимным доверием. Расскажу только о том, с чем сталкивался.

Оплата
К счастью, меня лично с деньгами еще ни один заказчик не обманывал — все 100% оплачивали работу. Но даже и без встреч с мошенниками фрилансер не застрахован от того, чтобы сделать часть работы, а затем узнать, что клиент передумал и отменяет заказ.

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

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

Сроки
Когда вы только начинаете, есть большой соблазн ухватить заказ покрупнее и подороже. Но, на мой взгляд, спешить с этим не стоит. Начните с малого и посмотрите, сможете ли сдать работу в срок. Можно взять несколько небольших заданий, что-то делать параллельно и, опять же, следить за дедлайнами.

Лучше набрать опыт и позитивные отзывы клиентов на небольших заказах, чем сорвать крупный проект и получить дурную славу. Постепенно вы набьете руку и убедитесь, что готовы к масштабным задачам.

Благодаря ответственному подходу и репутации надежного специалиста вам будет проще получать крупные заказы в будущем.

Об играх
Есть у меня пара проектов-любимчиков:

  • Многофункциональный сайт для нескольких игровых серверов, которые я держу;
  • Консольная игра, которую я задумал по курсу Python. Зачем я пишу текстовую игру на Python, если могу изучать Unity 3D на факультете разработки игр? Это своего рода тест моей идеи. Если она привлечет интерес, у игры появится графическое воплощение на Unity. Сейчас проект на этапе разработки сюжета.

Это будет однопользовательская детективная игра, где нужно воссоздать цепь событий и раскрыть дело.

Подобных игр сейчас выходит много, особенно на телефонах. И я заметил в них один любопытный минус, который убивает желание не то что повторно, но и вообще проходить их до конца. Это вдохновило меня сделать собственный проект, где подобного минуса не будет. Что именно я изменю — пока оставлю секретом. Даст Бог, не брошу это дело и доведу до конца.

Инди vs рутина
Если бы меня спросили, кем я хочу быть в игровой индустрии: инди-разработчиком-одиночкой или сотрудником большой студии, я бы выбрал первое. Почему? Потому что мне ближе творчество и свободное мышление, нежели исполнение чужих задумок в утвержденные кем-то другим сроки.

Мне интереснее, когда никто не стоит над душой и не ставит четких рамок. Когда я сам выбираю режим работы — без многочасовых перегрузок в офисе и бессонных ночей с мыслью «только бы успеть до релиза!». Лучше я выпущу продукт, когда буду уверен, что он готов. И оставлю себе время, чтобы как следует его протестировать.

Идей много, но хочется создать что-то новое, чтобы пользователи назвали продукт не просто «классным» или «отличным», а чтобы сказали "WOW!"

Почему Python?
Изначально первым языком я хотел учить C#, но только для себя, как хобби. Это желание возникло НЕ спонтанно — я долго присматривался, думал, с чего начать. На C # остановился, потому что он подходил для конкретной задачи. Выше я упоминал о своих игровых серверах. Там у меня крутится игра Rust от FacePunch Studio, сделанная на движке Unity 3D и, соответственно, на C#.

Чтобы добавлять в игру новые функции, можно писать свои плагины. И вот каждый раз при установке таких плагинов мне приходится их редактировать. Естественно, для этого надо понимать хотя бы основы языка. Либо можно заказывать код кому-то, но это дополнительные расходы. Так я и пришел к необходимости учить C #.

Однако не тут-то было. Я начал смотреть уроки и понял, что сложно. Курс «C # Уровень 1» я перепроходил раза три, прежде чем начал что-то понимать. Это нормально. Все говорят, что «главное не сдаваться», и это правда. Несмотря на сложности, я решил, что вернусь к С# со временем. Но поскольку после первого уровня я временно приостановил занятия, до веб-разработки на ASP.NET, например, не дошло.

После этих первых ошибок один знакомый посоветовал мне начать заново — с Python, — чтобы позже проще было вникать в более сложные языки. Я согласился и поступил на факультет Python-разработки.

Python для меня — второй любимый язык после C#. Почему только второй? Понимаете, это как любовь. Вы не можете сказать, что полюбили кого-то за темные волосы. А если этот человек завтра перекрасится, тогда что? Разлюбить? И вот симпатию к C# объяснить логически мне так же трудо. Мне нравится, как на нем можно писать разные вещи. Кто-то скажет то же самое про язык Java, например.

Сейчас я максимально сосредоточен на Python. И новые личные проекты, о которых говорил выше, буду реализовывать именно на этом языке.

Мой обычный день
Да, совмещать учебу с работой в торговле непросто. Начальство составляет график, как удобно ему, а не вам. Бывает, приходится брать с собой на работу ноутбук, чтобы в обед посмотреть хоть половину урока по программированию.

К счастью, закон оставляет нам право на выходные. :) Именно в дни отдыха я могу полноценно уделять внимание учебе и своим проектам. Особенно люблю работать по ночам — в это время приходят лучшие идеи.

Свободное время предпочитаю проводить один. Именно в одиночестве человек может максимально сосредоточится на чем-то. Восстановиться после рабочего дня лучше всего помогает крепкий здоровый сон :)

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

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

GeekUniversity дает год опыта
Разработки игр для вашего резюме

Для вас откроется в 4 раза больше вакансий!

Диаграмма

Статистика по данным сайта hh.ru за 2017 г. по запросу «Разработчик игр»

Факультативы от компаний

Дополнительные курсы от компаний-партнеров

В разработке и проведении обучения участвуют ведущие технологические компании России. Вы узнаете больше о технологиях и инструментах, используемых реальным бизнесом для создания IT-продуктов.

  • 3D-моделирование и текстурирование объектов

    Пайплайн создания 3D модели в игру на примере игрового объекта. Программные пакеты 3ds Max и Substance Painter.

  • Создание визуальных эффектов на базе Unity3D

    Шейдеры для эффектов. Создание основных типов эффектов - частицы, трейлы и модели. Работа с анимацией элементов эффектов

Проекты студентов

В каждой четверти студенты выполняют проект самостоятельно или в команде. Посмотрите на проекты наших студентов уже после первых месяцев обучения:

  • Tower of Avarice

    Работа студента по итогам I четверти обучения

  • The Thing

    Работа студента по итогам I четверти обучения

  • Pirates

    Работа студента по итогам I четверти обучения

  • Archer Souls

    Работа студента по итогам I четверти обучения

  • Moonlight

    Работа студента по итогам I четверти обучения

  • Shooter

    Работа студента по итогам II четверти обучения

  • Dream Keeper

    Работа студента по итогам III четверти обучения

Эксперты отрасли о программе

E1

Борис Добродеев

Генеральный директор Mail.ru Group

Любая крупная IT-компания испытывает постоянную потребность в квалифицированных разработчиках. Поэтому проект GeekUniversity важен как для начинающих программистов, так и для работодателей IT-индустрии. Главное преимущество, на мой взгляд, заключается в получении практических навыков программирования. В GeekUniversity происходит погружение студентов в сферу разработки через общение с экспертами Mail.ru Group и других IT-компаний, а также совместную работу над реальными проектами.

Преподаватели

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

Через год практического обучения вы

Освоите современные технологии Разработки игр

C sharpC#
Unity3dUnity 3D
MysqlMySql
SqlSQL
GitGit
OculusOculus
XmlXML
JsonJSON

Приобретете компетенции, необходимые для создания собственного проекта или работы в крупной IT-компании

  • Навыки программирования на языке C#
  • Навыки разработки 2D и 3D игр на Unity 3D
  • Разработка мобильных игр
  • Разработка игр с дополненной реальностью
  • Программирование под очки виртуальной реальности
  • Работа в команде
  • Умение работать с GIT
  • Знание принципов ООП и паттернов проектирования
  • Компьютерные сети и сетевая безопасность
  • Навыки успешного прохождения собеседований и общения с заказчиками
  • Навыки проектирования архитектуры, использования шаблонов проектирования, принципов SOLID, следованию code style

Получите свидетельство установленного образца и сертификат

Мы проводим обучение на основании государственной лицензии № 038188. По результатам успешного завершения обучения выдаем выпускникам свидетельство установленного образца о завершении курсов и именной электронный сертификат на портале GeekBrains и Mail.ru Group.

СертификатСвидетельство
English dom v2
EnglishDom.com — онлайн-платформа для изучения английского языка
  • 8 лет на рынке обучения английском языку онлайн.
  • 14 курсов уровня от Elementary до Advanced.
  • Более 10 000 студентов.
  • Индивидуальные уроки по Skype.
  • Разговорные клубы онлайн.
  • Онлайн-курсы для самостоятельного обучения.
  • Приложения для тренировки грамматики и словарного запаса.

Purpose of the day

Онлайн-курсы
  • Изучение английского в игровой форме по готовой программе.
  • Программы для начинающих и продвинутых, а также спецкурсы:
    • английский для IT;
    • английский для собеседования;
    • бизнес-английский и другие.
  • Курсы можно проходить в браузере и приложении для смартфона.
  • При самостоятельном изучении языка предоставляется 3 месяца премиум-подписки на курсы.
  • Финальное тестирование.
  • Сертификат, подтверждающий знания.

Home work

Разговорные клубы онлайн
  • 1 месяц подписки без лимитов по посещениям.
  • Возможность прокачивать навыки устного общения в удобное время.
  • Возможность выбора темы общения.
  • Онлайн-занятия с преподавателем в малых группах. Преподаватель исправляет ошибки и направляет обсуждение в рамки темы.

Lesson on the platform

Бонусы

Бонус предоставляется всем новым студентам EnglishDom.
Бонусом можно воспользоваться, если студент не активировал другой промокод по этому продукту раньше. Например, если был использован бонусный доступ к онлайн-курсам, в дальнейшем бонусами можно оплатить индивидуальные занятия по английскому или разговорный клуб.

Small
База обучающих мастер-классов и воркшопов
Доступ к GeekClub
В GeekClub собраны самые популярные и востребованные материалы: теория + практика. Участники GeekClub получают доступ к большой базе обучающего контента.
06fca7591c94ce149a0c7b424ec8c3a0
Видео-курс
Английский для IT-специалистов
Продолжительность
10 уроков
Курс, разработанный совместно с школой EnglishDom, поможет освоить ключевые англоязычные темы, актуальные для начинающих IT-специалистов. Максимум практики и фокус на IT-лексику. На 10 уроках разбирается составление CV, технических заданий и деловых писем, собеседования и переговоры, международное общение при продвижении своего проекта. В живых диалогах на английском студенты закрепят фразы, которые пригодятся в работе разработчикам и тестировщикам, маркетологам и дизайнерам.

Вы научитесь

  • проходить собеседования и писать CV;
  • обсуждать проекты и проводить переговоры;
  • переписываться в чате, составлять техзадания и писать деловые письма;
  • понимать носителей языка и читать зарубежные блоги.

Программа курса

Урок 1. IT resume sample

Составляем резюме на английском.

Урок 2. Job interview: questions and answers

Проходим собеседование на английском.

Урок 3. Effective teams

Говорим о командной работе и процессах на английском.

Урок 4. Workplace communication

Английский для общения по телефону и Skype.

Урок 5. Business e-mails

Ведем переписку на английском.

Урок 6. Requirement specifications (SRS)

Читаем и составляем техническое задание на английском.

Урок 7. Stand-up meetings

Становимся идеальным спикером.

Урок 8. Deadline

Выполняем работу в срок и по-английски.

Урок 9. Challenge

Описываем и решаем проблемы по-английски.

Урок 10. Start up

Рассказываем о своем проекте и представляем команду на английском.

Стоимость обучения
12 500 ₽ / месяц
10 000 ₽ / месяц
Возможна банковская рассрочка без первоначального взноса и переплат
До конца скидки
Начало занятий
19 ноября, 23 ноября
Продолжительность
12 месяцев
Бесплатный звонок по России 8 800 700-68-41

Отзывы

Ученики оставили 3200 отзывов о курсах факультета