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

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

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

В этом руководстве я покажу вам:

  • Как начать изучение кода
  • Единственный лучший ресурс для изучения основ программирования
  • Сколько времени нужно, чтобы научиться программировать?
  • Разрушьте некоторые распространенные заблуждения о программировании
  • Как сохранять мотивацию и преодолевать трудности при обучении программированию
  • Покажите вам различные способы обучения после того, как вы изучите основы

Если вы предпочитаете видео, вы также можете посмотреть это руководство в анимированной форме!

Почему вы хотите кодировать?

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

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

Вот некоторые общие цели, которые я вижу:

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

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

Хочу устроиться на новую работу

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

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

После того, как вы попали в отрасль в небольшой компании, если вы хотите продвинуться дальше или пойти работать в крупную технологическую компанию, такую ​​как Google, Amazon, Facebook или Microsoft, вам нужно будет начать больше изучать основы компьютерных наук. Я рекомендую не беспокоиться об этом, переходите этот мост, когда подойдете к нему. В краткосрочной перспективе просто уделите приоритетное внимание изучению практических навыков.

Улучшайте свою текущую работу

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

Я занимался цифровым маркетингом и хотел иметь возможность перемещать данные, автоматизировать задачи и просто быть лучшим маркетологом. Я начал изучать HTML, CSS и Javascript и продолжал дальше.

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

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

Хотите создать идею приложения, которая у вас есть

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

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

Как начать

Теперь, когда у вас есть цель, вам нужно знать, с чего начать. Короче говоря, на мой взгляд, единственный лучший ресурс для тех, кто хочет научиться программировать, - это Free Code Camp. Основные причины:

  • Бесплатно, поэтому у вас нет никаких рисков или препятствий для начала работы
  • Обучает Javascript, самому популярному и универсальному языку программирования.
  • Практичный стиль обучения поможет вам начать работу и подготовиться к работе как можно скорее
  • Отличное сообщество, поэтому вы всегда можете найти помощь, если столкнетесь с трудностями

Free Code Camp - это бесплатно

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

Преимущества изучения Javascript с Free Code Camp

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

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

Но вам не о чем беспокоиться, если вы все еще хотите изучать Python, потому что Free Code Camp недавно добавил несколько уроков, охватывающих также Python. Изучив основы программирования с помощью Javascript, вы сможете быстро научиться использовать и Python.

Практический стиль обучения

Free Code Camp не тратит время на теоретические рассуждения, они сразу же помогут вам начать работу с реальными вещами. Создание реальных проектов делает обучение намного более увлекательным.

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

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

Сообщество Free Code Camp

Вероятно, самый большой фактор для Free Code Camp. Многие люди отказываются от обучения программированию из-за разочарования. Они застревают на проблеме или руководстве и решают, что они не подходят для программирования.

С Free Code Camp десятки тысяч других людей столкнулись с теми же проблемами. Это означает, что вы всегда можете найти помощь на форуме от человека, который прошел через такие же трудности. Каждая проблема также содержит подсказки, которые помогут вам решить ее, если вам нужно немного подтолкнуть вас в правильном направлении.

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

После FCC

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

Главное - просто убедиться, что у вас есть прочная основа для развития, и для этого I FCC - лучший вариант.

Сколько времени нужно, чтобы научиться программировать?

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

Ответ: это зависит от человека, но обычно составляет от 3 до 12 месяцев.

Есть несколько факторов, которые влияют на то, сколько времени вам понадобится, чтобы научиться программировать, а именно:

  • Очное или заочное обучение
  • Прошлый опыт
  • Личные способности
  • Стратегия обучения

Очное или заочное обучение

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

Не расстраивайтесь, если у вас есть постоянная работа, это не такой важный фактор, как вы думаете.

Кодирование может утомлять умственно, большинство инженеров-программистов признают, что у них, вероятно, есть только 2–4 часа мысленного кодирования в день во время работы, прежде чем они истощатся. После этого времени наблюдается некоторая «убывающая отдача» с точки зрения затраченного времени, поэтому дополнительные часы не помогут вам узнать больше.

Думайте о своем мозге как о губке, он может поглотить столько знаний за день.

Похожий опыт

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

Личные способности

Это не совсем честно, но некоторые люди просто привыкают к программированию, как рыба в воде. Я бы сравнил это со спортом, где каждый знает кого-то, кто просто естественен и делает все проще.

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

Стратегия обучения и цель

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

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

Уловки и советы, которые упростят жизнь

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

Кодируйте в определенное время дня и создавайте рутину / привычку кодирования.

Опасно полагаться исключительно на мотивацию. Если вы когда-либо пытались и не смогли придерживаться диеты или режима тренировок, вы поймете, о чем я говорю

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

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

Не позволяй себе застрять

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

Вот почему так важно следовать Free Code Camp: если вы застряли, вы всегда сможете найти помощь.

Геймифицируйте свое обучение

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

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

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

Привыкайте к чувству тупости

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

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

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

График обучения программированию

1-й месяц

За это время вы изучите основы, начиная с HTML и CSS. Они используются для разработки веб-страниц и не являются технически программируемыми, но их необходимо знать как основы.

Когда вы освоите основы создания веб-страниц, вы можете приступить к изучению Javascript, который используется для создания интерактивных веб-страниц. Free Code Camp начнёт вас с изучения базового синтаксиса языка и понимания основ программирования в целом.

Как только вы это усвоите, вы можете начать работать над применением этих основ на практике с помощью управляемых проектов в Free Code Camp.

Второй месяц

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

Дополнительные темы для просмотра:

  • Узнай, как Google и найди решения своих проблем, Stack Overflow станет твоим лучшим другом
  • Как работает Интернет - DNS, HTTP, веб-серверы
  • Основы командной строки
  • Изучите основы Git и контроля версий
  • Инструменты разработчика Google, консоль разработчика Chrome

Третий месяц

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

Дополнительные темы:

  • синхронное и асинхронное программирование
  • Выполнение вызовов API с помощью Javascript
  • Цикл событий Javascript
  • Манипуляции с DOM

Четвертый месяц

Начните выходить за рамки основ и работать с библиотеками для создания проектов. Выберите интерфейсную платформу, такую ​​как ReactJS, и узнайте, как ее использовать и почему компании используют ее вместо обычного Javascript.

Дополнительные темы:

  • Создайте сайт-портфолио и разверните некоторые из ваших проектов вживую
  • Основы веб-безопасности
  • Современные концепции CSS
  • Изучите CSS-фреймворк, например bootstrap, для проекта
  • Следуйте руководству по бэкэнд-программированию с помощью NodeJS и базы данных

Пятый месяц и далее

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

Дополнительные темы:

  • Ознакомьтесь с руководствами по подготовке к собеседованию для работы с интерфейсом или Javascript
  • Подумайте о том, чтобы немного изучить основы CS.
  • Создайте свое резюме

Преимущества работы программистом

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

Улучшенная способность решать проблемы

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

Уверенность и психологическая стойкость

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

Станьте тем человеком, к которому все обращаются за помощью

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

Заключение

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

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

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