Как работать на полную ставку и вести собственный проект: советы разработчику

Перевод статьи Бена Гринберга «Tips For Maintaining A Side Project With A Full Time Developer Job».

Собственный проект и полноценная работа

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

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

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

1. Будьте реалистичны в постановке целей

На работе вы зависите от нужд бизнеса и обусловленных им временных рамок. Ваш босс со своего насеста следит за бизнес-планом в целом и работает вместе с вами над составлением расписания и выполнением задач таким образом, чтобы работа двигалась вперед. Иногда (ладно, может даже часто) на работе случаются накладки со временем, ведь нужно успевать заканчивать задачи к определенному сроку.

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

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

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

2. Будьте своей основной аудиторией

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

Лучший способ сохранять мотивацию для работы над чем-то, за что вам не платят и что отбирает ваши выходные и вечера, – любить то, что делаете. Вы увлекаетесь тем, на нужды чего нацелен ваш проект? Это нечто, о чем вы часто думаете? Говорите об этом за столом за ужином? Надоедаете коллегам во время перерывов на работе? Если да, то вы на правильном пути!

Я всегда увлекался Израилем. Эта тема засела в моем сердце, а идея однажды туда переселиться меня воодушевляет. Многие мои друзья туда переехали, и я люблю послушать их рассказы, связанные с этим решением. Осознание того, что народ, после тысячелетий бегства от преследований, теперь может свободно иммигрировать в свою собственную страну, впервые за почти 2000 лет, является ошеломляющим. Я хотел создать гостеприимное пространство, где те, кто уже пошел по этому пути, и те, кто только обдумывает, могли бы делиться своими мыслями в постах. Для подобного общения есть группы на Facebook и в WhatsApp, но для социальных медиа не подходит формат длинных статей. Поэтому я создал Rechov Aliyah.

3. Если вы – ваша единственная аудитория, это тоже ОК

Вы создаете проект, потому что думаете, что он удовлетворяет определенные нужды. Вы вкладываете много времени в его создание. Вы запускаете его. И… никто не подписывается (или подписываются лишь несколько человек). Пользовательская лихорадка не материализуется. Опускаются руки? Чувствуете некое разочарование? Это совершенно нормально, но в конце концов вы создали этот проект для себя. С его помощью вы научились новым способам что-то делать, расширили набор своих навыков. Вы взяли идею, жившую у вас в голове и сердце, и воплотили ее. Как прекрасно быть разработчиком и иметь возможность сделать это!

Приобретение пользователей требует большой работы. Помните Google Plus? Вы уже пользуетесь им регулярно? Не думаю. Почему нет? Одни из самых знающих людей в индустрии так тяжело работали над этим проектом. В конечном счете, нужно, чтобы много людей потянулось к новому сайту для распространения контента. Вам нужно, чтобы пришла масса людей. Как это сделать? Привлекая для этого массу людей. Как привлечь эту массу людей? Путем привлечения массы людей. Звучит как «Уловка-22»? Да, потому что это оно и есть.

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

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

4. Вы можете остановиться в любой момент

Помните, что это не работа.

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

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

Среди ваших пользователей кандидатов нет? Не бойтесь тегать ваш репозиторий на Github в поисках новых участников. Возможно, так вы кого-нибудь найдете. На Practical Dev есть ежемесячные посты, в которых люди могут поделиться собственными проектами с открытым кодом, по которым они ищут помощи. Это может быть хорошим местом и для поиска партнера.

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

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


[customscript]techrocks_custom_after_post_html[/customscript]
[customscript]techrocks_custom_script[/customscript]

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх