Шаг 0. Определиться, что вы хотите делать
Программирование — это не одна профессия. Разработка сайтов, серверная часть, мобильные приложения, тестирование, анализ данных — разные занятия с разным входом.
Не обязательно решать навсегда, но выбрать направление на первые месяцы нужно: маршрут у них разный, и метание между ними — главный способ потерять полгода.
Если совсем непонятно — начните с того, что видите глазами. Веб-разработка даёт быструю обратную связь: написал, обновил страницу, увидел результат. Это здорово держит на старте.
Шаг 1. Один язык до рабочего уровня
Не два и не три. Один.
Рабочий уровень — это когда вы можете написать программу на сто-двести строк, не подглядывая в учебник каждые пять минут. Понимаете типы данных, циклы, функции, работу с файлами, умеете читать сообщения об ошибках.
Обычно занимает два-четыре месяца при паре часов в день. Быстрее бывает, но редко.
Шаг 2. Первый маленький проект
Как только базовый синтаксис перестал пугать — делайте что-нибудь своё. Не после курса, а параллельно.
Это ключевой шаг, на котором отваливается больше всего людей. Пока вы решаете задачи из учебника, всё понятно. Когда садитесь делать своё — оказывается, что не знаете, с чего начать. Это нормально, и через это надо пройти.
Возьмите что-нибудь крошечное: программа, которая переименовывает файлы, считает что-то в тексте, дёргает данные из открытого источника.
Шаг 3. Инструменты вокруг кода
Система контроля версий, командная строка, отладка. Без этого вы не сможете ни показать свою работу, ни работать с чужой.
Здесь достаточно базового уровня: сохранять изменения, работать с ветками, разрешать конфликты. День-два на освоение, зато пользуетесь всю жизнь.
Шаг 4. Хранение данных
Почти любая настоящая программа что-то хранит. Базовый набор: как устроены таблицы, как выбрать данные с условием, отсортировать, объединить две таблицы.
Это учится быстро, а на собеседованиях спрашивают всегда.
Шаг 5. Настоящий проект
Тот, которым вы или кто-то другой будете пользоваться. Развёрнутый, с описанием, доведённый до конца.
Это ваш главный аргумент при поиске работы. Не курс, не сертификат — работающая вещь по ссылке.
Шаг 6. Работа с людьми
Самый пропускаемый и самый ценный шаг. Найдите проект, где вы будете работать не один: чужой открытый проект, команда единомышленников, волонтёрская задача.
Причина простая: у самоучек почти никогда нет опыта работы в команде, и именно его проверяют на собеседовании отдельно. Плюс это единственный способ научиться читать чужой код и объяснять свои решения.
Сколько всё это занимает
Честно: от восьми месяцев до полутора лет при регулярных занятиях. Обещания «войти в профессию за три месяца» относятся к тем редким людям, кто занимается по восемь часов в день и имеет подходящий бэкграунд.
Регулярность важнее интенсивности. Час в день пять раз в неделю даёт больше, чем восемь часов по воскресеньям.
На чём сходят с дистанции
- Прыжки между языками. Начал Python, услышал про JavaScript, попробовал Go — и три месяца впустую.
- Бесконечные курсы без практики. Смотреть, как кто-то пишет код, приятно и создаёт ложное ощущение прогресса.
- Первый свой проект. Слишком большой замысел — и человек тонет.
- Одиночество. Без людей вокруг мотивация держится в среднем месяца три.
Частые вопросы
Можно ли начать после тридцати?
Нужна ли математика?
Хватит читать — пора делать
На CohortX можно найти команду под пет-проект и получить тот самый опыт, о котором спрашивают на собеседовании.
Похожие статьи
- Python from scratch: what to learn and in what orderThe order of topics from variables to a first service, what can wait, and where people usually get stuck.
- Python с нуля: что учить и в каком порядкеПорядок тем от переменных до первого сервиса, что можно пропустить на старте и на чём обычно застревают.
- How to ask questions that get answeredThe shape of a good question, how long to struggle alone, and why asking well is valued as a skill in itself.