Моя история настолько далека от программирования, насколько это возможно. На тот момент я уже десять лет училась в школе. У меня есть степень магистра международных исследований и иностранных языков. Также я никогда не брала математических курсов в колледже, о чём теперь жалею. Всю свою жизнь я считала, что есть какая-то врождённая черта в моём характере, которая не позволяет мне быть хорошим специалистом в STEM¹. Конечно, я не отрицаю, что некоторые люди более успешны в конкретных дисциплинах, чем другие. Однако я считаю, что вас ничто не должно останавливать, если вы решили начать изучать что-то новое. Я осознала это слишком поздно.
В этой статье я хочу написать о том, каково это пытаться стать программистом, изучая всё самому. Я прочитала множество историй о том, как люди успешно меняли свои профессии учась кодить каждый день. В конечном счёте они уходили со своей работы текущей работы и получали работу мечты. В этой статье я хочу рассказать вам о трудностях, которые вам предстоит встретить, если вы желаете пойти по такому пути. Сколько вы тратите часов на изучение, казалось бы, простых понятий? Как часто вы себя спрашиваете, почему вы этим занимаетесь? А когда вы наконец решили проблему, то вы понятия не имеете, как вы это сделали. Я прошла через всё это. Я хочу показать людям, которым испытывают тоже самое, что они не одни это испытывают.
Летом 2017-ого, когда у меня были летние каникулы после школы, мой парень посоветовал мне начать программировать. В то время у меня не было ни малейшего понятия о том, зачем кодинг нужен и что ты можешь с этим сделать. Это было по-настоящему непостижимо. Я зарегистрировалась на Codecademy и медленно прошла курс HTML, едва начала CSS и бросила. Ввиду некоторых обстоятельств я не бралась за кодинг ещё несколько месяцев. Теперь перенесёмся в октябрь, когда я была без работы и не посещала занятия. Я чувствовала себя совершенно потерянной и боялась за своё будущее. И именно тогда я решила изучать вещи, которыми когда-то увлекалась, но забросила в дальнейшем. Это включало в себя изучение иностранных языков, чтение книг, тренировки и т.д. В итоге я вернулась на Codecademy, которая в свою очередь привела меня на Khan Academy. В этот раз я закончила HTML и CSS, начала изучать JavaScript, но быстро потерялась. Вместо того, чтобы сдаться, я задалась исследовательской миссией. Я скролила реддит и наткнулась на упоминание Гарвардских курсов CS50 на EdX. Я сразу же этим заинтересовалась. После прослушивания часовой лекции я была полностью увлечена. Профессор Дэвил Малан передавал заразительную энергию. Я хотела бы с таким же воодушевлением говорить о своих любимых предметах с комнатой, полной студентов. Тем не менее, когда дело доходило до решения задач, я не понимала, с чего начать. В конце концов, я не знала ни одного языка программирования, а курс начинался с С. Моей следующей задачей стало получить лучшее представление о том, что из себя представляют языки программирования.
После очередных длительных поисков я нашла FreeCodeCamp. Во многом он фокусировался на JavaScript, в котором я тоже не очень хорошо себя чувствовала. Вы могли бы подумать, что после всех этих скачков туда-сюда я могла бы сдаться. На самом деле нет. Я была мотивирована ещё больше. В конце концов я решила изучать Python через курсы “Введение в вычисления с помощью Python” Georgia Tech на EdX с профессором Дэвидом Джойнером. Таким образом следующие четыре месяца я потратила на изучение простых типов данных и алгоритмов сортировки. Это бы заняло у меня меньше четырёх месяцев, если бы в середине обучения я бы не получила повышение стипендии с помощью Google Challenge Scholarships для фронт-энд разработчиков. Позже я смогла получить стипендию второй фазы для Front End Nanodegree на Udacity. Я также получила стипендию за Self-Driving Car Nanodegree на Udacity и Google IT Support Award на Coursera. Между прочим это невероятно сложно! Я всегда старалась держаться подальше от онлайн-занятий в школе, потому что они требуют огромной самодисциплины и отдачи.
Моей главной целью в этой статье было дать какой-то универсальный впечатляющий совет, но я не могу ничего такого придумать. Если что-то из того, что я написала, каким-то образом утешает вас или резонирует с вами — тогда я счастлива. Я могла и вовсе никогда не стать программистом, а кодинг мог бы остаться всего лишь моим хобби, или я могла бы найти работу разработчика программного обеспечения в большой компании и прожить свою лучшую жизнь. Но что я действительно знаю, так это то, что я получаю огромную удовольствие от создания сайтов, решения кодерских задач и развития — для решения более сложных вещей. Это также расширило моё сознание и дало мне представление того, как я могу совместить программирование/технологии с региональными исследованиями. Теперь я более активна в студенческом городке с большим количеством людей и студенческих организаций. Получайте удовольствия от того, что вы изучаете — остальное придет само.
1 . Аббревиатура STEM расшифровывается как: S — science (естественные науки), T — technology (технологии), Е — engineering (инженерия), М — mathematics (математика).
Перевод статьи Shahlo: Journey of learning to code on my own