Перевод статьи «Make side projects fun again».
Я не собираюсь поучать вас и убеждать в том, что у разработчика непременно должны быть личные проекты. Количество проектов не определяет их качество.
Также я не буду давать советов организационного характера. В интернете полно подобных статей.
Сегодня мы поговорим о том, почему ваш личный проект должен быть приключением. Без этого условия его ждет та же судьба, что и 99% других личных проектов: он будет заброшен и похоронен в глубине ваших папок.
Код — это средство, а не цель
Над своим первым проектом я начал работать летом 1999 года. Причем тогда я не думал об этом как о проекте. Я был еще ребенком и не умел программировать. Но у меня было серьезное увлечение: Final Fantasy 8.
Как мне было поделиться с кем-нибудь знаниями об этой игре? Я подумал, что самый логичный способ — веб-сайт! Уже через несколько минут после появления этой идеи я начал вставлять HTML-теги и пытаться отобразить контент на странице. Код! Я понятия не имел, как все это работает. Честно говоря, мне вообще было плевать на это. Я просто впал в транс и рассказывал о Final Fantasy 8 своему компьютеру.
Код — это способ создать что-нибудь. Это средство, а не цель. И это соображение — основа личных проектов.
Самое главное — выбрать то, над чем вы хотите работать, что вы хотите создать. Этот выбор определяет судьбу вашего проекта. Он поможет вам задействовать ваши возможности.
Невероятное могущество разработчиков
На работе вы постоянно, по 8 часов в день, делаете то, что вам сказали делать. Из-за этого вы склонны упускать из виду кое-что важное. Нечто уникальное для вашей профессии, то, из-за чего другие люди вам завидуют. Вы — творец.
Большинство людей, у которых рождаются интересные идеи, ничего не делают, чтобы воплотить их в жизнь. Они неспособны их реализовать. А вы это можете. Вы знаете, как вывести на экран то, что у вас в голове. Это акт творения в чистом виде. Потрясающее могущество.
Это могущество очень ценно. Но давайте посмотрим правде в глаза: мы с вами очень редко им пользуемся. Если подумать, это просто поразительно: мы можем сделать что угодно, но большую часть времени не делаем ничего. Код — универсальный инструмент нашего времени. И мы умеем пользоваться этим инструментом!
Я знаю, о чем вы думаете.
«И что с того? Почему я должен что-то делать? Ты, конечно, прикольный чувак, но я не хочу после работы снова заниматься работой. У меня нет никакой интересной идеи для проекта. И вообще, ты думаешь, у меня есть время на все это?»
Сейчас мы все это разберем.
Почему я должен это делать?
Здесь я по идее должен изложить список логических доводов, которые могли бы вас мотивировать.
- Чем больше вы практикуетесь, тем лучшим разработчиком станете.
- Личный проект сделает вас более привлекательным кандидатом в глазах рекрутеров.
- Реализуя свой проект, вы закрепите на практике все свои знания.
- Занимаясь личным проектом, можно изучить новые технологии.
Я также мог бы поговорить о страстной увлеченности разработкой. Но свое мнение на этот счет я уже выразил в отдельной статье. Пожалуй, из всего перечисленного я сделал бы упор на привлекательности для рекрутеров. Они с большей вероятностью обратят внимание на профиль с личными проектами.
Но даже облегчение поиска работы — недостаточно веская причина для того, чтобы заниматься сторонними проектами. Конечно, если вы — начинающий разработчик, только выходящий на рынок труда, вам нужны проекты, чтобы показать ваши умения. Но если у вас уже есть какой-то стаж в разработке, вы найдете работу довольно легко, и не важно, будут у вас личные проекты или нет.
Я знаю, что ни один из приведенных мной доводов не является достаточно убедительным, потому что все они разбиваются о правду жизни.
Я не хочу работать после рабочего дня
Мы подходим к сути того, что я хотел сказать. Большинство разработчиков начинают заниматься личными проектами по неправильным причинам.
Кто-то (возможно, блогеры вроде меня) прожужжал вам все уши о том, что разработчик без личных проектов — плохой разработчик. И когда вы почувствовали необходимость оправдаться, вы сделали решительный шаг.
Вы взяли первую попавшуюся идею из интернета, например, простейшее todo-приложение, и создали hello world. На этом все и кончилось. Это было полгода назад. И сама мысль об этом проекте вгоняет вас в уныние.
Вы никогда не закончите проект, который не приносит вам удовольствия. Я могу привести кучу логических доводов. Я могу рассказывать вам о карьере, заметности в интернете, развитии навыков и даже о деньгах. Но это не изменит простого факта: вы не будете работать над какой-то нудятиной после восьмичасового рабочего дня.
Начинать надо с удовольствия. Это единственное, что берется в расчет, когда нужно выбирать между Netflix и своим проектом.
Возможно, я буду слишком категоричен… Но если вы не находите ничего, что мотивирует вас больше, чем Netflix (без обид, я ничего не имею против Netflix), то не тратьте свое время на личный проект.
У меня нет идей проектов
На прошлой неделе я завершил свой проект — Across The Universe («Сквозь Вселенную»). Это трехминутный полет в космосе прямо в браузере. Я просто помешался на этом проекте.
Завершая рабочий день, я не мог дождаться, когда, наконец, смогу вернуться к своему космосу. Это была не рутина, а приключение! Как я придумал этот проект?
Помимо прочих вещей, я люблю играть в видеоигры, а еще увлекаюсь всем, что касается космоса. В какой-то момент я посмотрел вот это видео на YouTube. Часть, касающаяся пространственно-временных туннелей, вдохновила меня на попытку воспроизвести этот эффект в браузере. Шаг за шагом, и все вылилось в прекрасный опыт с сюжетом и музыкой.
Я своими руками создал путешествие сквозь Вселенную. Я был на седьмом небе от счастья! Это чистая радость, бурлящая в жилах.
Я не знаю, какой проект вызовет у вас те же чувства. Но могу сказать, что чтобы его найти, нужно начать с того, что вам нравится. Нужно начать с себя. Потому что при выборе проекта единственное, что имеет значение, — вы сами.
Не думайте о портфолио, наплюйте на оригинальность идеи. Начнет ли проект сразу же приносить деньги — тоже дело десятое. Вас не должно особо заботить, станете ли вы лучшим разработчиком, поработав над этим проектом. То, насколько проект полезен сам по себе, тоже не важно.
Вы будете заниматься проектом и доведете его до конца, только если он не будет для вас нудной рутиной. Я абсолютно убежден в этом. Все вокруг начинают проекты, имея неправильные резоны. На самом деле проект нужно начинать с ответа самому себе на единственный вопрос.
Что вы делаете для удовольствия? Выпиваете с друзьями? Играете в игры? Смотрите сериалы? Бегаете трусцой? Что бы это ни было, в этом занятии всегда есть место для творчества.
Кто-то делает что-то творческое, если ему нравится сам предмет, над которым он работает. Другому нравится делать API бэкенда. Третий в восторге от open source. Каждый что-то, да любит. Определите, что нравится вам, и это станет вашей отправной точкой.
Но есть еще одна огромная проблема.
Вы правда думаете, что у меня есть на это время?
Это действительно сложный вопрос. Я ж не идиот, я понимаю, что тайм-менеджмент — тяжелая задача. Семья, работа, друзья. У всех нас бывает загруженность по работе.
Опять же, предполагается, что я сейчас посоветую что-то типа «используйте утренние часы». То есть вставайте в четыре утра и занимайтесь своим проектом. Да, возможно, это сработает. Но это все равно некое принуждение себя.
Я предпочитаю более прагматичный подход.
Когда люди слышат о личных проектах, они зачастую представляют себе что-то огромное. А огромный проект, конечно же, поглотит все ваше время. Здесь нужно изменить свое представление о проектах.
Личный проект может быть чем-то очень маленьким, чем-то, что можно сделать довольно быстро. В прошлом марте, во время локдауна, я создал такой маленький проект. Это было браузерное приложение, реагирующее на ваше выражение лица (в проекте использовался искусственный интеллект). Мне редко случается столько смеяться, сколько я смеялся, занимаясь этой ерундой.
Разработка этого проекта заняла у меня всего несколько часов. Может, чуть больше, если учитывать исследования и написание статьи об этом.
Можете сколько угодно говорить о том, какое у вас плотное расписание, но все мы знаем, что немножко свободного времени все равно есть. А ведь просто поразительно, что можно сотворить, потратив всего несколько продуктивных часов в неделю. Несколько часов, проведенных продуктивно, — все, что вам нужно.
Наконец, я возвращаюсь к основной мысли своей статьи. Если ваш проект будет так же интересен вам, как Netflix, вы внезапно обнаружите в своем расписании довольно много свободного времени. В сочетании с небольшим масштабом проекта это позволит вам создать что угодно из того, что вам нравится.
Эпилог
Замените в своем личном проекте идею рутины идеей удовольствия, и я обещаю, что вы его завершите. Все другие резоны вторичны. В противном случае это становится работой. А вы и так работаете по 8+ часов в день. Я думаю, этого достаточно.
[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]