Недавно я опубликовал это на Reddit, но посчитал, что это достаточно важно, чтобы снова опубликовать здесь.

Одна из самых распространенных тем, которые я вижу у новичков или людей, изучающих новый язык, — это вопрос «Что мне построить?»

Проблема не в самом вопросе, а в том, что так много людей хотят построить что-то, что одновременно:

  1. Полезно для всех (например, может быть популярным проектом с открытым исходным кодом), и
  2. Достаточно просто, чтобы они могли построить его как свой первый, второй или даже пятый проект.

Мой совет - перестать это делать. Забудьте о (1). Сосредоточьтесь исключительно на (2) — поиске проектов, которые вы действительно можете выполнить в разумные сроки.

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

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

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

Все мои первые 10–20 проектов были мусором. У меня больше нет исходного кода, но если бы я сделал это и вы, и я, мы бы посмеялись над тем, насколько бесполезными они были в своей окончательной форме. Но где они были полезны, так это в том, что научили меня делать новые вещи.

TL;DR — Создавайте вещи, которые научат вас и подтолкнут к новым знаниям, но держите масштаб достаточно маленьким, чтобы вы действительно завершили проект.

Первоначально опубликовано на www.calhoun.io 19 апреля 2017 г.