Это первая статья из пяти частей. Здесь у вас есть ссылки на другие части:

Часть 1. С чего начать

Часть 2 - Все дело в привычках

Часть 3 - Обучение программированию

Часть 4 - Общение

Часть 5 - Как получить свою первую работу в качестве веб-разработчика

Предисловие

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

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

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

Почему тебя должно волновать то, что я должен сказать?

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

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

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

Действовать

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

Зачем учиться программировать?

Если вы не жили под скалой в течение последнего десятилетия, вы заметили, что разработчики программного обеспечения — это новые «рок-звезды». Они строят будущее и получают огромные суммы денег в таких компаниях, как Google или Facebook. Хорошо, я говорю о лучших талантах, конечно. Но для остальных из нас есть еще много интересных вещей в этой постоянно развивающейся области.

  1. Прибыльная карьера. Разработчики программного обеспечения — одна из самых высокооплачиваемых профессий 21 века, открывающая множество возможностей для трудоустройства.
  2. Профессия, пользующаяся большим спросом. Компании отчаянно ищут таланты. Если вы хорошо разбираетесь в том, что делаете, у вас не возникнет проблем с получением работы мечты.
  3. Классная рабочая среда. ИТ-компании прилагают большие усилия, чтобы сохранить и мотивировать своих сотрудников. Вы найдете самые крутые офисы с такими привилегиями, как небольшие библиотеки, игры, места для отдыха, свежая еда, напитки, и этот список можно продолжать и продолжать…
  4. Возможность работать удаленно. Это разрешено не во всех средах, но удаленная работа дает вам возможность жить где угодно или просто работать, не выходя из дома.
  5. Конференции/путешествия. Ура, по всему земному шару всегда появляются потрясающие мероприятия, как грибы после дождя. И если вам повезет, ваша компания может даже оплатить все расходы.
  6. Задел на будущее. Благодаря автоматизации машины захватывают многие профессии, и специалисты предсказывают, что нам придется полагаться на онлайн-обучение и обучение на протяжении всей жизни. Разработчики являются экспертами в этом, и мы чрезвычайно адаптируемы.
  7. На переднем крае технологий. Всегда появляется что-то новое, и мы сражаемся на передовой.
  8. Потрясающее сообщество. Техническое сообщество просто потрясающее. Разработчики - другая порода. Люди действительно увлечены тем, что они делают, и любят говорить об этом.
  9. Сверхспособности. Вы можете создавать свои собственные вещи. Мы гики, и нам нравится гик вокруг. Если вам посчастливится построить что-то достаточно крутое, вы даже можете стать миллионером.
  10. Бесконечные возможности. Если вы знаете, как программировать, вы можете работать практически в любой сфере или создать собственную компанию. Вы даже можете изобрести будущее, если достаточно смелы.

Кто такой разработчик программного обеспечения?

Согласно Википедии, разработчик программного обеспечения — это человек, занимающийся аспектами «процесса разработки программного обеспечения, включая исследования, проектирование, программирование. , и тестирование компьютерного программного обеспечения.

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

Исходя из моего личного опыта, я бы добавил кое-что к двум вышеприведенным точкам зрения:

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

Вот классное видео, которое объясняет, что мы делаем.

Почему некоторые вещи важнее других?

Если вы думаете об обучении кодированию, очень важно различать, что действительно важно.

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

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

Когда начать

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

Если вы хотите научиться программировать самостоятельно, вам понадобится руководство, чтобы вы могли сосредоточиться на важных вещах. Вот тут и приходит на помощь freeCodeCamp.org.

Что такое freeCodeCamp (fCC)?

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

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

Чем ФКЦ не является?

FCC довольно хорош в том смысле, что он дает вам дорожную карту, которой вы должны следовать, но:

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

По сути, вам придется быть своим собственным боссом, если вы хотите добиться успеха. Для меня лучший способ научиться программировать — это, безусловно, Coding Bootcamp. Проблема с Coding Bootcamps в том, что цена просто… непомерно высока!

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

Ключевые моменты ФКК

Итак, что предлагает FCC, что делает его таким замечательным?

  1. Хорошо структурированный путь для вас —fCC превосходно освещает все важные темы, которые вам нужно будет изучить, и представляет их вам в очень хорошо структурированном виде.
  2. Качественные ресурсы — учебные материалы FCC довольно высокого качества и актуальны. Вам предоставляется интерактивный стиль обучения, в котором у вас есть текст, объясняющий каждую тему, а затем вы должны применить то, что вы узнали, в онлайн-редакторе кода, и где вы сразу же видите результат.
  3. Сообщество — успех FCC строится вокруг сообщества. Вам предлагается присоединиться к местным учебным группам, участвовать в дискуссионных форумах и делиться своими успехами. Всегда есть хорошие люди, готовые помочь, и вас поощряют помогать другим. Это заставляет вас чувствовать себя частью чего-то большего, чем вы сами, а также развивает ваши коммуникативные навыки.
  4. Проекты. Чтобы завершить каждую сертификацию, вам потребуется создать несколько крутых проектов, которые помогут вам двумя способами. 1) Вы будете применять то, чему научились, и увидите практическую применимость. 2) Проекты будут блистать в вашем портфолио позже, когда вы подадите заявку на работу.
  5. Помогите некоммерческим организациям. Вам предлагается внести свой вклад (с кодом) в проекты с открытым исходным кодом, одним из которых является сама Федеральная комиссия по связи. Этот вклад даст вам опыт работы с большими проектами, а также выделит вас из толпы, показав, что вы заботитесь о благородных целях.
  6. Сертификаты — Потому что… кому не нравится иметь сертификат о достижениях, верно? О, и это также отлично смотрится в вашем резюме.

Другие варианты

Если по какой-то причине вам не нравится, как работает fCC, есть и другие варианты. Большинство из них не дают вам точного пути, по которому вы должны следовать, и вы можете немного заблудиться. Что я сделал, так это пошел по пути FCC, чтобы отследить то, что мне нужно было изучить, и пройти какой-то другой курс, чтобы углубиться в какую-то тему, в которой, как мне казалось, я не был достаточно уверен. Вы можете найти другие варианты здесь.

Это первая статья из пяти частей. Здесь у вас есть ссылки на другие части:

Часть 1. С чего начать

Часть 2 - Все дело в привычках

Часть 3 - Обучение программированию

Часть 4 - Общение

Часть 5 - Как получить свою первую работу в качестве веб-разработчика