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

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

Если вы читаете это, мне не нужно рассказывать вам, как программирование проверило все пункты в моем списке. Скорее всего, вы рассматриваете путь самоучки или уже начали. Когда я начал свое путешествие, я был ошеломлен количеством различных советов. Я хотел поделиться своим путешествием, чтобы дать направление и надежду тем из вас, кто полон решимости обучиться навыкам, необходимым для того, чтобы стать программистом.

Почему ты должен слушать меня? Как я уже упоминал, в конце 2020 года я был барменом с нулевыми навыками работы с компьютером. Сейчас, всего через год, я инженер-программист. Я удвоил свой доход, работаю удаленно и в целом потратил около 200 долларов на свое образование. Как говорится, все люди разные. Отнеситесь ко всему этому с долей скептицизма, то, что сработало у меня, может не сработать у вас. Если я могу помочь хотя бы одному из вас устроиться на работу, то оно того стоит!

Месяцы 1–2

Когда вы начинаете программировать, вы буквально изучаете новый язык. Но более того, он учится думать как компьютер. Компьютеры на самом деле простые машины, они делают ТОЧНО то, что вы им говорите. Программное мышление — отличное место для начала вашего путешествия.

К счастью, существует ТОННА бесплатного образования. Я бы посоветовал начать с курса Гарварда CS-50. Они доступны на YouTube, и инструкторы отлично справляются со своей работой. Они коснутся нескольких тем информатики. Это хорошее место, чтобы намочить ноги.

После этого я бы перешел на HTML. Это очень просто, но вы можете написать код и увидеть, как он выводится на экран. Это очень приятно при первом запуске. Если вы еще не знаете, freeCodeCamp — отличный ресурс, и, как вы уже догадались, он БЕСПЛАТНЫЙ!

После HTML потратьте около 2-4 недель на изучение CSS. Как минимум, я бы узнал о специфике, селекторах и медиа-запросах. Существует ТОННА, которую вы можете сделать с помощью CSS. Но тем, о которых я упоминал ранее, достаточно, чтобы вы могли создавать сайты. Я бы также рекомендовал поиграться с фреймворком CSS, например, bootstrap или bulma. Это делает создание адаптивных сайтов быстрым и эффективным.

Теперь вы можете пойти в нескольких разных направлениях здесь. На freeCodeCamp есть много разных курсов. Вы потенциально можете изучить CSS, JavaScript и Node на их платформе. Если вы решите пойти именно так, больше вам сил!

Лично я хотел услышать, как кто-то разбирает концепции и смотрит, как кто-то кодирует. Я ЛЮБЛЮ Удеми. Это отличный ресурс для разработчиков-самоучек, так как большинство их курсов стоят меньше 20 долларов. Выберите курс, который покажется вам интересным. Я очень рекомендую курс Colt Steele Complete Web Developer Bootcamp. Colt отлично справляется с разбивкой концепций, и вы можете создать полнофункциональное приложение.

3–5 месяцев

Эти месяцы, возможно, будут самыми трудными. Я бы использовал это время, чтобы погрузиться с головой в JavaScript. JavaScript — это то, что оживляет веб-сайты. Это делает веб-сайты динамичными и интерактивными. Изучение JavaScript познакомит вас с логикой, DOM и немного ООП (хотя технически JS не является объектно-ориентированным языком).

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

6 месяц

На этом этапе у вас должны быть навыки создания адаптивного веб-сайта с использованием HTML, CSS и JavaScript. Теперь пришло время выбрать фреймворк JavaScript. React — самый популярный фреймворк, поэтому с него можно начать. Изучение React также укрепит ваши знания JavaScript и сделает вас более способным к найму. Поскольку большинству компаний сегодня требуется знание хотя бы одного фреймворка.

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

Месяцы 7–8

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

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

Поскольку вы уже знаете JavaScript, я бы предложил Node в качестве серверной среды. Это позволяет вам писать JavaScript на бэкенде, что делает среду знакомой и интуитивно понятной.

Месяцы 9–12

Теперь пришло время. Пришло время взять все полученные знания и навыки и использовать их в новой карьере. Поиск работы ТЯЖЕЛЫЙ. Особенно для тех из нас, у кого нет диплома или сертификата буткемпа. Вы получите работу, продемонстрировав свои навыки и страсть. Есть несколько способов сделать это.

Персональные проекты — это хорошо. Они показывают, что вы увлечены тем, что делаете, и что у вас есть возможность создавать сайты/приложения с нуля. Обязательно создайте что-то оригинальное, так как довольно легко отличить проект, который был только что создан на основе руководства по написанию кода. Кроме того, вы узнаете НАМНОГО больше, когда будете создавать проект самостоятельно.

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

Если бы мне нужно было дать только ОДИН совет, он был бы таким. Не сдавайся. Нелегко быть программистом-самоучкой. Получить первую работу непросто. Тем не менее, это абсолютно возможно. Вам не нужно быть гением или прирожденным человеком. Вы просто должны продолжать пытаться.