Классический программист – это в хорошем смысле замкнутый самодостаточный человек, которому интереснее копошиться в железе и коде, чем общаться с людьми. Хотя он при этом может быть достаточно коммуникабельным для командной игры. Чем хорош такой типаж: он больше делает, чем говорит.
Настоящему программисту работать с кодом всегда интересно, он воспринимает свою деятельность как творчество, хотя большинству людей этот труд покажется скучным и монотонным. Как результат, кодеры зарабатывают хорошие деньги, но за стабильную результативную и ежедневную работу. Халявы здесь нет.
Эта профессия подходит людям с инженерным складом ума, любящим точные науки, алгоритмы, упорядоченность и четкость. Но при этом творческим и высокоинтеллектуальным, пытливым и сообразительным, стремящимся оптимизировать процессы и готовым к рутинным операциям.
Каким людям не подходит?
Думаю, ты уже знаешь ответ на этот вопрос. Людям энергичным, любящим общение, которые с утра до вечера делают миллиарды дел, желают вдохновлять других и предпочитают все… кроме рутинного сидения за компьютером по 10 часов в день. Да, такие люди много где хороши, но только не в программировании. Но бывают и исключения.
Так что прислушайся к себе. Если ты готов писать код даже без денег, просто ради удовольствия и интереса, в никуда, «в стол», и ты реально тратишь на это свободное время – да, ты программист. Но если ты больше хвастаешься друзьям, как у тебя классно получается писать код, чем что-то делаешь, – скорее всего, ты маркетолог или евангелист.
Одним словом, профессия программиста, скорее всего, не подойдет для экстравертов, импульсивных и эксцентричных людей.
Одна из самых важных вещей, которая очень ценится в индустрии, – умение доводить начатое до конца. В начале карьеры это может быть не так очевидно. Сложные и объемные задачи всегда требуют уточнений. Не хватает чего-то по дизайну – сходите к дизайнеру и обсудите это с ним. Нет понимания, что должно происходить, когда пользователь выполнил определенные действия? Добейтесь этого понимания от владельца продукта, менеджера или заказчика. Задача готова только тогда, когда ею пользуются реальные люди, а конечный заказчик с гордостью показывает всем новый функционал. Можно потратить сколько угодно времени на написание кода, но в этом не много смысла, если им не будут пользоваться. Всегда старайтесь быть тем, кто доводит задачи до конца. Это прямой путь и к эффективной работе команды и компании и конкретно к вашему карьерному росту!
АРКАДИЙ КАРЕВ, старший разработчик ПО, «Райффайзенбанк»
Как начать?
У будущего программиста часто пятерки по математике, физике и другим точным наукам. Тут важно получить фундаментальные знания и классическое образование. Можно через онлайн-курсы, но оптимальный вариант – пять лет в университете.
И главное, уже со школьной скамьи ты можешь попробовать свои силы в создании игр на популярных движках. Начни разрабатывать свой инди-проект. Можно самому, но лучше с друзьями. Так ты подтянешь и теорию, и практические навыки. Конечно, твоя игра, может, и не будет красивой, актуальной, востребованной… Но это твой ценный опыт, который поможет тебе понять, как в принципе делаются игры, чтобы потом ты применил эти свои навыки при создании какого-нибудь Apex Legends volume 2.
Начинай изучать с помощью видео, мультимедийных учебников и книг различные языки программирования: C# и C/C++, Java, Javascript, SQL. Прямо сейчас! Найди наставника, черпай информацию с форумов.
Если планируешь связать будущую карьеру с робототехникой и не только, не помешает знание языка программирования Python.
Советую также уже начать изучать внутренность движков Unity и Unreal Engine. Придется сверять код каждый день, для этого есть репозитории систем контроля версий, например Git Github.
Программист – это прежде всего практик. Знание теории само по себе не имеет смысла, если ты не представляешь, как ее использовать.
Сколько зарабатывает программист?
В среднем – выше рынка. Они крайне востребованы. Зарплата начинающих программистов в игровой индустрии России и СНГ обычно находится в диапазоне $1000 (Junior, начинающий разработчик) – $2000 (Middle, разработчик, имеющий несколько лет опыта). Стабильные senior-программисты с хорошими академическими знаниями зарабатывают от $3000 до $5000 в месяц (часто такой программист отвечает за глобальное видение, проработку архитектуры проекта и менторство младших разработчиков). Программисты-гении, frontend, backend, которые умеют еще и хорошо геймдизайнить, вставлять графику, писать приложения, – от $5000 до $10 000.
Структурных программистов с фундаментальным знанием математики и языков программирования, разбирающихся в современных движках, – единицы. Компании постоянно переманивают их друг у друга, они всем нужны. Но повторю важную вещь:
Программистом точно нельзя стать только ради денег.
Все, кто пытался этим заниматься из-за перспективы получать $5000 в месяц, но работу свою не любил – быстро вышли из профессии. Ни один человек не сможет трудиться над проектом по 5–10 лет подряд только ради зарплаты.
Какие задачи нужно решать программисту?
Список реальных задач у программиста в игровой индустрии чаще шире того, что слышится в специальности. Являясь связующим звеном разработки, сегодня ты будешь программистом или архитектором, завтра – немного художником, позже критиком или игроком. Это делает работу интересной и вдохновляющей.
СЕРГЕЙ МАНЮХИН, Lead programmer, Zeptolab
Если в небольших командах по необходимости приходится становиться универсалом, то в крупных компаниях больше ценятся специалисты по конкретным узким направлениям. Например, создание игрового движка, пожалуй, технически самая сложная задача, которая под силу только настоящим профессионалам. Это очень ответственное дело, ведь потом твоими инструментами придется пользоваться другим, и от того, насколько они эффективны, а главное, удобны, напрямую зависит качество игры и сроки ее выхода на рынок. К слову, далеко не каждая игровая компания может позволить себе такую роскошь, как разработка собственного движка. Уж слишком это сложный и дорогостоящий процесс, который еще и не всегда бывает оправдан.
В истории видеоигр немало случаев, когда неудачный движок становился причиной провала всего проекта. Поэтому авторы хорошо зарекомендовавших себя движков продают лицензии на их использование. Самым знаменитым примером является Unreal Engine, первая версия которого предназначалась для разработки 3D-шутера Unreal, вышедшего в 1998 году. Позднее различные модификации Unreal Engine использовались при создании более сотни игр: Borderlands, BioShock, S. T. A.L.K. E. R. 2, Atomic Heart и других.
Сейчас крайне популярны игры на движке Unity – работать с ним очень легко и можно быстро создавать контент для любой платформы: мобильной, ПК, консольной, веб, VR/AR.