Не позволяйте побочным проектам уходить на второй план

Разработчики программного обеспечения во многом не согласны. У вас есть бесконечная плодородная почва для дискуссий о языках программирования, IDE, фреймворках, операционных системах, библиотеках, шаблонах, передовых методах или именах переменных-счетчиков. Мы все делаем согласны с тем, что ненавидим тратить время на код, который не принесет ощутимой пользы или, что еще хуже, будет удален через две недели. Имея опыт, мы довольно хорошо умеем вынюхивать этот код на расстоянии - наша обязанность всегда направлять свою работу на значимую территорию.

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

Мы всегда хотим получить максимальную отдачу от сторонних проектов, которые мы создаем. Кто знает, может, мы их даже добьем!

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



Во второй части я поделился списком 12 отличных идей для программных проектов, которые люди будут использовать.



Сегодня я поделюсь своими любимыми стратегиями, которые сделают ваши путешествия по сторонним проектам как можно более интересными.

1. Найдите партнера

«Если хочешь ехать быстро, иди одна. Если хочешь далеко уехать, идите вместе ». - Африканская пословица

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

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

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

2. Правило третей

«Черт, здесь нет никаких правил - мы пытаемся чего-то добиться». - Томас Эдисон

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

Выберите три основные технологии для вашего проекта по следующим характеристикам:

  • Технология, в которой вы считаете себя экспертом.
  • Технология, с которой вы экспериментировали.
  • Технология, которая для вас нова.

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

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

3. Знайте свою цель

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

От этого зависит успех наших побочных проектов.

Чем больше вы будете знать, почему вы реализуете проект, тем легче будет преодолеть все потенциальные проблемы. Когда дела идут плохо, именно качество изображения в вашей голове вашей цели будет держать вас на пути. Если у вас нет прочной основы, внутренней причины, которая движет вами, наиболее вероятным результатом будет то, что вы откажетесь от путешествия.

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

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

4. Маленькие вехи в большие цели

«Процесс погружения в черную бездну - для меня самая острая форма увлечения». - Х. П. Лавкрафт

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

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

Несколько вех, связанных вместе, могут привести вас к вашей целевой цели.

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

5. В темноте используйте мотиваторы

«Мы все в сточной канаве, но некоторые из нас смотрят на звезды». - Оскар Уальд

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

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

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

Сообщества вроде Indie Hackers, Product Hunt или Starter Story работают по-другому. Они заставляют меня понять, что разные продукты, более или менее оригинальные, с разной степенью совершенства, целевые пользователи и используемые технологии могут иметь одинаковый уровень успеха.

6. Поместите награды в свою дорожную карту и пожинайте их

«Не судите каждый день по урожаю, который вы собираете, а по семенам, которые вы сажаете». - Роберт Луи Стивенсон

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

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

7. Остановитесь, когда почувствуете, что вас не остановить

Не то, чтобы бросить курить. Я говорю об остановке Хемингуэя:

«Всегда останавливаться, когда у тебя все хорошо и когда ты знаешь, что будет дальше. Если вы будете делать это каждый день, когда пишете роман, вы никогда не застрянете. Это самое ценное, что я могу вам сказать, поэтому постарайтесь запомнить это ». - Эрнест Хемингуэй

Этот великолепный совет Эрнеста Хемингуэя применим как к программированию, так и к письму. И то, и другое - творческие начинания, от которых можно ожидать колебания уровня вдохновения.

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

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

Если у вас есть аккуратный временной интервал, где можно поиграть внутри, возможно, пришло время использовать правило третей: остановитесь, когда станет ясно, что будет дальше с одной из технологий. Если у вас еще есть 40 минут, перейдите в другую область вашего проекта и приступайте к разработке там кульминации.

8. Делайте это публично

«Я всегда делаю то, что не могу, чтобы научиться делать это». - Пабло Пикассо

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

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

Есть еще один уровень обучения, к которому нужно стремиться. Гуру обучения Скотт Янг придумал другой стиль проекта: эталонный проект. Это может показаться приятным и дать нам чувство практики, чтобы углубиться в новую веб-структуру, посмотреть все видео, прочитать все учебные пособия и выполнить все образцы проектов, но мы должны начать с определения четкого эталона, который определяет успех. .

Обратите внимание на разницу между четкими критериями, такими как «Сделайте 10 вкладов в проекты с открытым исходным кодом, используя веб-фреймворк X» и «Узнайте, как использовать веб-фреймворк X». Что побуждает вас к дальнейшим действиям?

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

Заключение

Иногда мы теряемся в сторонних проектах. Мы упускаем из виду то, что заставило нас их начать. Мы можем даже достичь цели, которую установили для себя, но поскольку она не похожа на финишную черту, с фанфарами, конфетти и азартом, мы останавливаемся или блуждаем вокруг 80%, что дает 20% результатов.

Это не так, как должно быть.

Ваш побочный проект считается завершенным, когда вы извлекли из него максимальную пользу, и не обязательно на финише.

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

Наслаждайтесь видами!