Прошло чуть больше года с тех пор, как я начал посвящать большую часть своего свободного времени изучению веб-разработки. До этого у меня был опыт работы с C # и Unity, и я профессионально работал цифровым маркетологом, который перешел в другие области, включая электронную почту HTML, разработку WordPress / Wix и разработку Salesforce. Именно этот кроссовер пробудил мой интерес к тому, чтобы стать разработчиком, но, обладая только HTML и CSS, которые я почерпнул при работе с HTML-письмами, WordPress и Wix, я знал, что мне нужно многому научиться, прежде чем я готовы к смене карьеры. Шесть месяцев спустя я получил свою первую работу Front-End разработчика. Вот как я туда попал:

Поиск наставника

Онлайн-уроки были ключевыми на раннем этапе, но с таким большим количеством вариантов новичку может быть сложно сориентироваться. Что я узнаю? Что такое JavaScript? Это должно быть похоже на Java ... Нет, нет, это не Java ... Как насчет Python? Я слышал, это круто. Но как насчет C, C #, C ++ и всех этих других однобуквенных языков.

Это может быть ошеломляющим.

На некоторых сайтах это удобно. FreeCodeCamp помог мне встать на путь, познакомив меня с основами в понятной форме. Другие варианты включают курсы веб-разработчиков по Udemy или Lynda, которые, как утверждают, проведут вас от новичка до продвинутого и предоставят вам сертификаты по окончании (обязательно обращайте внимание на обзоры и даты обновлений ... не заучивайте устаревшие материалы! !!). Хотя я сомневаюсь в долговечности этих сертификатов, они действительно служат хорошим дополнением для вашего первоначального поиска работы и, вероятно, оставят вас с готовым проектом, которым вы можете похвастаться.

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

Рекрутеры также будут важны вначале. Даже если они не найдут вам работу сразу, рекрутеры могут быть бесценным ресурсом. Они могут расширить вашу сеть, найти для вас потенциальную работу и увидеть ваше резюме, а также рассказать о ваших местных компаниях и о том, какой набор навыков им нужен. Лучше всего то, что они тебя найдут! Просто обновляйте LinkedIn, рассказывая о том, что вы уже узнали или часто посещаете Meetups, и рекрутеры найдут вас. Регулярное обновление вашего LinkedIn, даже если это незначительное изменение, поможет повысить шансы вашего появления в результатах поиска рекрутеров.

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

Держитесь подальше от сорняков!

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

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

Вашим приоритетом номер один должно быть получение работы веб-разработчиком. Здесь вам нужно проявить некоторую дисциплину, потому что это обязательно окупится, а другие вещи все еще будут иметь место, когда вы будете работать. Сохраняйте эти идеи, записывайте их в блокнот, развивайте в своей голове, но сохраняйте проекты такого типа на будущее, когда вы получите работу. У вас не будет большего опыта обучения, чем когда вы фактически начнете работать по 40 часов в неделю, получать хорошую зарплату в профессиональной среде с другими разработчиками, и, скорее всего, вы не будете трудоустроены, если в вашем распоряжении нет некоторых ключевых навыков. Когда я устроился на полную ставку фронтенд-разработчиком, моя доступность для работы над кодом подскочила с 20 часов в неделю (обеспечивалось жертвой со сном) до 60 часов в неделю, когда я работал с другими разработчиками над реальными задачами с помощью сроки. Лучше всего то, что вас заставят делать то, чего вы обычно не делаете. Новичку может быть очень легко увлечься HTML и CSS, потому что это то, что им удобно.

Я также настоятельно рекомендую вам не слишком полагаться на фреймворк или библиотеку, пока вы только начинаете учиться. В начале учебы мне сказали, что я должен изучить React, и я так и поступил. В то время как я смог понять это, я поторопился через ванильный JavaScript, чтобы добраться до него, и теперь понимаю, что мне следовало быть более терпеливым и углубить свое понимание простого старого JavaScript, прежде чем я попытался перейти к React. Некоторые утверждают, что работа с фреймворком или библиотекой может помочь вам стать лучшим разработчиком JavaScript, но, как человек, который пробовал это, я бы сказал, что не согласен. Работа с ванильным JavaScript дала мне гораздо более глубокое понимание того, что на самом деле происходит за кулисами, чем когда-либо предоставлял мне React, и в результате я стал лучшим разработчиком React. Обязательно ознакомьтесь с фреймворками и научитесь пользоваться хотя бы одним, но не ставьте телегу впереди лошади!

Готов ли я?

Итак, вы нашли наставника, прошли кучу курсов, изучили основы… вроде как (вы будете продолжать работать над основами очень долго), имеете опыт работы с фреймворком… Что дальше?

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

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

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

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

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

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