Привет! Я — Алексей Яременко, сооснователь Stan’s Assets from KAPPS — украинской команды, которая работает с Moon Studios, One Signal и другими международными компаниями. Наши плагины долгое время находились в топ-5 по скачиванию в Unity Assets Store, и их используют более 100 тысяч разработчиков по всему миру.
Сейчас ситуация на украинском игровом IT-рынке такова, что спрос на разработчиков очень сильно превышает предложение. Мы, как компания, чувствуем это на себе: найти классных специалистов сложно, они разлетаются как горячие пирожки. Поэтому многие немного завышают свой карьерный статус. Они знают, что востребованы, хотя часто обладают меньшим набором качеств, чем нужно для позиции.
Мы составили список, чего же мы ждем от этих самых джуниоров, мидлов и сеньоров в компании.
Джуниор решает задачи в своей предметной области (в геймдеве — это инструменты языка программирования и игрового движка). Ему формулируют задачу в его терминах разработки:
Джун не умеет решать бизнес-задачи. Что это такое? Давайте рассмотрим на примере. Допустим, нам нужно дать пользователю возможность делиться результатами своей игры с друзьями. Вот это и есть бизнес-задача. И как имплементировать ее в реальность джун еще не знает. Конечно, от его уровня разработки это не требуется и для этого на проекте существует тимлид или куратор.
Еще от джуна ждут «огонька в глазах» и настоящего живого интереса к проекту, чтобы хватило сил и терпения впитывать множество новых знаний и очень активно развиваться.
Так мы и перешли к знанию базиса разработки. Сразу хотел бы дать совет: когда вы что-то начинаете изучать, начните с простых вещей. Но, пожалуйста, изучите их хорошо — это только положительно повлияет на ваше будущее.
Фундаментальные знания очень важны: например, на алгебре и геометрии строится мир 3D-графики.
Имея такой базис, если в один день вы захотите сменить движок — это не составит для вас проблемы. Ведь есть вещи, которые engine agnostic — это означает, что они, как законы физики, работают везде и во всем. Точно так же и в разработке: есть вещи, без которых никуда. Рекомендуем строить этот фундамент для вашей базы с самого старта карьеры.
Мидл решает задачи в пределах предметной области. Он умеет:
Тот же пример: если мидлу дать задачу создать возможность делиться с другими пользователями результатами вашей игры — с огромной долей вероятности он будет понимать, как это сделать, либо он знает, какие вопросы задать лиду, чтобы начать выполнение.
Его курируют, но он более автономный, чем джуниор. У него есть определенный багаж опыта и он, скорее всего, уже решал такую или похожую задачу. Но если это тотально новая задача, то без брейншторма или обсуждения обойтись не получится.
Сеньор способен решить любую задачу бизнеса и разговаривать с бизнесом на одном языке. Если вы это умеете, то уже не так важно, знаете ли вы какой-то фреймворк или нет. Очень важно подчеркнуть, что 10 лет опыта в разработке игр не делают вас сеньором. Номинальный стаж не отображается на вашем уровне, отображается понимание технологии и то, умеете ли вы решать задачи в бизнес-области.
Сеньор:
У «правильного» сеньора — много лет опыта не однотипной, а разноплановой разработки. Это позволяет ему быть технически развитым во многих аспектах и применять эти знания вместе, чтобы подходить к разработке проекта максимально правильно и обдуманно.
Кроме технических характеристик очень важны софт-скиллы разработчика. И, безусловно, тут нельзя не вспомнить открытость и откровенность. Когда девелопер объективно понимает свои пробелы и готов самостоятельно работать над ними — это очень ценно.
Также важна самоорганизация — как он строит свой рабочий день, чтобы быть максимально продуктивным и доступным для коллег. Спрашивает ли он советов, если не находит решений проблемы самостоятельно? Ведь очень часто не стоит убивать часы на то, что, вероятнее всего, кто-то из команды уже решил, и готов помочь. Тут просто жизненно необходимым навыком является общение с командой!
Помните, что вы работаете с людьми и в вашей фиче нет смысла, если вы не можете донести свою идею другому человеку.
Общайтесь, просите фидбек у команды, и да прибудет с вами успешное продвижение по карьерной лестнице гейм-разработчика!
Существуют ли универсальные правила, как же понять, кто из разработчиков джуниор, кто — мидл, а кто — сеньор? У каждой компании они могут отличаться. Но благодаря нашему большому опыту в работе с разными проектами и международными командами, мы вывели для себя те характеристики, без которых сложно поместить себя на ту или иную позицию в гейм-разработке.
Существует просто минимальный набор знаний, который мы ждем от нашего потенциального разработчика:
Если человек не использует эти базовые инструменты, то его даже сложно назвать джуниором. Это самые простые скиллы в Unity-геймдеве.
В благословенные офисные времена, когда не было большой войны и коронавируса, люди гораздо больше общались…
Вот две истории из собственного опыта, с тех пор, когда только начинал делать свою карьеру…
«Ты же программист». За свою жизнь я много раз слышал эту фразу. От всех. Кто…
Отличные новости! Если вы пропустили, GitHub Copilot — это уже не отдельный продукт, а набор…
Несколько месяцев назад мы с командой Promodo (агентство инвестировало в продукт более $100 000) запустили…
Пару дней назад прочитал сообщение о том, что хорошие курсы могут стать альтернативой классическому образованию.…