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

Так в чем разница между теми, кто терпит неудачу, и теми, кто добивается успеха?

Некоторые думают, что они не созданы для этого.

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

Многие другие люди думают, что им нужно знать технологии X, Y и Z, и через пару недель они понимают, что учились не тому, и переключаются на что-то новое. Они продолжают жить в этом порочном круге и никогда не могут научиться чему-либо достаточно хорошо.

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

Сумасшедший, правда?

Не совсем, потому что единственное, что имеет значение, гораздо проще понять и гораздо труднее достичь ...

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

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

Таким образом, возникает реальный вопрос:

«Как сохранить мотивацию и поддержку достаточно долго, чтобы дойти до конца?»

Школы, университеты и учебные лагеря обычно имеют низкий процент отсева по сравнению с онлайн-курсами. Задумайтесь об этом на мгновение. Это почему?

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

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

Есть ли у вас все это на пути к тому, чтобы стать разработчиком программного обеспечения? Если вы этого не сделаете, скорее всего, у вас не получится.

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

Но что насчет всех остальных?

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

Мы сделали нашу программу обучения на 100% распределенной, потому что хотели преодолеть географические барьеры.

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

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

Вот 6 советов, которые помогут вам в этом процессе.

Совет №1: выберите стек технологий и придерживайтесь его

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

Попробуйте выбрать общие языки (например, Python, Java, Ruby), а также изучите наиболее популярный фреймворк для этого языка (например, Ruby on Rails).

Если вы хотите заниматься фронтенд-разработкой, то единственное, что действительно имеет значение - это HTML, CSS и JavaScript.

Если у вас есть время, изучите один интерфейс JS-фреймворка (например, React, Angular, Vue.js).

Однако между всеми этими альтернативами нет реальной разницы, если вы не дойдете до конца.

Совет № 2: следуйте ежедневному графику

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

Определите повторяющееся ежедневное и еженедельное расписание, которому вы можете следовать, и думайте о нем как о посещении занятий в университете.

Совет № 3: найдите физическое пространство, способствующее сосредоточению внимания

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

Совет №4. Определите дедлайны

Практически каждый онлайн-курс предоставляет некоторую информацию о количестве часов, которое требуется на прохождение каждой части. FreeCodeCamp делает, The Odin Project делает, курсы Udemy делают.

Используйте это время как ссылку, чтобы составить план. Если данный раздел должен занять 20 часов, подумайте, включает ли это практическую работу (например, кодирование) или нет. Если это так, просто добавьте 15% дополнительного времени. Если этого не произошло, умножьте это время в 2–3 раза, потому что вам следует тратить гораздо больше времени на программирование, чем на просмотр видео или чтение.

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

Совет №5. Найдите партнера по кодированию

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

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

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

Это может быть кто-то из вашего города или далеко. Пока цели, графики и уровни опыта одинаковы, это будет работать как по волшебству.

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

Совет № 6: Найдите наставника

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

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

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

Готовы ли вы отнестись к этому серьезно?