Мысли о создании вашего портфолио и новых навыков.

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

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

Поймите, почему вы хотите создать побочный проект.

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

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

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

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

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

Метрики для рассмотрения проекта.

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

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

Сопоставьте преимущества со своими приоритетами

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

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

Начинающие разработчики.

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

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

Новые разработчики.

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

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

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

Опытные разработчики.

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

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

Однако, если вы ищете работу, особенно с другим набором навыков, вы можете сделать упор на обучение и конкурентоспособность. Например, когда я перешел на разработку Elixir, я создал приложение для ведения блога, чтобы получить общее представление о синтаксисе Elixir и Phoenix. Это было не самое интересное, но в нем упор делался на конкурентоспособность, обучение и масштаб.

Последние мысли

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

Многие сторонние проекты хорошо работают по всем показателям. Вопрос лишь в том, какие показатели они больше всего соответствуют вашим текущим целям.

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

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