Зачем нужно осваивать программирование, если вы — не разработчик

Сергей Галёнкин («Как делают игры», Wargaming, Steam Spy) в своём блоге написал о том, почему основы программирования стоит освоить всем, кто хочет сохранить работу или найти новую — даже если в ваши планы не входит стать разработчиком. Хотим поделиться с вами этим материалом — уверены, он будет вам полезен:

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

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

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

Геймдизайнер, способный программировать на скриптовом языке, может выразить свою идею куда быстрее и понятнее с помощью кода, чем с помощью дизайн-документа на 50 страниц. Лучшие питчи — это моды для чужих игр или наброски в редакторе игр, которые можно попробовать тут же. Сид Мейер никогда не пишет диздоков, он пишет код.

Вы все слышали истории о том, что нужно потратить 10 тысяч часов на то, чтобы стать мастером своего дела. Это правило конечно не универсальное, но смысл в том, что да — экспертом за месяц не стать. А вот стать сильно лучше, чем новичок можно за 100 часов практики — и это совершенно достижимо даже в программировании, даже для тех, кто программировать никогда не пробовал.

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

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

В общем, не откладывайте программирование. Если вы аналитик или маркетолог, скачайте сегодня вечером Anaconda и возьмите какую-нибудь книжку по Python. Если вы геймдизайнер — поиграйте со скриптовым языком для какой-нибудь популярной игры в вашем жанре (Papyrus для Skyrim, NWScript для Neverwinter Nights, Galaxy для Starcraft II и так далее) — они обычно сильно проще полноценных языков и имеют кучу примеров от создателей модов.

Вам не нужно учить серьезный язык вроде C++ или даже C#, потому что они для программистов. Python, PHP, lua и некоторые другие интерпретируемые языки прощают множество ошибок и позволяют писать довольно разгильдяйский код. Не самый лучший выбор для программистов, но отличный для всех остальных, кто программирует для решения своих задач, а не для сотен тысяч благодарных пользователей. К тому же изучить такой язык куда проще.

Кстати, меня часто спрашивают, на чем написан Steam Spy и я обычно отвечаю, что PHP + JavaScript. Но на самом деле он написан на SQL, а крайне примитивный код в PHP+JS там только чтобы рисовать таблички и графики, причем тот же JS целиком состоит из вызовов чужих библиотек. Я не открываю код в общий доступ, потому что программисты его засмеют — и правильно сделают. Но это не так важно. Важно, что я его написал за один вечер, и он работает.

Да, вы не напишите новый движок или игру, как и велосипедист-энтузиаст не выиграет Tour de France. Но умение написать несколько строк кода вам очень пригодится в жизни.

 

Источник: блог Сергея Галёнкина