С чего начать изучение программирования с нуля
Как выбрать язык для изучения
Существует более 250 языков программирования, каждый из них решает свои задачи. Чтобы выбрать, с какого языка начать обучение, рекомендуем опираться на несколько критериев.
Популярность языка. Чем популярнее язык, тем больше курсов и обучающих материалов по нему вы найдёте в открытом доступе. Сервис GitHub опубликовал отчёт Octoverse, в котором назвал популярные языки в 2022 году. В десятку вошли:
Область применения. Разные языки применяют в разных областях программирования. Например, JavaScript — клиентский язык, на котором, как правило, создают интерфейсы, то есть всю визуальную часть сайта: кнопки, иконки, формы, плашки.
Всё, что у сайта «под капотом», например интеграцию интернет-магазина с платёжным шлюзом для оплаты заказа, пишут на серверных языках — Python, Ruby, PHP, C++, Java, SQL. Для разработки мобильных приложений используют Swift, Flutter и Kotlin, а для создания игр — C# и С++.
Если вы уже представляете, в какой области программирования хотели бы себя попробовать, выбирайте язык, который там пригодится.
Количество вакансий. Чем больше предложений для специалистов со знанием того или иного языка, тем больше шансов найти работу после обучения. По данным Zarplan, по количеству вакансий на российском рынке лидируют SQL, Python, JavaScript, Java, C++.
Еще можно обратиться к карьерным консультантам или готовым продуктам, которые помогут вам определиться. Например, в Яндекс Практикуме есть бесплатный профориентационный курс «Какую профессию в программировании выбрать». Из него вы узнаете, какие в этой сфере бывают направления и какие навыки для них нужны.
С чего начать обучение
Есть три способа освоить программирование.
Обучение на онлайн-курсах. Базовые знания можно получить на образовательных платформах, таких как Практикум или Stepik. Они хороши тем, что можно заниматься дистанционно из любой точки мира — в свободное от основной работы или учёбы время. Вы можете подобрать удобное для вас расписание и формат занятий.
Кроме того, не придётся искать обучающие материалы самостоятельно: на курсах дадут список полезной литературы. Чтобы понять, подходит ли вам такое обучение, попробуйте для начала пройти один из бесплатных курсов, которые предлагает сервис.
Обучение на офлайн-курсах. Очные курсы по программированию можно найти на базе технических вузов, например МГТУ им.Баумана. Также бесплатные программы обучения регулярно запускают крупные компании. Как правило, они обучают людей с возможностью дальнейшего трудоустройства.
Например, у Академии Яндекса есть сезонные школы с программами для начинающих разработчиков. Обучение бесплатное, для участия нужно пройти конкурсный отбор. Кроме изучения теории студенты работают над проектами под руководством менторов из Яндекса.
Самообразование на основе учебников и видеокурсов. Учиться самостоятельно можно по книгам, статьям, видеоурокам и документации к языкам. Список бесплатных ресурсов вы найдёте в конце статьи.
Чтобы обучение было эффективным, составьте список необходимых знаний и навыков для изучения. Для работы программистом недостаточно выучить один язык. Например, фронтенд-разработчику кроме JavaScript нужно знать HTML-вёрстку и таблицы стилей CSS. А ещё вам в любом случае понадобится знание английского языка.
На что обращать внимание при выборе курсов
Программа курса. Она должна быть в открытом доступе, понятно и доступно расписана по тематическим блокам, с таймингом — сколько часов занимает блок. Если вы уже составили дорожную карту, то сможете прикинуть, подходит ли вам программа, всё ли необходимое там затрагивают.
Преподаватели. Хороший преподаватель — работающий программист. Только такой учитель сможет дать знания, применимые на практике. Изучите на сайте школы, кто именно ведёт курс, какой у него опыт работы в сфере IT. Ориентируйтесь на специалистов из ведущих IT-компаний.
Отзывы. Читайте отзывы о курсах школы на тематических форумах и сайтах, например на «Хабре». Если смотрите на сайте самой школы, обратите внимание, есть ли там ссылки на реальные контакты или соцсети учеников, так как отзывы могут быть недостоверными. Лучше всего идти учиться по проверенной рекомендации. Попробуйте найти знакомых, которые уже где-то учились программированию или работают в IT.
Портфолио. Узнайте, будет ли на курсах работа над реальными проектами. Так вы сможете уже во время обучения получить первый опыт работы и сформировать портфолио. Иначе трудоустроиться будет очень сложно.
Условия обучения. Перед обучением уточните, есть ли возможность академического отпуска, если курс длится больше полугода. За это время могут возникнуть разные обстоятельства: большая загруженность на основной работе, больничный, переезд. Если участие в курсе платное, уточните, возвращают ли деньги за непройденную часть программы: вдруг вы начнёте учиться и поймёте, что вам это не подходит.
Полезные ресурсы для самообразования
Делимся списком ресурсов, которые помогут самостоятельно обучиться программированию.
Что посмотреть
Ютуб-канал Академии Яндекса — канал с обучающими видео по программированию от экспертов Яндекса. Есть уроки по мобильной разработке, бэкенду, интерфейсам, Data Science.
LearnCode.academy — канал с роликами о веб-разработке. Основной фокус на изучении JavaScript и смежных инструментов.
«Гоша Дударь» — на канале можно найти как общие уроки по основам разработки, так и обучающие ролики, посвящённые разным языкам, например C++, Java. А ещё автор канала учит создавать игры.
#SimpleCode — канал о том, как программировать на C++ и C#.
ProgrammingKnowledge — канал для начинающих программистов. Можно найти много пошаговых пособий по разным языкам.
Что почитать
Хендбуки Академии Яндекса — интерактивные онлайн-учебники от экспертов Яндекса и партнёров. Помимо изучения теории на платформе можно решать задачи, следить за своим прогрессом и обсуждать вопросы с комьюнити. Подойдут как для начинающих специалистов, так и для тех, кто давно в индустрии и хочет освежить знания по отдельным темам.
Учебник по JavaScript — подробный гайд по языку JavaScript. С самого начала и до продвинутых концепций.
Medium — платформа, где собрано множество статей о программировании. Публикуются они в блогах, которые ведут практикующие разработчики. В основном на английском языке.
«Хабр» — самая крупная площадка об IT и программировании в Рунете. Можно найти полезные статьи, гайды, подборки обучающих материалов.
Где пообщаться
CyberForum — один из самых популярных форумов разработчиков в Рунете. Можно задать вопросы по обучению, найти помощь в решении сложной задачи и просто пообщаться с комьюнити. Есть разделы для новичков.
StackOverflow — русскоязычный сайт в формате «вопрос — ответ». Разработчики помогают друг другу с самыми разными задачами.
«Хабр Q&A» — площадка с вопросами и ответами от крупнейшего ресурса для IT-специалистов.