Как составить план обучения программированию

Логотип станицы: 472

Планы обучения для программистов

Подробные планы обучения по разным языкам программирования и технологиям.

Data Engineer: учебное пособие для прохождения собеседования

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

Как стать экспертом в Data Science: пошаговый план обучения

Смотрим на последние тренды в Data Science и раскладываем по полочкам этапы обучения: от выбора языка и библиотек до машинного обучения и нейронных сетей.

Обложка: Как стать экспертом в Data Science: пошаговый план обучения

Arduino: выбор платы, подключение и первая программа

Arduino — это электронная платформа с открытым исходным кодом, которая позволяет взаимодействовать с окружающим миром. Рассмотрим, как начать с ней работать

Хочу научиться программировать на PHP. С чего начать?

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

Кто такой DevOps и как им стать: план обучения

Как стать DevOps-инженером? В этой статье мы разобрались, что должен знать DevOps-специалист, делимся инструментами и планом обучения.

Обложка: Кто такой DevOps и как им стать: план обучения

Как выучить Git с нуля

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

Хочу научиться программировать на Python: инструкция для продолжающих

Рассказываем, что учить, как получать практику и где брать идеи для своего проекта.

Обложка: Хочу научиться программировать на Python: инструкция для продолжающих

План обучения для специалиста по Data Science

Детальный пошаговый план обучения по специальности Data Sientist. Если вы хотели стать спциалистом по Data Science, но не знали, с чего начать.

Хочу научиться программировать на Python. С чего начать?

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

Обложка: Хочу научиться программировать на Python. С чего начать?

Хочу стать frontend разработчиком: базовые знания и план обучения

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

Как разобраться в Computer Science самостоятельно

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

Хочу стать веб-разработчиком: подробный план по изучению JavaScript

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

Увы, но нам не удалось найти больше постов.

Программирование нужно всем — но как начать с нуля? Правда ли, что за три недели можно научиться делать сайты, а за три месяца — выучить JavaScript? Действительно ли разработчиком может стать даже тот, кто попрощался с математикой еще в школе? А если просто смотреть обучающие ролики на YouTube — это поможет освоить алгоритмику? T&P разбираются, как правильно организовать процесс обучения программированию.

Отбрасываем сомнения

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

Например, чтобы пройти курс по веб-разработке в Moscow Coding School, достаточно «базовой компьютерной грамотности» и «математики на уровне 5-го класса». «Можно прийти, ничего не зная, и, совмещая наш курс и самостоятельное обучение, научиться создавать интерактивные веб-страницы, работать с данными и понимать принципы их обработки», — говорит куратор образовательных программ школы Екатерина Руднева.

В онлайн-университете Skillbox сложные понятия и концепции объясняют с помощью мультфильмов и игровых домашних заданий. «Студенты рисуют картины с помощью программ, организуют жизнь небольшой семьи котиков, превращают Колобка в Пикачу. Но за всем этим стоят серьезные методологии программирования: модульный подход, наследование классов, различия атрибутов классов и экземпляров, разрешение конфликтов при Merge и прочее», — говорит ведущий курса «Python-разработчик с нуля» Вадим Шандринов.

Образовательный портал GeekBrains при поступлении просит пройти тест и тем, кто недоберет баллов, предлагает подготовительный курс. Абитуриенты с нулевым уровнем начинают с азов: «Мы берем один из самых простых языков — JavaScript — и изучаем все базовые понятия, циклы, массивы, переменные. Учимся этим всем пользоваться, понимаем, какие там основные подходы к разработке. И дальше уже можно смело учить язык, который нравится», — поясняет руководитель отдела обучения Евгений Картавец.

Но тем, кто планирует изучать специфические области — big data, machine learning, обработку финансовых/научных данных, — потребуется уже математическая подготовка на уровне профильного института, говорит Вадим Шандринов.

Выбираем формат обучения

«У офлайн-курсов есть один существенный плюс: если пришел в аудиторию, то хочешь не хочешь — нужно два часа учиться», — говорит Вадим Шандринов. Среди преимуществ такого формата — возможность слышать и видеть других учеников («Я не единственный, кто не сразу все понимает!»), слушать ответы преподавателя на вопросы. Недостаток — необходимость подстраивать свой график под расписание занятий (а кроме того, кому-то просто некомфортно осваивать новую сложную область в незнакомом коллективе).

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

Выбираем школу и курс

На что смотреть, чтобы не выбросить деньги на ветер:

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

Адекватность. «Если обещают, что вы за два месяца освоите мобильную разработку, станете middle-разработчиком и так далее, знайте — это неправда», — предупреждает Евгений Картавец. Он признает, что оценить, насколько длительность программы соответствует содержанию курса, самостоятельно бывает сложно, и предлагает советоваться с теми, кто уже ее прошел: «Просто глядя на темы, выяснить это не получится».

Опыт. Евгений Картавец советует прямо спрашивать преподавателя, на чем он специализируется, в каких компаниях и над какими проектами работал. Учитывайте, что разработчик в сфере мобильных приложений вряд ли хорошо обучит big data, добавляет Вадим Шандринов.

Иногда подходящий курс находится только с третьего-четвертого раза, предупреждает он, и дело не только в школах, но и в учениках: то, что подходит другим, может не подойти вам. А комьюнити-менеджер HTML Academy Татьяна Власенко напоминает, что эффективность обучения зависит еще и от вашей мотивированности.

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

Ангелина Филиппова

училась на курсах Pluralsight, Codeacademy, Moscow Coding School и hexlet.io

Я начала учиться на английском в Pluralsight (ранее Code School) и Сodecademy, потому что сначала хотела разобраться в основах и понять, стоит ли продолжать. За пару месяцев нерегулярных занятий я прошла все курсы по HTML, CSS и JavaScript. Уроки на этих сайтах разбиты на маленькие задания, все понятно, и при выполнении задач не возникает никаких проблем. После нескольких курсов у меня появилось ощущение, что я уже что-то знаю, но самостоятельно сделать пока ничего не могу. Я думаю, что Pluralsight и Codeacademy — лучший способ начать, хотя там не рассказывают о многих аспектах работы программиста, без которых не обойтись.

Потом я увидела рекламу курсов фронтенд-разработки от Moscow Coding School, программа понравилась мне и мужу, который помогал мне учиться. Курс занял около 40 часов, плюс домашние задания. Тогда программу можно было пройти за 3 недели, занятия длились 6 часов по выходным. Большую часть того, чему нас учили, я уже знала, да и вообще занятия в группе, когда все время нужно кого-то и чего-то ждать, оказались не для меня. С другой стороны, было полезно получить рецензию на свой код и иметь возможность задать вопрос учителю офлайн, потому что иногда код может работать, но при этом он очень плохой. Самым полезным навыком, полученным на курсе, стало умение правильно дебажить код (искать ошибки в программе. — Прим. ред.). В плане обратной связи офлайн-формат удобнее, но зачастую это лишает тебя возможности самому найти решение и научиться чему-то.

После Moscow Coding School хотелось найти что-то более фундаментальное, с упором на теорию, так мы выбрали hexlet.io. Их курс для JS-программиста оказался самым сложным и долгим, на его прохождение у меня ушло полгода. Над многими задачами я сидела несколько дней, иногда звала на помощь опытных программистов, но и у них не всегда получалось мне помочь. «Хекслет» не только дает знания, но и закаляет характер. Курс заставляет искать и изучать информацию самому, а это главный навык программиста. Кроме этого, у каждого задания есть секция «вопрос — ответ», где можно поискать подсказку и задать вопрос, если ты застрял. Прямых ответов авторы курса не дают, только направляют, в какую сторону стоит копать.

Рассчитываем время

Научиться писать несложные скрипты можно за 1–2 месяца, но если конечная цель — устроиться на работу младшим программистом, то на это уйдет минимум год, говорят в Skillbox. Скорость освоения программирования сильно зависит от практики и обратной связи. Если есть ментор, который регулярно проверяет и помогает исправить ошибки, грамотный код получится писать через год обучения, добавляют в GeekBrains.

От нескольких дней до пары недель: интенсив по узкой теме для опытных разработчиков. С нуля за это время можно освоить разве что основы HTML и CSS.

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

12–18 месяцев: полноценный курс — с нуля до минимального профессионального уровня.

Учитывайте интенсивность обучения. Например, в Moscow Coding School занимаются по 6 часов в неделю, в HTML Academy — по 2–4 часов в день, в среднем от 20 часов в неделю (в это время входят лекции два раза в неделю и выполнение домашних заданий). В GeekBrains модуль, рассчитанный на две недели, обычно включает 5 уроков, на месяц — 8 уроков, видеокурс для самостоятельного прохождения — 20 уроков; при этом после каждого занятия учащегося ждет домашнее задание.

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

Елена Мордмиллович

учится по специальности «медиаинформатика» в Высшей школе техники им. Бойта в Берлине

Сейчас я прохожу второй семестр обучения по специальности «медиаинформатика». Форма обучения — онлайн-бакалавр: дистанционное с реальным дипломом вуза. Есть учебные материалы, преподаватель, связь с которым доступна по имейлу, домашние задания, еженедельные веб-конференции, форум, а раз в 3 недели по два дня учебы на месте.

Программирование пока самый сложный предмет из всех. Как правило, одна тема дается на неделю или две — за это время нужно освоить теорию и сделать 1–3 задания. Бывает два типа ситуаций: 1. Класс, все понятно, берешь делать задачу — и-и-и… ничего не понятно! 2. Ужас, ничего не понятно, три раза читаешь учебник, смотришь видео на YouTube с Udemy (вообще, чем в большем количестве источников получаешь информацию, тем больше шансов какую-то картину выстроить), читаешь онлайн-учебники, начинаешь делать задачи и… боже, ну ничего же не понятно! Идешь на Stack Overflow, читаешь все похожие вопросы, рисуешь себе схему, пробуешь, ошибаешься, исправляешь, становится хуже, начинаешь все сначала. Чувство, когда программа работает, несопоставимо ни с чем другим.

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

Учимся сами

Учиться можно и самостоятельно, хотя это определенно потребует больше времени. В GeekBrains рекомендуют серию самоучителей «Head First». В Skillbox советуют искать видеоуроки по программированию, слушать подкасты, пробовать программировать самостоятельно и обсуждать свои работы на профессиональных форумах. При этом очень важно изучать язык системно, регулярно: каждый день или раз в два дня что-то делать — или читать теорию, или практиковаться, отмечает Евгений Картавец из GeekBrains. «На первые несколько месяцев этого хватит. Затем нужно начать работать над полноценным портфолио, чтобы знаний было достаточно не только для учебного проекта, но и для чего-то серьезного», — говорит он.

Серия самоучителей «Head First»

Самоучители по Java, C#, HTML, JavaScript, jQuery, SQL, Android, iOS и т. п. Написаны простым языком, содержат много картинок, схем, таблиц и графиков; снабжены упражнениями для закрепления пройденного материала.

Учебная онлайн-библиотека LiveEdu

Предлагает обучающие видео по различным языкам программирования и фреймворкам (React.js, Python, Django, C ++, Node.js, JavaScript). Большая часть контента доступна бесплатно.

The Code Player

Пошаговые инструкции в видеоформате, которые помогут понять процесс кодинга от начала до конца.

freeCodeCamp.org

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

Получаем обратную связь

«Недостаточно просто решить задачу; нужно решить ее грамотно, качественно, чтобы разработка была стабильна, а код был читаемым», — отмечает Евгений Картавец. Получить обратную связь студенты могут как от лекторов, так и от личных наставников, которых некоторые школы закрепляют за учениками. Там, где личного наставника нет, обычно можно обратиться за помощью на форум, где общаются и ученики, и преподаватели.

Тем, кто учится самостоятельно, без посторонней помощи тоже не обойтись: «Надо найти человека, с которым можно консультироваться, — это может быть друг, знакомый, репетитор или преподаватель вуза», — советует Картавец. «Ищите наставника — это не обязательно должен быть учитель, им может стать просто сосед или коллега, который понимает в программировании и поможет вам разобрать примеры кода», — говорит Вадим Шандринов.

Держим в голове цель

Когда программа в очередной раз уходит в бесконечный цикл, хочется все бросить и сказать себе: «Это просто не мое». «Никогда не знаешь, что пригодится и что окажется твоим делом. Поэтому попробовать стоит все, — считает Татьяна Власенко из HTML Academy. — Мы в Академии собираем истории выпускников и сами удивляемся: люди, посвятившие жизнь музыке, обнаруживают талант к верстке, журналисты становятся отличными фронтенд-разработчиками. Таких историй много, а это говорит о том, что деление на технарей и гуманитариев весьма условно». «В программировании человек из ничего творит нечто, что можно пощупать, потрогать, использовать», — говорит Евгений Картавец из GeekBrains. «Виртуальные миры живут по правилам, определенным программистом, он там — Создатель», — добавляет Вадим Шандринов из Skillbox.

«Непредсказуемо много молодых людей вдруг обнаружили, что быть актуальным в тотальной киберреальности можно только в том случае, если ты эту реальность создаешь, — согласна с ним Екатерина Руднева из Moscow Coding School. — Кодер — это звучит гордо. Моду на архитектуру и дизайн в образовании уверенно потеснило умение писать программы и придумывать мобильные приложения».

С чего начать изучение программирования? Роль технологий за последние 20 лет сильно изменилась. Компьютеры и технологии проникли почти во все сферы нашей жизни: что мы покупаем, как мы добираемся с места на место, как мы работаем или где мы едим после окончания рабочего дня — мы решаем с помощью технологий.

  • Зачем учиться программировать?
  • Какие языки программирования изучать?
  • Как начать программировать с нуля
  • Советы для начинающих программистов

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

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

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

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

  • Почему стоит научиться программировать;
  • С какого языка начать;
  • Как начать писать код;
  • Несколько ценных советов для тех, кто только начинает.

программирование

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

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

Приобретение профессиональных навыков

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

Чтобы сделать карьерный поворот в сторону IT или перейти на более техническую должность в своей области, знание хотя бы одного соответствующего языка программирования обязательно. Однако это относится не только к разработчикам. Веб-дизайнеры должны знать HTML, CSS и JavaScript. Менеджеры проектов должны знать внутреннее устройство инструментов, которые они помогают создавать. Даже если у вас простой сайт на WordPress, знакомство с языками front-end и немного с PHP поможет в работе с ним.

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

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

Возможность создавать продукты

Одно из самых замечательных преимуществ изучения программирования — это возможность воплощать свои идеи в жизнь. У вас есть концепция веб-сайта, приложения или компьютерной игры? Теперь можно создать его именно так, как вам хочется, а затем поделиться им со всем миром.

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

Понимание окружающего мира

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

Это весело

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

Какие языки программирования изучать?

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

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

HTML И CSS

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

Если вы не уверены, что программирование — это ваш конек, HTML — самый простой язык для изучения. Это связано с тем, что HTML технически не является языком программирования — он не выполняет сценарии, и на нем нельзя создавать функциональные программы. Тем не менее, HTML присутствует в интернете повсюду, поэтому если вы хотите понять интернет, вам сначала нужно понять HTML.

Возможно, вы менее знакомы с CSS. HTML определяет, какое содержимое появляется на веб-странице, но не влияет на то, как это содержимое появляется. Именно здесь на помощь приходят каскадные таблицы стилей (Cascading Style Sheets, или CSS). Язык CSS обрабатывает стиль HTML — он задает такие характеристики, как цвета, размер, шрифты и даже макет всей страницы.

Как открыть и вести бизнес в России? Читайте в авторском телеграм-канале Романа Джунусова

.

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

HTML и CSS легко изучать в основном потому, что они не требуют вычислительной логики языков программирования. Изучение HTML и CSS также может показаться менее абстрактным, чем других языков, поскольку вы быстро видите результаты своего кода — просто создайте файл .html и откройте его в браузере. Или откройте существующий веб-сайт и используйте инструмент разработчика в браузере, чтобы заглянуть в исходный код. Это позволяет изучить два языка, которыми вы пользуетесь каждый день, за один день.

Но если вы хотите, чтобы ваши веб-страницы выполняли определенные действия, вам понадобится…

JavaScript

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

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

Смотреть онлайн-курсы JavaScript и Frontend-разработки

Python

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

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

Смотреть онлайн-курсы Python

C/C++

Язык Си — еще один популярный выбор для начала обучению программированию. Он более сложен, чем Python, и часто требует от начинающих писать больше кода для достижения тех же целей. Это больше работы, но полезно для понимания абстрактных концепций. Изучая C, вы приобретете навыки, которые можно будет легко применить к другим, более лаконичным языкам.

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

Java

Java (не путать с JavaScript) — это объектно-ориентированный язык программирования общего назначения. Как и Python, синтаксис Java легко читается и понимается программистами-людьми — зачастую сложные задачи могут быть решены одной командой.

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

Как начать программировать с нуля

  1. Пройдите онлайн-курс
  2. Смотрите видеоуроки
  3. Читайте книги / электронные книги
  4. Выполняйте проекты по разработке
  5. Найдите наставника и сообщество
  6. Подумайте о том, чтобы записаться в буткемп по программированию

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

1. Пройдите онлайн-курс

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

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

Популярные ресурсы с бесплатными курсами включают freeCodeCamp, W3Schools и известный гарвардский курс “Введение в компьютерную науку”, доступный на edX и YouTube-канале CS50. Эти варианты отлично подходят для того, чтобы на раннем этапе определить, готовы ли вы потратить время на изучение конкретного языка.

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

2. Смотрите видеоуроки

Вы наверняка смотрели видеоуроки на YouTube — почему бы не сделать то же самое на тему программирования?

Хотя онлайн-курсы — это лучший вариант для получения практического опыта, бесплатные онлайн-видео могут дополнить обучение и удовлетворить любопытство. Моими личными фаворитами являются “Краткий курс информатики” и “Основы” Тома Скотта, которые охватывают более широкие темы в информатике.

Я также рекомендую вышеупомянутый гарвардский курс CS50, а на YouTube нет недостатка в других лекциях по информатике.

3. Читайте книги и электронные книги

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

  • HTML/CSS: Руководство для начинающих по HTML и CSS для маркетологов
  • JavaScript: Eloquent JavaScript: Современное введение в программирование
  • Python: Краткий курс Python
  • C: Абсолютное руководство для начинающих программистов на языке C
  • C++: C++ Primer
  • Java: Эффективный Java

4. Практикуйтесь на реальных задачах

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

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

  • Конвертер времени, в котором пользователь задает количество секунд, а программа выдает эквивалент в часах, минутах, днях и т.д.
  • Генератор случайных чисел, который производит случайное число между двумя значениями, указанными пользователем.
  • Калькулятор, в котором пользователь указывает свои входные данные и математическую операцию, а программа выдает результат.
  • Адресная книга, в которой пользователи могут вводить имена контактов, а затем искать их в вашей программе.
  • Алфавитный указатель, в котором пользователь предоставляет список слов, а программа сортирует их в алфавитном порядке.
  • Игра “Палач”, в которой пользователь пытается угадать скрытое слово, вводя буквы, а программа обеспечивает обратную связь для правильных или неправильных догадок. Если пользователь угадывает все буквы слова, он выигрывает.

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

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

Во-вторых, проекты по кодированию, особенно долгосрочные, дают возможность продемонстрировать свою работу. Одно дело — указать в резюме “Python”, другое — показать, что вы создали целый сайт или приложение с нуля. Проекты являются обязательным условием для программистов начального уровня, поскольку они доказывают компетентность в данном языке.

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

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

5. Найдите наставника и сообщество

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

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

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

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

  • Stack Overflow, форус для вопросов и обсуждения программирования.
  • GitHub, хранилище кода для проектов с открытым исходным кодом с активным сообществом разработчиков.
  • Women Who Code — некоммерческая организация, которая организует мероприятия, сообщества и размещает вакансии для женщин, делающих карьеру в сфере технологий.
  • Сабреддит r/learnprogramming (т.е. микросайт на Reddit.com) для начинающих кодеров.

6. Рассмотрите возможность записаться в буткемп по программированию

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

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

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

Советы для начинающих программистов

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

Будьте терпеливы

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

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

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

Овладейте необходимыми инструментами

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

Все языки для начинающих требуют наличия текстового редактора — программы, которую вы используете для написания кода. Текстовые редакторы включают в себя функции, облегчающие работу с кодом, такие как цветовое кодирование, автозаполнение, поиск и замена и темный режим. Notepad++, Sublime Text и Emacs — популярные текстовые редакторы для начинающих.

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

Изучите основы

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

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

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

Пишите чистый код с самого начала

Помимо того, что вы научитесь писать код, вы также должны уметь писать его хорошо.

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

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

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

Хорошим способом достижения этой цели является сокращение строк и функций. Я рекомендую ограничивать каждую строку кода максимум 80 символами, а каждую функцию — не более чем 15 строками. Хотя поначалу эти правила будут ограничены, они приучат вас отдавать предпочтение эффективному коду, а не первой пришедшей в голову идее.

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

Google – друг программиста

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

Кроме того, очень приятно закрыть 20 вкладок Stack Exchange после того, как наконец-то исправили упрямый баг.

Программирование — это больше, чем просто код

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

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

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

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

Желаем вам удачи в обучении программированию!

По материалам сайта hubspot.com

Подпишитесь на рассылку FireSEO

и получайте подборки статей, полезных сервисов, анонсы и бонусы. Присоединяйтесь!

Автор:

Контент-менеджер в блоге FireSEO, пишу про интернет-маркетинг и разработку сайтов.

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

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

Эта статья – не пошаговый план освоения программирования с нуля от опытного разработчика с 10-летним стажем.

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

Краткая предыстория

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

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

Но за годы я так и не продвинулся в этом вопросе ни на шаг. Всё время были какие-то отговорки:

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

Суть подхода

Чтобы попробовать и понять твоё-не твоё необязательно поступать в университет или покупать дорогостоящий курс. Необязательно увольняться с работы и с головой окунаться в обучение по 8 часов в день (как советуют в некоторых видосах на YouTube).

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

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

Быстро – это медленно, но без перерывов

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

В итоге решил попробовать сразу два языка программирования: Python и Swift. Нашел бесплатные материалы и начал обучение.

Инфраструктура

Система обучения состоит из трех инструментов:

  • Notion – база данных. Организуем материалы для обучения, пишем конспекты
  • Google-таблицы – расписание и трекер прогресса
  • Таймер

Notion

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

У меня есть страница под названием «3. Programming». «3» – потому что это третья по приоритету цель на год. Под каждую важную цель/сферу у меня есть страница в Notion.

На главной странице ещё три страницы:

  • Project ideas – идеи мини-проектов, которые я хочу реализовать. Какие-то скрипты, небольшие программки для автоматизации.
  • Python и Swift – языки программирования, которые я изучаю.

Рассмотрим страницу «Python»

Первый элемент – простая канбан-доска с материалами, которые я хочу изучить. Каждый элемент имеет 3 параметра:

  • Статус – Not started, in progress, completed
  • Тип – Книга, видеоурок, текстовый или интерактивный курс
  • Ссылка

Одновременно в столбце In progress может быть не более 2 обучающих материалов, чтобы не распыляться и доводить начатое до конца.

Чуть ниже канбан-доски располагаются конспекты уроков. Конспекты делаю в первую очередь для себя, но так же делюсь ими в своём Telegram-канале. Удобно освежить в памяти пройденный материал.

В Notion есть специальный блок для вставки кода. Можно выбрать язык для подсветки синтаксиса.

  • Скачать Notion шаблон

Google-таблицы

Google-таблицы я использую как расписание и трекер прогресса. Решил, что буду чередовать изучение Python и Swift. В трекер добавил и другие цели помимо программирования.

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

Двигаюсь небольшими шагами, но регулярно. Можно быстро стартануть (учиться по 5-8 часов за день), но перегореть и забросить это дело.

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

Такой трекер реально работает для меня. Когда вечером нет сил и хочется посмотреть сериальчик, напрягать мозги и изучать Python – последнее, что хочется делать. Но если ты сегодня пропустишь занятие у тебя нарушится шахматная структура в таблице)

  • Скачать шаблон трекера (создайте копию для редактирования)

Таймер

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

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

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

Таймер можно использовать любой. На телефоне это может быть стандартный секундомер. На компьютере я использую таймер таск-менеджера TickTiсk в режиме Фокус.

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

Итог

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

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

То, что я не ставил минимальную планку по времени занятия, помогло делать это не надрываясь, в комфортном темпе.

P. S. Благодарю за прочтение этой статьи. Надеюсь, вы получили для себя пользу.

Если вам понравился этот материал, можете заглянуть в мой Telegram-канал «Изучаю Python и Swift с 0». Там я делюсь материалами по Python и Swift, которые изучаю, и скидываю конспекты по урокам.

#Мнения

  • 28 сен 2021

  • 0

Как научиться программировать

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

Marcin Wichary / Wikimedia / Annie для Skillbox

Kira 2pizza

об эксперте

Lead software engineer, автор Telegram-канала «Тупица Мёртв». Интересы: IT, код, софт, разработка, литература, игры.


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

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

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

Если после CS50 желание программировать не улетучилось и не сменилось разочарованием, начинай изучать язык программирования JavaScript. Тебе необязательно знать его от корки до корки или помнить наизусть все операторы и правила синтаксиса. Опять же, главное — разобраться с базовыми вещами: как запустить программу на JS, какие типы данных существуют, как написать условие и цикл. Для старта этого более чем достаточно.

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

Если же ты понятия не имеешь, за какой язык браться, то JavaScript будет лучшим выбором. Это самый популярный язык программирования в мире. На нём можно написать всё что угодно — даже игры. Плюс по нему полно обучающих материалов: и платных, и бесплатных.

А ещё JavaScript работает в любом браузере и тебе практически ничего не понадобится для старта — да и первые результаты ты получишь очень быстро. Кстати, обязательно посмотри на TypeScript: этот язык — почти как JS, только лучше. Вот пара ссылок для начала:

  • learn.javascript.ru;
  • typescriptlang.org/docs/handbook.

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

Написать первый код можно, когда освоишь самые базовые концепции. И тут появляется вопрос — а что именно писать? Ответ простой: решай простые задачи. Да, сначала будет трудно. Но это отлично прокачает тебя и поможет стать классным программистом. Есть куча разных сайтов с самыми разными задачами для программистов. Вот три самых известных:

  • leetcode.com;
  • hackerrank.com;
  • www.codewars.com.

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

Я не рекомендую сразу читать книги по программированию — они только затормозят тебя. К тому же русский перевод может быть вредным. Лучше читай официальную документацию и старайся искать ответы на вопросы, которые у тебя возникнут. Читать книги лучше уже после того, как ты освоишься, — они помогут систематизировать знания. Лучший ресурс с самой актуальной информацией по веб-разработке — это MDN (Mozilla Developer Network).

А если вдруг ты с трудом понимаешь англоязычные тексты, документацию или ответы со Stack Overflow, то обязательно прокачивай английский — параллельно с программированием. Минимальный уровень для кодера — умение сносно читать и писать. Без этого в программировании делать нечего.

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

Во-первых, можно делать какие-то простые вещи для себя, друзей и соседей, автоматизировать что-то, писать ботов для Telegram. Только заведи аккаунт в GitHub — пусть код хранится там. Знание Git тоже пригодится. Это профессиональный стандарт и «гигиенический минимум» разработчика. Изучать Git рекомендую на официальном сайте: https://git-scm.com/book/ru/v2.

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

Начать вникать в опенсорс можно с репозитория, в котором собраны популярные проекты от русскоязычных разработчиков. Конечно, новичкам лучше выбирать небольшие проекты. Советую обратить внимание на проекты моих любимых авторов Open Source — Никиту Прокопова и Андрея Ситника. А идеальный вариант — предлагать исправления в инструменты, которыми ты пользуешься сам.

Бывает, что самостоятельно очень сложно собраться и начать что-то делать. Все мы немного «ленивые жопы», и частенько без ментора просто не обойтись. Но это не значит, что нужно брать огромный кредит и отваливать кому-то кучу денег. Есть варианты намного доступнее. Например, на getmentor.dev можно найти людей, которые любят помогать другим, — и нередко они делают это бесплатно или берут чисто символическую плату.

И главное: программирование — это ежедневная учёба в течение всей жизни. И если тебя это не пугает — желаю удачи!


Научитесь: Профессия Разработчик
Узнать больше

Like this post? Please share to your friends:
  • Как найти мужчину близкого по духу
  • Как найти девушка в бишкек
  • Как найти преподавателя по химии
  • E701 multiple statements on one line colon python как исправить
  • Как найти геолокацию самсунга в телефоне самсунг