Программисты говорят, что учиться нужно всю жизнь. И это правда, как в любой профессии: юрист перечитывает изменения в законах, маркетолог изучает иностранную практику и интересы аудитории. Программист — учит популярные языки программирования.
В статье делимся приемами, как стать программистом без 10 тысяч часов практики и 100 книг. Вы не потратите жизнь или 5 лет в университете, чтобы написать первый код.
Меньше читайте, больше делайте руками
Часто новички покупают книги на 1000 страниц, подписываются на тематические блоги и паблики. Считают, что знаний много не бывает. Чем больше информации прочитают, тем лучше станут программировать. Но программист — это не теоретик, а практик.
Вы не научитесь графическому дизайну после первого урока курса, если не открывали Photoshop. И не соберете ракету, если не умеете рисовать и читать чертежи. Человек не учится программированию, пока не пишет код. Книги, курсы, видео — восприятие информации, но не практика.
Средняя скорость чтения — 50 страниц в час. Книгу в 1000 страниц человек прочтет за 20 часов. Спросите, что он запомнил из всей книги и поймете, почему люди либо ничему не учатся из книг, либо перечитывают по 10 раз одно и то же. Хотите учиться дольше — читайте и ничего не делайте. |
Остановите информационный голод. Сосредоточьтесь на одной книге или курсе. Например, решили учить C++. Дочитали до переменных — сразу практикуйтесь. Откройте редактор кода (например, Visual Studio) и отработайте тему.
Посмотрите на пример из книги и перепишите в редактор. Подставьте к примеру различные значения, переставьте местами, проверьте работу. Только так поймете сильные и слабые стороны — что повторить и пойти на следующую главу. Это как работать в мастерской: можно годами читать, как работает станок. А когда дело дойдет до практики — ничего не понять.
Читайте книги, читайте код. И запускайте, чтобы проверить работу на практике
Вторая проблема — написать код по примеру из книги и дальше с ним ничего не делать. Человек думает, что если написал по учебнику или советам профессионала, то все правильно.
Рассмотрим на примере с ракетой. Инженер сутками пересматривает чертежи. Он изучил каждый рисунок, линию, деталь. Ночью спроси, как устроен реактивный двигатель — пересчитает элементы на пальцах. Но Нил Армстронг не приземлился на Луну. А Гагарин не облетел Землю. Инженеру хватило изучить чертеж. А ракету смысла строить нет, она и так правильная.
Доверяй, но проверяй. Суммирует ли математическая программа переменные 5 и 2 в цифру 7. А какие файлы собирает архиватор: добавляет ли документы и картинки, или только картинки. Разберетесь, как устроен код и его элементы — сделаете также и лучше. Не придется перечитывать учебник. Или покупать новый курс, потому что в старом ничего не понятно.
Тестируйте все, что написали из книг, курсов, видео на Youtube. Еще вариант — пользоваться шаблонами кода. Это поможет, когда обратиться за советом не к кому. А книги устаревают, взять актуальных примеров вряд ли получится.
Вот несколько вариантов с шаблонами:
-
Маркетплейс программ codester.com. Смотрите на примеры с наибольшим рейтингом – это программы без ошибок.
-
Шаблоны проектов Visual Studio для C++ и C# (бесплатно).
-
6000 тысяч платных шаблонов для Android и iOS на codecanyon.net
-
Попросите у коллег на форумах, в тематических группах.
А можно пойти на курсы, где не нужно искать шаблоны. Вместо перечитывания и запуска кода вы практикуетесь сразу в правильном направлении. Есть ошибка — поправим и расскажем, почему так. Без Google и форумов. Перейдите поссылке, чтобы больше узнать об обучении в IT STEP.
Пользуйтесь отладкой, чтобы учиться на ошибках
Лучшая практика — найти проблему и решить ее. На конкретном примере человек понимает, где не нужно ошибаться и как делать правильно. Чтобы найти ошибку в коде, программисты используют несколько методов. Для новичков хватит и отладчика.
Представим, что вы написали код для игры Fallout. Пользователь запускает игру и получает ошибку.
Игра не работает, а значит программист ошибся. Начинающий пойдет за ответами на форумы или к более опытным программистам. Скорее всего, получит ответ и исправит ошибку. В этом варианте человеку не объяснили, где и почему он сделал неправильно. Если случится аналогичная проблема, программист снова пойдет на форум за ответами.
В школе любители шпаргалок делятся на 2 группы. Первые готовили ответы из Интернета, приходили на контрольную и списывали. Вторые писали в шпаргалку ответ и смотрели, почему так. Поведение групп отличается и на следующих уроках:
-
Если шпаргалка неправильная: первый – списал и получил двойку, а второй — увидел ошибку дома и сделал правильную шпаргалку.
-
Если в новой теме методы, термины из прошлой: первый — ничего не понимает, второй — анализировал прошлую тему и ответы по шпаргалке, может сделать новую домашку и подготовиться к контрольной.
Чтобы учиться быстрее, следуйте примеру второй группы. У вас есть готовый код — пример из книги, курса. Это шпаргалка. Сделайте в примере ошибку. Затем проверьте код через отладчик (debugger).
Вот как это работает на примере редактора кода Visual Studio.
Режим отладки запускается через клавишу F5
Отладчик прочитывает код: строчка за строчкой. Если появится ошибка, он расскажет о ней несколькими способами:
-
Красные волны — исправляйте ошибку.
-
Зеленые волны — изучайте. Если строка или переменная не мешает коду выполнять поставленные задачи — пропускаем и идем дальше.
-
Исключения, как на примере ниже.
Уведомление показывает — строка кода не считывает данные.
Microsoft Visual Studio написали документацию с разделом «Отладка». Если изучили теорию и готовы анализировать ошибки — прочтите руководство и попробуйте на шаблоне с ошибками от Visual Studio. Руководство доступно на русском языке.
Резюме
Меньше читайте, а делайте руками. Мир программирования познается только через метод проб и ошибок. Если вы самоучка — сможете учиться быстрее и не покупать 10 тысяч страниц книг.
Другой вариант сократит 5 лет института до 2.5. Или год анализа ошибок в 6 месяцев обучения с преподавателем. 2 раза в неделю вместе с коллегами вы решаете практические задачи, знакомитесь с программированием и с первых недель начинаете работу над портфолио. Эти проекты не стыдно показать на собеседовании. А полученного опыта хватит, чтобы стать ментором и помогать другим.