от кого-то с бессмысленной, не связанной степенью

Я закончила музыкальную консерваторию (которая даже не указана как школа на LinkedIn) в Лос-Анджелесе и получила диплом по игре на фаготе в 2015 году. Новый Орлеан, где я играл шесть лет.

Когда в 2020 году разразилась пандемия, музыкантам пришлось нелегко, как и многим артистам. Мы не работали, и я решил, что не могу сидеть и тренироваться весь день на фаготе, не зная, когда будет следующее выступление. Итак, после наблюдения за тем, как все тиктоки из 20 с лишним, живущие в районе залива, живут своей бурной жизнью инженеров-программистов, я подумал, что начну изучать что-то еще — как я назвал это, «технологии».

Как я начинал

Во-первых, я понятия не имел, с чего начать. Я никогда не слышал о JavaScript, Python, Ruby или любом другом языке и называл все, что связано с компьютерами, «кодированием». Хуже того, я не пользовался Microsoft Office или Google Workspace со школы.

Почитав на Reddit, посмотрев TikTok и поговорив с разными друзьями в городе, я решил изучить программу, которая придала бы мне некоторую структуру в моем обучении. Я решил записаться на местный «учебный курс по кодированию», который предлагал две недели бесплатного обучения (всего один час в день). Мы изучили основы JavaScript (в основном все типы данных и несколько методов). Мне казалось, что я освоился, поэтому я заплатил 800 долларов за следующие восемь недель программы, на этот раз по 3 часа в день. Мы больше погрузились в JavaScript, сосредоточившись на решении простых алгоритмов.

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

Мир программирования-самоучки

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

Продолжая читать советы в Интернете, я снова и снова видел один и тот же ответ —

«Найди язык, который тебе нравится, и выучи его».

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

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

Я решил посмотреть, какие языки используются чаще всего, и наткнулся на диаграмму, очень похожую на эту —

Для меня было очевидно, какие языки мне нужно выучить, если я когда-нибудь собирался заняться чем-то в сфере технологий, будь то неполный рабочий день или полная смена карьеры. Войдите в Udemy и Coursera.

Удеми и Курсера

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

Курсы по Python

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

Курсы SQL

Изучив немного Python и JS, чувствуя себя довольно хорошо, я решил перейти на SQL. Здесь я нашел своего любимого инструктора Udemy, Кольта Стила. Я абсолютный поклонник этого человека и всей его работы в сфере образования. Если вы видите, что он предлагает курс, который вам нужен, вы должны пройти его. Вы не пожалеете об этом.

Так или иначе, SQL был совершенно другим миром, использующим язык, который так непохож на Python или JavaScript. Для меня у SQL было очевидное конкретное применение — работа с базами данных. Его единственная цель — создавать запросы, которые могут выбирать или упорядочивать огромные объемы данных. Этот курс был объемным, и на его прохождение у меня ушло больше месяца, но когда я его закончил, я мог с уверенностью сказать, что у меня не было такого большого интереса к SQL, как к Python или JavaScript.

Таким образом, JavaScript и Python были очень интересными, а SQL — нет. Что теперь?

После того, как я не влюбился в SQL, я понял, что технология — это не просто «одна вещь». Будет много вещей, которые я люблю, и много вещей, которые я никогда не захочу делать снова. Это заставило меня задуматься: Какую работу я мог бы получить с этими языками?

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

Я две недели читал о разных профессиях, смотрел видео на YouTube, где люди пишут код на разных языках, и выяснял, что мне больше всего интересно. Так я нашел Р.

Мир R

R — это язык программирования, созданный для статистики и визуализации данных. Как полный ботаник карт, графиков и диаграмм, я был так взволнован, чтобы начать здесь. Я записался на уроки статистики (почему-то в старшей школе я ходил только на математические курсы, а не на статистику?) и онлайн-курс R для начинающих. Я не шучу, когда говорю, что хотел бы быть R-программистом до конца своей жизни, но я быстро понял, что это было бы не слишком правдоподобно. Я видел программистов с докторскими степенями в области статистики, использующих этот язык, и это быстро заставило меня почувствовать, что на этом языке, вероятно, не так много работы для таких, как я. Я провел здесь добрых три месяца, учась и развлекаясь, даже используя его, чтобы помочь своим родителям понять, когда выходить на пенсию. В конце концов, я уперся в стену, где понял, что точка входа в карьеру намного выше, чем я себе представлял.

Наконец-то Школа Флэтайрон

Я немного отвлекся от программирования после окончания курсов R и снова почувствовал себя потерянным. У меня были все эти знания, и я чувствовал себя комфортно на четырех языках, но так и не сделал ничего, чтобы показать это.

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

Совет начинающим программистам —

  1. Найдите курс Udemy по Python или JavaScript и пройдите его, по-настоящему отдаваясь делу. Спросите себя — мне это нравится? Чувство замешательства вызывает у меня желание бросить курить? (Все программисты часто застревают, гуглят и путаются)
  2. Просмотрите некоторые описания вакансий и посмотрите, чем инженеры-программисты (или аналитики данных, или ученые) занимаются весь день, и спросите себя, что кажется вам интересным.
  3. Продолжайте посещать курсы по этим языкам, пока не почувствуете себя комфортно с синтаксисом и методами и не попробуете решать алгоритмы.
  4. Рассмотрим веб-разработку, где есть интерфейсные и внутренние языки. Большинство буткемпов помогают студентам подготовиться к работе в веб-разработке, а изучение интерфейса и бэкенда (я изучал JavaScript и Ruby on Rails) может помочь вам понять контекст того, чем занимаются программисты.
  5. Сосредоточьтесь на структурах данных и алгоритмах (у Colt Steele есть отличный курс по Udemy), так как это поможет вам пройти технические собеседования.
  6. Никогда не бойся пробовать что-то новое. Частью работы в сфере технологий является осознание того, как много еще нужно выучить, и с каждым языком появляется миллион других вещей, в которые нужно вникать. Не перегружайтесь и поймите, что шаг за шагом овладение одним языком может стать вашим самым сильным преимуществом.