Как научиться программировать с нуля: мини-курс
Траты на ИТ-курсы в России в этом году выросли на 30-40% по сравнению с прошлым годом. Люди боятся потерять работу и хотят владеть навыками, не зависящими…

Траты на ИТ-курсы в России в этом году выросли на 30-40% по сравнению с прошлым годом. Люди боятся потерять работу и хотят владеть навыками, не зависящими от страны проживания.
Но одних курсов явно недостаточно, чтобы научиться программировать. Поэтому сегодня в рассылке — пошаговый мини-курс о том, как войти в разработку с нуля.
10 первых шагов:
1. Выбираем направление
2. Составляем дорожные карты обучения
3. Изучаем основы
4. Присоединяемся к сообществу
5. Геймифицируем обучение
6. Участвуем в буткемпах
7. Находим наставника
8. Учимся на публике
9. Составляем портфолио
10. Ищем первую стажировку
1. Выбираем направление

Первое, с чем нужно разобраться — это внутреннее желание погружаться в разработку. Без него процесс обучения быстро зайдет в тупик. Для этого рассмотрим основные области, где разработка создаёт ценность:
- Hardware — самый нижний уровень, взаимодействие с машинами. Это может быть программирование разных IoT-девайсов, Arduino и т.д.
- Cloud/Datacenter — уровень над «железками». Инфраструктура, на которой строится вся дальнейшая разработка. Этим занимаются DevOps и сисадмины.
- Runtime — создание удобных сред для разработки. Различные фреймворки и языки программирования.
- Services — внутренняя бизнес-логика приложений, их «мозги». Этим занимаются backend-разработчики.
- Applications — приложения. То, что видит и получает конечный пользователь. За это отвечают frontend-разработчики, iOS/Android-разработчики, геймдевы и т.д.Content — создание софта без непосредственной разработки, на базе готовых блоков.
- Bubble-разработчики, бизнес-аналитики, создатели сайтов на Tilda/Wordpress.
- С нуля проще всего начать на уровне Content или Applications. Так вы сможете быстрее получить обратную связь и понять, подходит вам разработка или нет.
2. Составляем дорожные карты обучения

Следующий шаг — выстроить для себя план обучения по выбранному направлению. Тут без английского никуда, хотя бы на среднем уровне — все лучшие обучающие ресурсы только на английском.
Вот примеры дорожных карт обучения:
- Roadmap.sh — пошаговые планы обучения для фронтенд и бэкенд-разработчиков.
- Обзор необходимых навыков для web-разработчиков.
- План обучения кибербезопасности.
- Data Science — подробный план изучения.
- Гайды по DevOps и Cloud.
Только не стоит пугаться — это всего лишь карты, не обязательно знать оттуда всё.
Далее будем рассматривать обучение на примере web-разработки. Это самый популярный путь, чтобы «войти в IT» — вам в любом случае придётся знать веб, хотя бы на базовом уровне.
Также нужно понимать конечный результат обучения — это может быть трудоустройство, фриланс-заказы на Upwork, собственный pet-проект. Полезно будет завести шаблон, в котором вы будете трекать прогресс — вот пример в Notion.
3. Изучаем основы

Ваши главные задачи, как новичка в программировании:
- Развить свои базовые навыки кодинга
- Создать портфолио проектов
- Научиться продавать себя на интервью
Всё это можно сделать и бесплатно, с помощью этих отличных ресурсов:
- Гарвардский курс CS50 — на русском и английском. Лучшее, с чего можно начать знакомство с Computer Science.
- FreeCodeCamp, Codecademy, W3Schools — интерактивные уроки для новичков.
- The Odin Project — пошаговые планы обучения веб-разработке.
- Stepik — множество разнообразных бесплатных курсов.
- «YouTube University» — на Ютубе можно найти столько крутого обучающего контента, какого нет даже в топовых университетах.
В общем, недостатка бесплатного контента нет — обычно есть только недостаток мотивации. Можно превратить обучение в привычку — выделить полчаса-час ежедневно, когда вы будете заниматься программированием и ничем другим. Либо использовать «мотивирующие стратегии», о которых поговорим дальше.
4. Присоединяемся к сообществу

Публичное обязательство поможет вам создать «команду болельщиков» и получить обратную связь. В одиночку вы можете быстро сойти с дистанции и благополучно забыть о программировании. Но сообщество единомышленников будет вас мотивировать продолжать работу.
Вот примеры сообществ для начинающих программистов:
- 100DaysOfCode — челлендж «100 дней кода» в Твиттере.
- CodeNewbie, Dev.to — форумы программистов.
- Makerpad — сообщество NoCode-разработчиков.
- Dip.chat — группы взаимоотчетности в Телеграме.
- Indie Hackers — комьюнити инди-стартаперов.
- r/LearnProgramming — сообщество на Reddit.
В основном сообщества взаимоподдержки англоязычные — на постсоветском пространстве они не получили распространения. С другой стороны, это отличная возможность потренироваться в английском.
5. Геймифицируем обучение

Что может быть лучше игры в обучении? Сейчас есть много платформ, где можно освоить программирование с помощью игр и челленджей:
Геймификацию можно использовать и для своего списка дел. Умельцы уже разработали шаблоны в Notion для превращения работы в игру:
- Level Up — превращение списка дел в мини-RPG с наградами и повышением уровня.
- Gamification Centre — геймификация привычек и ежедневных дел.
- Scrappy Task — выполняете свои дела и покупаете вкусняшки для кота Скрэппи. Некий аналог Тамагочи.
- Также есть похожее приложение Habitica для геймификации дел. За каждую выполненную привычку вы получаете золото, которое можно потратить на прокачку персонажа.
6. Участвуем в буткемпах

Один из лучших способов обучения — это когортные курсы и буткемпы. Так вы сразу получаете структурированную информацию, сообщество учеников и менторов. Сейчас даже появляются варианты бесплатного обучения, а также с оплатой после трудоустройства:
- Школа 21 от Сбера. Полностью бесплатное оффлайн-обучение. Есть кампусы в Москве, Казани и Новосибирске.
- Kata Academy — обучение фронтенд-разработке и Java с оплатой после трудоустройства.
- Минус таких программ — их тяжело совмещать с работой/учёбой, так как они требуют полного погружения. Но это один из самых быстрых способов освоить навыки программирования.
Если же вы обучаетесь с прицелом сразу на зарубежный рынок, изучите эти программы:
- Microverse — 8-месячный онлайн-буткемп с оплатой после трудоустройства.
- Outtalent — карьерный акселератор для выходцев из СНГ с оплатой после трудоустройства.
7. Находим наставника

Следующим этапом важно найти ментора. У вас уже есть набитые шишки и конкретные вопросы. Поэтому час общения с экспертом может сэкономить вам недели бесплодной работы.
Вы удивитесь, сколько людей готовы помочь вам менторством и экспертизой. Нужно лишь не бояться просить. Также можно просто воспользоваться платными сервисами:
- Solvery — маркетплейс менторов по программированию.GetMentor — сообщество IT-наставников.
- Coding Coach, Codementor — англоязычные маркетплейсы менторов.
- Глобальная Tech-индустрия также переживает острый недостаток девушек и других меньшинств. Поэтому если вы к ним относитесь, можете поискать сообщества взаимопомощи и гранты на обучение: например, Tech Ladies или Lesbians Who Tech.
8. Учимся на публике

С самого начала лучше приучить себя «обучаться на публике»:
- Узнали что-то новое — написали пост на блог-платформах Hashnode или Dev.to.
- Выложили тред в Твиттере.
- Запустили pet-проект — расскажите о нём на трибуне vc.ru или Indie Hackers.
- Разобрались в нюансах open-source библиотеки — дополните документацию с помощью пулл-реквеста. Можно искать небольшие open-source проекты, которые ищут контрибьюторов на First Timers Only.
- Сделали собственную тему для сайта — выложите исходники на GitHub.
- Всё это поможет вам закрепить полученные знания и начать строить портфолио проектов. Если у вас нет инженерного образования, демонстрация проектов в сообществах — самый надёжный способ получить первую работу.
9. Составляем портфолио

Вот отличная мини-книга по созданию портфолио разработчика. В конце есть ссылки на шаблоны портфолио: пример для UX-дизайнера и веб-разработчика. Можно оформить и в Notion — вот шаблон.
Хвастаться достижениями в нашей культуре не принято, но на Западе это считается нормой. Поэтому если вы планируете в ближайшее время искать работу за рубежом, заведите свой brag doc — «документ хвастовства». Там вы описываете: чего вы достигли на текущем месте, как компания выиграла от вас, сколько людей вы обучили и т.д. Вот шаблон такого документа. На его основе в дальнейшем будет намного проще составлять портфолио.
Ещё один важный документ при поиске работы — сопроводительное письмо. У нас их пишут «постольку-поскольку», но за рубежом хорошее письмо может выделить вас среди других кандидатов. Вот основные принципы:
- Обычный разговорный стиль. Избегайте корпоративных штампов — в молодой IT-индустрии их пропускают мимо ушей.
- Увлекательная история. Сопроводительное письмо должно раскрывать вас с выгодной для работодателя стороны. Расскажите историю, как вы пришли в свою профессию и почему хотите работать именно в компании Х.
- Уникальность для компании. Можно копипастить те части, которые касаются вашего бэкграунда. Но основная часть должна быть о том, как ваши навыки и интересы пересекаются с интересами конкретной компании.
- Хорошие примеры сопроводительных писем есть в той же мини-книге в приложении 2.
10. Ищем первую стажировку

Была статистика, что 60-70% вакансий не доходят до досок и закрываются через нетворк. Соответственно, на оставшиеся 30% вакансий приходится самая яростная конкуренция. Поэтому по возможности лучше искать работу проактивно и избегать досок (подробнее — в нашем прошлом выпуске).
Вакансии за рубежом можно искать на этих площадках:
- Relocate.me — вакансии с релокацией
- AngelList Talent, Startup Jobs — вакансии в стартапах
- WeWorkRemotely, RemoteOK — доски с удалёнными вакансиями
- Indeed — самый крупный агрегатор, по типу нашего Headhunter
- Сравнить зарплаты и должности в разных компаниях можно с помощью сервиса Levels.fyi.
- Для подготовки к собеседованиям есть отличная книга The Coding Career Handbook, а также сервисы для мок-интервью — Interviewing.io, Exponent.