Если вы когда — либо пытались стать разработчиком, то вы несомненно уже обнаружили, что процесс этот не из легких и вы не единственный, кто испытывает определенные трудности. Обучение коду — процесс действительно не из легких и многие люди терпят неудачу, особенно те, которые пытаются обучаться онлайн самостоятельно.
Так в чем же разница между теми, кто терпит неудачу и теми, кто в этом преуспевает? Многие из нас, повстречавшись с первыми трудностями, начинают думать, что им это не дано и они не созданы для программирования. Другие думают о том, как стать лучшими в своем деле и тратят тысячи долларов на обучение в колледже или обучающие курсы, чтобы найти себе учителей или наставников, которые им помогут.
Многие из нас начинают думать, что они должны знать условные X, Y и Z, для того чтобы преуспеть, а через пару недель они понимают, что они учатся не так как следовало бы и переключаются на что-то новое. Этот процесс может затянуться на долгие дни и годы и таким образом, мы так ничему и не научимся. Но позвольте мне сказать вам правду… качество кода и языки программирования, которые вы выбрали и на которые рассчитывали, едва ли важны, ведь практически каждый из нас достаточно умен, чтобы начать писать хороший код.
Звучит безумно, не правда ли?
На самом деле это правда, потому что единственное, что имеет значение, гораздо проще понять и куда труднее достичь… Несмотря на то, что обучение коду — процесс чертовски сложный, даже если вы выбрали один определенный язык или технологию, даже если вы наконец нашли своего учителя и наставника, взамен множеству различных ресурсов и программ обучения — это практически не имеет никакого значения. Единственное, что действительно важно — это ваша настойчивость.
Вот прямое следствие этого утверждения: почти каждый из нас, кто настойчиво учит код достаточно долгое время, в конечном итоге получает работу и строит свою карьеру в качестве разработчика.
Возникает резонный вопрос:
Как мотивировать себя и поддерживать свой настрой в течении долгого времени, чтобы достичь желаемого успеха и стать разработчиком?
Школы, университеты, различные курсы дополнительного образования, по статистике, заканчивают большее число обучающихся, чем различные онлайн-курсы. Люди успешнее завершают свое обучение с помощью таких школ и университетов, а процент «отсеивания» студентов гораздо ниже, чем среди тех, кто учится самостоятельно. Но почему же так происходит и в чем тут закономерность?
Основная причина в том, что человек, обучающийся в каком — либо из учебных заведений, получает поддержку. У него есть свои руководители, в лице учителей и преподавателей, существует некая отчетность в виде оценок и экзаменов — все это помогает ему продолжать обучение в течении длительного времени:
- Учителя расскажут вам, что именно вы должны учить в данный момент времени
- Школьный класс, или студенческая аудитория, которые вы посещаете — дисциплинируют вас
- Различные сроки сдачи, тестирования и экзамены, заставляют своевременно получать и закреплять ваши знания
- Ваши одногруппники поддерживают вас, ведь они получают те же знания и испытывают те же трудности, что и вы
Некоторым повезло больше и они могут позволить себе обучение в университетах и иных образовательных учреждениях, где учат программированию.
Но как быть всем остальным?
Именно поэтому я запустил свою онлайн-школу для разработчиков, где учащиеся пишут код для определенных проектов по группам в течении 8 часов в сутки. Это позволяет им научиться работать и писать код для реальных проектов в команде, каждый из них подотчетен друг другу внутри своей группы — это условие и создает некоторую мотивацию для обучающихся. Помимо этого, все участники внутри групп распределены таким образом, чтобы все обучающиеся, по возможности, были из разных частей света — таким образом мы учим их работать, разрушая географические барьеры между ними.
Помимо всего этого, мы приняли решение не взимать плату со студентов до тех пор, пока они не закончат обучение и не начнут зарабатывать деньги и строить свою карьеру в качестве разработчиков — таким образом мы хотели разрушить финансовые барьеры.
Однако, что если вы все же решили не посещать различные учебные заведения и учиться кодить самостоятельно? В чем будет ваша мотивация и где вам искать поддержку, чтобы учиться достаточно долго?
В этом случае, я могу дать вам 6 советов, которые, я верю, помогут вам в этом:
Совет №1: выберите язык и просто учите его!
Сегодня, некоторые языки программирования более популярны, чем другие. Однако «мода» на них меняется достаточно быстро, поэтому выберите тот язык, который вам действительно нравится и продолжайте усердно заниматься им.
Попробуйте выбрать общие языки программирования (например, Python, Java, Ruby), а также узнать наиболее популярную структуру для этого языка (например, Ruby on Rails). Если вы хотите стать фронтенд разработчиком, то HTML, CSS, и JavaScript — языки, на которые вам прежде всего стоит обратить свое внимание. Если у вас есть время и силы, то также начните изучать один из фреймворков JS (например, React, Angular, Vue.js).
Вы всегда сможете найти нужный вам язык программирования — однако все это не имеет значения, если вы не сможете изучить их полностью.
Совет №2: Придерживайтесь ежедневного графика
Если у вас есть возможность учиться полный рабочий день — делайте это. В противном случае, будьте реалистами, определяясь с тем, сколько часов в день вы смогли бы посвящать учебе. Составьте себе ежедневный и еженедельный график, исходя из своих возможностей и придерживайтесь его!
Совет № 3: Найдите себе подходящее рабочее место
Шумное и многолюдное место, с сотнями различных отвлекающих факторов — не лучшее место для учебы. Найдите себе тихое и укромное место, включите фоном инструментальную музыку в наушниках и отключите все уведомления на вашем компьютере и смартфоне и т. д.
Совет № 4: Определитесь с дедлайнами
Почти каждый учебный курс или программа, рассчитаны на определенную продолжительность в часах, которая требуется для успешного усвоения информации. FreeCodeCamp, Odin, Udemy — все они ограничивают свои учебные программы во времени.
Используйте их учебные программы в качестве примера, чтобы составить свой, индивидуальный график обучения. Если определенный раздел должен занимать у вас 20 часов для изучения, подумайте, включает ли в себя этот раздел время на практическую работу (например, кодирование) или нет. Если это так, просто добавьте 15% дополнительного времени. Если это не так, умножьте это время в 2–3 раза, потому что вы должны тратить гораздо больше времени на кодирование, чем на теоретическое изучение кода.
После этого разделите количество часов, которое у вас получится, чтобы завершить этот раздел, на количество доступных часов для обучения в день. Теперь вы знаете, когда вы должны закончить этот раздел. Создайте себе заметку в календаре для напоминания — эта дата и станет вашим дедлайном.
Совет № 5: Найдите себе партнера
Вам нужен человек, который так же как и вы, желает выучить определенный язык программирования, обладающий примерно тем же уровнем знания и умений, который будет готов посвящать учебе примерно столько же часов в день, что и вы.
Найдите человека со схожими целями и вместе с ним продумайте свой план обучения и по возможности, старайтесь обучаться вместе ежедневно. Еще лучше, если вы попробуете писать код вместе. Вы удивитесь, когда ваша продуктивность вырастет до такого уровня, какого вы никогда не смогли бы достичь в одиночку.
Может быть, этот человек есть среди ваших близких, или возможно он находится на другом конце света — сегодня, это не так важно. Главное, чтобы ваши цели и опыт были схожи и тогда вместе, вы достигните небывалых высот.
Если вы живете в одном городе, то договоритесь с вашим партнером о ежедневных встречах в одном и том же месте. Время, которое вы будете тратить на дорогу каждый день — стоит того, уж поверьте мне. Если же такой возможности у вас нет — попробуйте устраивать видеочат с вашим партнером каждый день на время обучения, как альтернативу.
Совет № 6: Найдите себе наставника
Легко сказать! Найти по-настоящему хорошего учителя достаточно трудно! Тем не менее, вы просто обязаны уметь налаживать контакты с разными людьми через Интернет — в конце концов, этот навык вам понадобится для дальнейшего устройства на работу! И если вы все же найдете такого человека, то попросите его иногда просматривать ваш код, делать вам замечания и давать вам советы по его улучшению! Поверьте — это стоит того!
Мотивация, целеустремленность, подотчетность самому себе и сверхчеловеческая сила воли — все это результат серьезной работы над собой и вне всякого сомнения, вы сами должны составить свой, индивидуальный график обучения, чтобы добиться успеха в поставленной вами цели — стать разработчиком.
Вы готовы всерьез за взяться за свое обучение?
Перевод статьи Ariel Camus: The One Reason why People Fail at Learning to Code and How to Avoid it