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

NOP
NOP::Nuances of Programming
6 min readAug 3, 2018

Перевод статьи Paul Rail: “Why I coded every day for a year, what I learned, and how you can do it, too

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

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

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

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

Начало

Начал я с выбора площадки, где бы я смог начать свое обучение. И мне сразу приглянулись два бесплатных ресурса Codecademy и freeCodeCamp, на которых было так много учебного материала, что я понял — мой процесс обучения затянется надолго. Но тогда я подумал, что чем больше я сейчас потрачу времени на обучение, тем больше мои старания окупятся в будущем.

Затем я нашел статью, в которой говорилось о челлендже под названием #100DaysOfCode. Условия испытания были достаточно просты:

  • Занимайтесь программированием минимум один час в день, сто дней подряд
  • Твить свой прогресс каждый день с хештегом #100DaysOfCode

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

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

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

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

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

Однако я понимал, что все еще не готов — мне нужно было продолжить обучение. Участвуя в челлендже #100DaysOfCode, я добился больших успехов и был готов продолжать свое обучение до тех пор, пока наконец не получу заветную должность. Что я в итоге и сделал, достигнув отметки в 150, 200, 250 дней программирования без перерыва…

Мои главные достижения

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

  • Успешно завершено множество учебных программ, курсов; прочитано множество учебной литературы
  • Решено более 100 алгоритмов и тестовых задач, которые дают на собеседовании
  • Заработал сертификаты «Front End Developer» и «JavaScript Algorithms and Data Structures Projects» от freeCodeCamp
  • Участвовал в двухдневном хакатоне, где мой проект был выбран для представления его совету директоров. В последствии, они решили продвинуть мой проект на следующий этап разработки
  • Получил место в одном из фулл-тайм интенсивов по программированию, с высоким уровнем отсеивания участников (около 96% всех участников были отсеяны)
  • Способствовал сайту freeCodeCamp в разработке бета-версии расширенной учебной программы
  • Создал учебный курс, посвященный изучению Ruby, для сайта Odin Project’s, чтобы помочь другим разработчикам в их обучении
  • Создал рабочий клон Facebook, весь back-end и front-end код я писал самостоятельно, с нуля. Сам проект до сих пор расположен в облаке Heroku и это один из лучших проектов в моем портфолио
  • У меня появился мой первый постоянный доход. Я работал удаленно, с возможностью, в перспективе, получить работу на постоянной основе

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

Не такой уж и легкий челлендж

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

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

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

  • Курс JavaScript за 30 дней
  • Курс React за 30 дней
  • Целое множество подобных 180 дневных курсов
  • Множество низкопробных курсов на Youtube, создатели которых делают свои обучающие программы на основе какого-либо учебника. Обычно, в неделю они проходят примерно по одной главе, затем обсуждают пройденный материал и делают домашнее задание

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

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

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

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

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

Читайте продолжение во второй части нашей статьи, в которой мы поговорим о том, что же делать, если вы все таки пропустили несколько дней своего челленджа, о приложениях, которые помогут вам отслеживать свой учебный прогресс и еще о многом-многом другом!

--

--