Руководство 2022 года по получению вашей первой роли разработчика программного обеспечения

Пролог

Это был 2021 год. Земля нагревалась, моря поднимались, и один конкретный Джеймс становился все более несчастным в своей рабочей среде. Он хотел перемен, он хотел покинуть индустрию, в которой он работал годами и в которой имел квалификацию; не желая возвращаться в университет, он задумал заняться стрижкой газонов.

Джеймсу удалось проникнуть в мир разработки программного обеспечения. Он уволился с работы, чтобы отправиться в путешествие, полное опасностей и самообучения. И после коротких шести месяцев изучения учебных пособий на YouTube и поиска в Google он оказался на роли удаленного разработчика полного стека; и вы тоже можете. Добро пожаловать, читатель, к подробному руководству по получению вашей первой работы по разработке программного обеспечения.

Введение

Я Джеймс, и в своем путешествии по самообучению я сделал много ошибок и потратил впустую много времени. Так что, хотя это руководство может и не быть точной копией каждого шага, который я предпринял, оно на уровень выше, на лучшую версию. Это руководство, которое я хотел бы иметь, и я надеюсь, что оно поможет вам достичь того, чего достиг я, и даже большего.

Если что-то в какой-то момент вас смущает или вы хотите узнать больше, просто выполните поиск, включив Freecodecamp в поиск. Вы найдете множество ресурсов до тех пор, пока ваше сердце не будет удовлетворено, и ваши запросы не будут подавлены.

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

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

Теперь вперед.

Что вам нужно знать

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

Основы внешнего интерфейса:

  • HTML и CSS; нет ни на земле, ни на Марсе инженера-программиста, который не знаком с HTML и CSS (Создайте веб-страницу портфолио). Дополнительные преимущества включают изучение Google Fonts и Font Awesome Icons!
  • Реакция; React — это среда JavaScript, которая отлично подходит для динамических веб-страниц (Изучите основы React и CSS, создав приложение для отображения данных Covid-19).
  • Next.js; Фреймворк React будущего. По-настоящему ценный актив, который можно добавить в свой арсенал навыков, особенно если вы добавите в смесь Stripe, Hooks и LocalStorage (Создание интернет-магазина + TailwindCSS).
  • TailwindCSS; со старым CSS и с новым. Этот CSS-фреймворк — самая последняя и лучшая инновация в области стилей (Ознакомьтесь с их потрясающей документацией и погрузитесь прямо в нее). Я бы рекомендовал включать его в каждый проект.
  • Вите; новые средства и методология для создания и инициализации ваших портфельных проектов. Настройка занимает две секунды, и вы готовы к работе.
  • Использование конечных точек API; чтобы создать динамический интерфейс, вам нужно знать, как использовать API, полный информации (приложение Svelte Movie Dashboard).
  • Облачный хостинг; ВАШИ ПРОЕКТЫ ДОЛЖНЫ БЫТЬ ЖИВЫМИ!!! Узнайте, как разместить интерфейсный проект в видео, связанном с первым пунктом.

Основы серверной части:

Приятно иметь:

  • Паас; Продукт как услуга позволяет вам включать функции бэкэнд-иска, такие как сохранение данных и аутентификация пользователей, без самостоятельного создания кода. Firebase — отличный пример поставщика таких услуг.
  • питон; всегда хорошо знать второй язык, и этот вы сможете освоить за день, если вы уже знаете JavaScript, следуя моему руководству по науке о данных (ссылка скоро появится!).
  • Облачные сервисы; это здорово знать

Теперь, когда ты мудр

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

Портфолио имеет решающее значение для вашей способности войти в отрасль. Независимо от того, самоучка вы или нет, это будет основным способом убедить потенциальных работодателей в том, что вы заслуживаете доверия; вы можете закодировать код. Чтобы получить настоящую работу, доверие даст вам 50% успеха. Последние 50% — это ваши soft-skills, но об этом мы поговорим позже.

Здесь я также должен упомянуть, что именно здесь вы, вероятно, начнете сталкиваться с самыми большими препятствиями на пути к вашему успеху; неуверенность в себе, синдром самозванца и ад учебников. Не бойся, я тебя прикрою.

ВНЯТЬ ЭТО В СВОЙ МОЗГ; ПУСТЬ ЭТО БУДЕТ ВАШИМ ЕВАНГЕЛИЕМ

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

Поэтому не сосредотачивайтесь на том, сколько вы можете вспомнить, вместо этого сосредоточьтесь на создании своего арсенала руководств и ресурсов и стремитесь к знакомству. «Я видел это раньше, я знаю, где найти отличную реализацию». Остальное придет со временем.

Что касается ада туториалов, то это ложная конструкция, созданная инженерами-программистами, чтобы заставить вас чувствовать себя плохо из-за того, что вы следуете туториалам. Хороший учебник — это высший самородок знаний. И именно так вы должны отправиться в путь, чтобы завершить проекты, чтобы заполнить свое портфолио. Выберите учебник, который охватывает ряд технологий, с которыми вы менее знакомы, напишите код, а затем, наконец, АДАПТИРУЙТЕ проект. Сохраните основу, систему аутентификации, конфигурацию базы данных, внешний вид интерфейса. Но выпотрошить содержимое. Изменить цель. Адаптируйте логику. Сделайте так, чтобы это выглядело по-другому. Добавьте API_KEY. Сделайте это по-своему! (И затем не забудьте каталогизировать его на своей странице Github). Закрепите его наверху.

Веб-страница вашего портфолио будет разделена на четыре основные части. Первый раздел будет разделом «О вас». В 2–3 строчках вы должны описать себя, свои занятия и стремления. Далее следует раздел о вашем опыте работы и образовании. Опять же, предложение на точку. Четко, лаконично и по делу. И, наконец, мозаичный макет ваших 3-4 проектов, чтобы показать их потенциальным работодателям. Эти проекты должны в совокупности содержать все технологии, о которых говорилось выше. Нажав на проект, вы перейдете на страницу блога, на которой кратко изложен файл Github Readme.md, в котором подробно описывается внутренняя работа и цель указанного проекта. Он также должен включать ссылку на код Github и версию проекта, размещенную в реальном времени. Внизу вашей веб-страницы ссылка на вашу страницу Github и LinkedIn. Ваша страница должна быть адаптивной прежде всего.

Рекомендации по полнофункциональному проекту:

Дополнительные рекомендации по интерфейсным проектам:

  • Веб-сайт визуализации данных (который использует API данных и представляет показатели, с которыми пользователь может взаимодействовать, например веб-сайт статистики Covid).
  • Игра в браузере (с которой пользователь может взаимодействовать, которая сохраняется в LocalStorage).

Дополнительные рекомендации по внутренним проектам:

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



Портфолио, благодаря которому меня наняли (среднее — вы можете сделать лучше):

Профессиональный имидж

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

Гитхаб

Рецепт успеха на вашей странице Github состоит из 4 частей:

  • Регулярные взносы — с той минуты, как вы начнете работать над своими проектами, вам нужно делать минимум 1 коммит в день. Меня не волнует, если это просто добавление закомментированной строки, сделайте коммит. Проверьте графический интерфейс Github, если вы боитесь Git в терминале.
  • Шесть закрепленных проектов. Это должны быть ваши основные проекты, три или четыре, о которых мы говорили выше, плюс любые дополнительные крупицы знаний, которые вы, возможно, нашли на этом пути.
  • Файл Readme.md — эти файлы должны быть безупречными. Текстовое объяснение или цель и намерение проекта, проблемы, с которыми вы столкнулись, как вы их исправили и все, что между ними. Каждый также должен содержать аннотацию в начале, в которой резюмируется проект и технология! Формат должен быть следующим: Резюме, Введение в проблему, почему вы хотите ее исправить, как вы собираетесь это исправить *использованная технология*, любые проблемы, с которыми вы столкнулись на этом пути, общее размышление, ссылка на текущий проект).
  • Дружелюбная и профессиональная фотография и биография, указывающая то же самое, что и ваше портфолио выше; ваша личность, занятия и усилия, а также ссылка на веб-страницу вашего портфолио и LinkedIn.

LinkedIn

  • Как и выше, дружелюбный, но профессиональный имидж имеет первостепенное значение, и то же самое касается вашей биографии (ссылки на страницу Github и веб-портфолио).
  • В вашем названии должно быть указано «Разработчик полного стека» или что-то еще, чем вы стремитесь стать.
  • Фотография на обложке должна быть визуально эстетичной, особенной для вас. Думайте об этом как о обоях для вашей страницы.
  • Вам необходимо указать свой предыдущий опыт работы и предоставить некоторые подробности о том, как любая из ролей, которым вы исторически помогали, развила ваши навыки общения, работы в команде, самоуправления и решения проблем.
  • Вам необходимо заполнить раздел образования, как указано выше.
  • Вам нужно добавить свой список технических навыков в раздел навыков — если вы можете, попробуйте выполнить тесты, которые они должны получить, чтобы получить значок для этого навыка.
  • Вам необходимо добавить все имеющиеся у вас сертификаты в раздел лицензий и сертификатов — например, я заполнил сертификат FreeCodeCamp.org JavaScript Algorithms and Data Structures.
  • Ссылки на ваши основные активные проекты и портфолио.

Посадка на работу | Заявки на работу

Секрет подачи заявки на работу заключается в последовательности и эффективности. Вы должны постоянно размещать отличные заявки и обеспечивать эффективность процесса подачи заявок.

Резюме

Все, что вам нужно знать, прямо здесь:

Сопроводительное письмо

Для сопроводительного письма я рекомендую сделать аналог документа Google. Это позволяет легко копировать документ, изменять пару фрагментов и делает весь процесс очень эффективным. И да, определенно стоит уделить немного больше времени сопроводительному письму, чтобы сделать его более актуальным для каждого отдельного работодателя.

Коммуникация

В мире, где сотни других абитуриентов, вероятно, умеют программировать так же хорошо, как и вы, имеют портфолио проектов и, возможно, даже больше университетского опыта, общение — ваше самое большое оружие. Что касается способности кодировать, работодатели просто хотят знать, что вы умеете программировать. Однако человек, который получает работу, — это тот, с кем они хотят работать больше всего. Крайне важно, чтобы вы были вежливы в случае успеха и отказа. Вы не можете раздать достаточно «Спасибо за эту возможность» и «Надеюсь, у вас хорошая неделя». Дружелюбные предложения, даже смайлик-смайлик, имеют большое значение для отображения вашего личного влияния. Если вы дружелюбны, приветливы и, возможно, немного веселы, именно так вы получите свою работу. Другая важная часть здесь заключается в том, что вы должны иметь возможность получать обратную связь. Неважно, насколько критическим или неправильным/неоправданным вы это считаете; быть благодарным. Скажи спасибо. Будьте открыты к их словам, признавайте их, принимайте их на вооружение. Вы неопытный разработчик, и вы получите много отзывов, поэтому очень важно, чтобы вы были скромными и относились к этому как к чемпиону!

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

Hi <name>,
I hope you're having a great start to the week :)
I wanted to say thank you for your time today. I greatly appreciate the opportunity to get to ......
Cheers,
<Your_name>

Линкедин

КАЖДЫЙ. ОДИНОКИЙ. ВРЕМЯ. вы подаете заявку на работу, будь то в LinkedIn или на любой другой доске объявлений о вакансиях, вам нужно отправить сообщение кому-то из компании (в LinkedIn). Найдите их технического директора, менеджера по найму или даже генерального директора в LinkedIn и подружитесь с ними, добавив следующее примечание:

Hi <Name>,  
I hope you're having a nice week :)  
I stumbled across your job posting for a <Insert job posting title> and as a seasoned Full Stack React developer, I feel I would be great for the role.  
I'd love to connect and chat about the opportunity.  
Cheers, 
James

Людям нравится инициатива. Вот и все. Некоторые люди не ответят, но некоторые ответят, а некоторые дадут вам время для звонка. Это очень важно, поскольку, хотя это просто чат, по сути, это бесплатное интервью, которое вы получаете только там, где вы можете продемонстрировать свою личность и установить некоторое взаимопонимание и привязанность. Возможно, это даже даст вам работу.

Трудоустройство

Что касается досок объявлений, то их довольно много. Есть большие, такие как:

  • LinkedIn
  • Действительно

Они отлично подходят для того, чтобы увидеть, что там есть и какие технологии актуальны и актуальны. Тем не менее, часто именно менее используемые доски объявлений найдут вам путь к успеху. Вот некоторые примеры вакансий, размещенных на:

  • Переполнение стека
  • Индихакеры
  • список ангелов

Последний шаг

Потерпи. Будьте настойчивы. Расти. Если вы столкнулись с отказом, возьмите свой худший проект и замените его новым проектом, который лучше остальных. А когда вы получите работу, вы будете знать так много, что сразу же броситесь в дело и никогда не оглянетесь назад.