ДНЕВНИКИ ЛАГЕРЯ КОДА
Как выбрать учебный курс по программированию и специализацию
Выбор первого языка программирования и фреймворка из моря возможностей
У меня была возможность поехать в Японию два года назад, и это был невероятный опыт. Находясь там, я помню, как зашел в пекарню с огромным количеством искусно приготовленного хлеба и выпечки. Я не мог прочитать знаки, описывающие, что представляет собой каждый предмет, и чувствовал себя чрезвычайно подавленным выбором. Я ходил взад и вперед, глядя на эти съедобные произведения искусства, не имея возможности сделать осознанный выбор, что попробовать. Я хотел по одному каждого.
Именно это я и почувствовал, когда, выбирая учебный курс по программированию, мне был представлен примерно один миллион языков программирования и фреймворков, о которых я никогда не слышал. Каждый из них звучал круче предыдущего, и я понятия не имел, что внутри них. Я чувствовал (и до сих пор чувствую) ошеломленный количеством новых блестящих вещей, которые сидят и ждут, когда их уберут с полки.
Однако, в отличие от загадки японской пекарни, выбор типа языка или структуры, на которой следует специализироваться, имеет более долгосрочные последствия и является гораздо более дорогостоящим (средняя цена учебного лагеря по кодированию в США составляет 11450 долларов США, а среднее время вложения 14 недель). Даже после того, как я сам пережил это, эти числа вызывают беспокойство, и я знаю, что мои товарищи по когорте согласятся. Делая этот вид инвестиций, кажется важным придумать четкое представление о том, в каком направлении вы движетесь. В то же время не так просто стать информированным потребителем, если вы еще не говорите на языке (ах).
Ну так что ты делаешь? Как ты решишь?
Общаемся с профессионалами
К счастью, есть много людей, которые не только говорят на этих иностранных языках, но и хотят помочь другим. Все, что вам нужно сделать, это спросить. Если вы знаете кого-то, кто прошел учебный курс или стал инженером с нетрадиционным образованием в области информатики, спросите его об их опыте. Это не только хороший способ выбрать область специализации, но и действительно хороший способ решить, действительно ли вы хотите двигаться дальше по пути обучения программированию в целом.
Мне посчастливилось познакомиться с горсткой людей, которые участвовали в различных программах, поэтому я воспользовался Slack, текстовыми сообщениями, электронной почтой и личными встречами за кофе, чтобы узнать их точку зрения. Я также попросил пару коллег взглянуть на пакеты учебных программ из учебных лагерей, которые я рассматривал, потому что я абсолютно не понимал, что такое Ruby, и не знал, «лучше» или «хуже», чем Python. Получение информации от профессионалов было и остается бесценным.
Если вы не знаете никого, кто бы уже прошел через такую же ситуацию и процесс принятия решения, не волнуйтесь. Есть ресурсы, простирающиеся дальше, чем может увидеть глаз во всемирной паутине.
- Люди любят говорить о себе (и кажется, что еще больше людей любят снимать себя, говоря о себе), так что воспользуйтесь этим. Я не могу сказать вам, сколько видео на YouTube я смотрел или средних блогов я прочитал в процессе принятия решения.
- В наши дни также очень легко общаться с людьми в Интернете через Twitter или LinkedIn, и если вы все же решите сменить профессию, вам, скорее всего, в какой-то момент все равно придется использовать эти платформы. Можешь сейчас же заняться этой практикой.
- Наконец, такие сайты, как Отчет о курсе, позволяют легко сравнивать статистику и отзывы по геолокации.
Выбор учебной программы
Теперь, когда вы все же выбираете программу или учебный лагерь, вы неизбежно выбираете языки, на которых будете изучать и, следовательно, «специализироваться» - по крайней мере, вначале.
Если вы понятия не имеете, что делаете, это действительно полезно и полезно, потому что профессионалы, заинтересованные в вашем успехе, подбирают для вас материал, который вы изучите. Кроме того, все эти программы кодирования, оснащенные профессионалами, выбирающими учебную программу на основе текущего технологического ландшафта, конкурируют с другими программами кодирования, у которых есть свои собственные специалисты, которые выбирают учебную программу на основе текущего технический ландшафт, так что в этой игре довольно много скина. Когда вы изучаете языки программирования, которые соответствуют желаниям работодателей, это беспроигрышный вариант. Все, что вам нужно сделать, это прийти и научиться.
С другой стороны, если вы идете по пути самообучения, последнее слово во всем, что вы изучаете, остается за вами, что, в зависимости от вашей конечной цели, является отличным способом получить специализацию. Конечно, если вы окажетесь в лагере «Я понятия не имею, что это за языки», я бы порекомендовал вам все же сравнить и изучить учебные программы нескольких хорошо известных программ, чтобы обосновать свое решение. И, если вы учитесь программировать с целью в конечном итоге перейти к карьере в этой области, чтение текущих сообщений о вакансиях вашей мечты - отличный способ составить собственный план того, чем следовать (если вы принимаете эти описания с недоверием, учитывая, что невозможно быть экспертом во всем!).
Одним из огромных преимуществ самообучения является то, что вы можете узнать именно то, что вам нравится больше всего. Не секрет, что страсть к изучаемому материалу сделает весь процесс более приятным. И пока то, что вы изучаете, согласуется с тем, что востребовано с точки зрения работодателя (или если они совсем не совпадают, а вы учитесь просто для развлечения), вы будете золотыми.
Определение успеха (и чего я могу упустить?)
С учетом всего сказанного, нарисовать картину того, как выглядит успех для вас, на мой взгляд, лучший способ решить, чему учиться, на чем специализироваться и как этого добиться.
Для меня успех выглядит как получение должности инженера-программиста и превращение ее в карьеру с гарантированной работой. Для этого я решил специализироваться на языках программирования и фреймворках, которые в настоящее время используются в самых разных командах разработчиков. Большой из них - это JavaScript, а точнее React.js. Имея это в виду, я посетил учебный лагерь, где этот предмет был включен в учебную программу, и я продолжаю укреплять и расширять свои знания после учебного лагеря.
Какая у вас история? Какова ваша конечная цель? Какие области знаний вам понадобятся для достижения этой конечной цели?
Теперь, даже с учетом всего этого, FOMO реален, и я провожу много ночей в постели, думая про себя, что на самом деле я не доживу до тех пор, пока не выучу Python, Angular, Java, Vue или еще миллион вещей. Я размышляю о том, что я соревнуюсь с людьми, которые потратили четыре или более лет на формирование своей собственной специализации по основам, и о том, что я никогда не смогу наверстать упущенное. Хотя эти мысли абсолютно нормальны, такое мышление также совершенно нездорово. Просто невозможно втиснуть ученую степень по информатике в 15-недельный учебный лагерь. С другой стороны, эти чувства заставляют меня выбирать, чему учиться дальше, и я не буду лгать, что благодарен за удар в штаны. Пока мы осознаем себя, верно?
Может быть, основная мысль заключается в следующем: чем больше вы узнаете, тем больше открывается мир и вы понимаете, насколько еще нужно учиться (и сколько вы даже не осознаёте, что нужно учиться). Это в значительной степени пугает, но эта классная вещь происходит тогда, когда теперь вы вооружены знаниями, которых у вас не было раньше, и эти знания со временем повышают беглость в предмете, что позволяет вам принимать обоснованные решения относительно того, в каком направлении вы хочу пойти.
Итак, если вы чувствуете себя подавленным выбором и не знаете, как решить, с чего вообще начать, помните, что все, что вам нужно, это некоторый самоанализ, немного хороших исследований и мнение других людей, которые были на вашем месте.
Как классно написал доктор Сьюз:
«У вас в голове есть мозги.
У вас ноги в обуви
Вы можете управлять собой
В любом направлении по вашему выбору
Ты сам по себе. И вы знаете то, что знаете ».
И именно ВЫ решаете, какой язык программирования или (японская выпечка) выбрать.