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

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

MoocSearch - это поисковик онлайн-курсов. Он собирает лучшие результаты поиска с таких сайтов, как Udemy, Udacity и других. Это как Momondo только для онлайн-курсов.

Вот 3 вещи, которые я узнал, начав побочный проект:

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

Прежде чем начать побочный проект, я всегда просматриваю все руководства по технологии, которую я хочу реализовать в своем проекте, в данном случае Udemy и Udacity. Это не только увеличивает количество времени, которое требуется даже для начала создания побочного проекта, но и демотивирует меня, потому что я перегружен огромным количеством информации, связанной с реализацией новой технологии / фреймворка. Более того, к тому времени, когда я закончу просмотр руководств, мне все еще нужно будет пересмотреть их еще раз, чтобы научиться на практике и познакомиться с реализацией технологии. Учебники - отличный источник информации, когда вы начинаете изучать незнакомую тему, но слишком сильно полагаетесь на нее при запуске проекта, это ограничит возникновение ваших собственных творческих идей, выходящих за рамки инструкций учебника. Во-вторых, многие учебные пособия будут начинаться с создания шаблонного приложения, такого как приложение To-Do, и пошагово рассказывать пользователям, как его реализовать. Это заставляет пользователей чувствовать себя прекрасно после завершения проекта, потому что они будут писать код и чувствовать удовлетворение. Однако после того, как я закончил обучение и начинаю создавать свое собственное приложение, я часто чувствую растерянность, не зная, как и с чего начать работу с приложением. Вместо того, чтобы просматривать все от начала до конца перед тем, как начать свой побочный проект, посмотрите учебное пособие при создании проекта, чтобы расширить технические возможности, которые вам могут не хватать. Это позволит вам понять не только то, как внедрить технологию, но и уточнить свой подход к решению проблем и навыки в различных сценариях. Когда я начал работать с MoocSearch, я провел некоторое исследование относительно того, следует ли мне реализовать приложение, начиная с внешнего интерфейса или из внутреннего интерфейса. Затем я создал свой первый обход проекта, пока просматривал руководства по сканированию данных с веб-сайтов. Если начать откуда-то, а иногда и откуда угодно, время, затрачиваемое на планирование проекта, сократилось, и у меня было руководство, которое поможет мне, если я застряну, вместо того, чтобы руководить проектом, которым я должен был руководить.

2. Не думайте слишком много о масштабируемости (пока).

В академической среде, особенно в вопросах собеседования, нас просят подумать о масштабируемости. «Достаточно ли хорош этот алгоритм?», иначе мы постараемся исправить это и сосредоточить так много времени на непрерывной интеграции, тестировании, архитектуре микросервисов и т. Д. Я потратил часов пытаясь изучить новые блестящие фреймворки и инструменты JavaScript вместо того, чтобы на самом деле создавать продукт.

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

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

3. Создайте целевую страницу и продвигайте свой проект с самого начала.

Сначала я думал, что показ целевой страницы или маркетинг вашего проекта в мире - это этап после того, как вы закончите создание MVP. Однако проект никогда не бывает идеальным, и вы никогда не будете удовлетворены MVP на 100%. Вы потратите часы на создание идеального MVP и еще много часов на кодирование этого идеального MVP в жизнь, но в конечном итоге обнаружите, что проект не работает с той толпой, к которой вы стремитесь. Вы потеряете много потенциальных пользователей, потому что не сможете показать им готовый прототип. Наличие целевой страницы помогает пользователям понять, что вы пытаетесь создать, будь то потенциальные пользователи или потенциальные работодатели. Вы также можете вести список адресов электронной почты заинтересованных пользователей и отправлять периодические обновления о статусе и ходе проекта. Когда я создавал MoocSearch, я не создавал целевую страницу. Когда я посетил Dev Week 2018 в Сан-Франциско, чтобы пообщаться с потенциальными работодателями, мне часто задавали вопросы: «Над чем вы сейчас работаете?», «Есть ли какие-либо побочные проекты, над которыми вы работаете? работают над? » Я часто рассказываю им о стороннем проекте, над которым сейчас работаю, и объясняю им, о чем идет речь. Однако все это концептуально, на целевой странице они смогут увидеть более наглядные и конкретные идеи того, что я пытаюсь создать. Кроме того, целевая страница позволяет вам создать список адресов электронной почты, и вы можете отправлять обновления о том, что ваш проект был завершен. Сразу после этого вы можете получить мгновенную обратную связь о созданных вами прототипах идей, чтобы не тратить время на то, что не работает, и тратить свое время на предложения, которые сработают. По ходу дела вы должны рассказывать о своем проекте и понимать, является ли проблема, которую вы решаете, «жизнеспособной» и «важной».

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

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

Большое спасибо Aeri за помощь в редактировании этого сообщения.

Больше примеров интересных сторонних проектов смотрите на моем личном сайте!