Мой путь освоения программирования длился 5 лет. За эти годы я предпринял 3 попытки о которых хотелось бы вам рассказать. Описать свою историю обучения я решил по нескольким причинам.
а) Подвергнуть мой образовательный опыт анализу на предмет поиска процессов и подходов которые можно было бы улучшить
б) Я считаю что из опыта другого человека который делал тоже что и вы можно перенять полезности и не повторять совершенных им ошибок.
Поехали
Моя первая попытка научиться программировать была предпринята в далеком 2008 году. На тот момент в кругу моих знакомых появился программист. Он клепал сайты в одном местечковом агенстве на Joomla и для меня это было сродни какой-то магии. Общение с ним сформировало видение что учить и как это делать. Выбор языка пал на PHP (просто потому что он мне только о нем и рассказывал) Сам процесс обучения заключался в прочтении книги, сухая теория и никакой практики. Книга как я помню сейчас называлась PHР в подлиннике. Прочел книгу что-то понял, что-то нет, на момент завершения книги у меня не было четкого видения что делать дальше так я и забросил это дело. Хоть по итогу на мой взгляд я неплохо освоил некоторые концепции программирования.
Вторая попытка
Через несколько лет, тогда я работал в it агенстве. Я часто сталкивался с необходимостью составлять технические задания программистам и моя мания "педанта" все делать хорошо стала отправной точкой моего второго захода. На тот момент уже повсеместно использовался подход обучения через онлайн курсы. Перелопатив несколько курсов на предмет подбора стоящего, остановил выбор на курсе "Python для начинающих" уже не помню где я его проходил, курс был на английском и мне в нем понравилась ясная структура учебной программы. В курсе покрывались базовые понятия: типы данных, операции над ними по типу получить значение словаря по ключу и тд. Курс также содержал блоки практических заданий которые я исправно выполнял. Вторая попытка заняла у меня около месяца и пройденный курс придал мне уверенности, уже не казалось что программирование это сродни китайской грамоте:) Но я все еще не понимал как использовать приобретенные знания на практике. Затем по определенным причинам я был вынужден прервать обучение на несколько месяцев вернувшись к повторению курса обнаружилось что я очень многое из пройденного забыл.
Третья попытка
После пройденных курсов сформировалось четкое понимание что знать программирование и уметь программировать это разные понятия и что одними курсами навык программирования не освоить. И я решился на отчаянный шаг, а что если создать сайт не блог какой-нибудь, а что-то более функциональнее. На тот момент я уже второй год вынашивал идею создания сайта для любителей футбола с функционалом прогнозирования матча и прочим около футбольным функционалом. На тот момент я и понятия не имел во что ввязываюсь, но я рад что я взялся сделать это. Третья попятка заняла у меня около 8 месяцев и на выходе я уже уверенно пользовался Python, Django и PostgreSql Помимо освоенного инструментария этот практический опыт принес мне гораздо больше чем предпринятые ранее попытки. Если сравнить на примере, то первые две попытки рассказывали мне что такое кирпич, цемент и как из них можно сделать стену, а на третьей попытке я просто взял кирпич, цемент и построил из этого стену, потом понял что для стены нужен фундамент, снес построенное строение соорудил фундамент и построил на нем дом, а потом понял что нужна еще и крыша и ее прикрутил тоже.
Сейчас я понимаю что знания и навыки которые я получил третьей попыткой мне бы не дал ни один курс будь он платным или бесплатным. Только практический опыт программирования способен выработать в вас способность дебажить код (находить в нем ошибки) задачки из курсов это игры с винтиками, тогда как создание целой системы с нуля позволит вам встраивать эти винтики в это тело и только тогда вы поймете зачем вам знать про типы данных и уметь их обрабатывать. А самый главный вывод который я для себя сделал, так это то, что перед тем как учиться программированию нужно учиться этому учиться:)
P.S Ребята если вам понравилась статья, то ничего так сильно не мотивирует писать как признание аудитории для которой ты пишешь, поэтому просьба подпишитесь на мой канал, а если у вас возникли вопросы, то я с удовольствием на них отвечу.