30

Моя история: опыт изучения программирования

Привет дорогое сообщество pikabu!


Я бы хотел поделиться с Вами своей историей о моем долгом пути к изучению программирования. Может быть моя история кому то поможет поверить в себя и начать изучать программирование также как это получилось у меня. Извиняюсь за возможный сумбур в изложении и орфографические ошибки.


В настоящий момент я проживаю свой 33 год в этом мире. И половину из этих лет меня восхищали художники в компьютером мире - программисты. Всегда хотелось самому научиться «писать код». И не важно что это будет: сайт, программа или небольшой скрипт. Но так уж получилось, в силу тех или иных причин, мечта всегда откладывалась в дальний ящик. В институте нам преподавали программирование на Паскаль и Делфи. Но то ли не было понимания на тот момент, или желания и большой тяги к изучению, - обучение не задалось! С трудом сдавались лабораторные работы, эта куча открывающихся и закрывающихся фигурных скобок, непонятные конструкции, компиляция кода, исправление ошибок, снова компиляция... Все это отталкивало, подрывало веру в себя, в свои силы. В голове всегда крутилась мысль «программирование наверное не мое...». Тогда ещё не было многочисленных интернет-ресурсов, онлайн-курсов, интернет у большинства был «по карточкам» и войти в программирование была та ещё задача, если ты особо то и не понимаешь для чего тебе это нужно и в каком направлении двигаться. И вот, спустя может быть пару лет, у меня вновь появилось желание попробовать. Я пошёл в книжный магазин и накупил различных самоучителей по языку Basic. Сейчас уже и не вспомню почему тогда мой выбор остановился именно на этом языке программирования. Открыв любую книгу все начиналось как всегда «за здравие»: ну это вроде бы мне понятно, ну это ясно, ну это я знаю... Я пытался начать писать свой первый условный «калькулятор», радовался своим первым успехам, радовался тому, как достаточно легко и просто все у меня вроде бы получается. Но неизменно наступал момент, когда я переходил к новой главе книги, которую можно описать примерно так: «Итак, вы написали своё первое приложение(калькулятор), а теперь мы создадим свою первую нейтронную сеть!». То есть, каждый раз появлялась огромная пропасть, которую я не мог преодолеть. Желание освоить все и сразу играло со мной злую шутку. Мне казалось, что я знаю материал, но в реальности мои знания были поверхностными. И в определённый момент пробелов в знаниях языка становилось так много, что преодолеть пропасть непонимания следующей главы не представлялось возможным. Сложно было преодолевать первые неудачи-препятствия. В дополнение к этому наверное лень, отсутствие должной мотивации, непонимание того где и как я смогу применить полученные знания в очередной раз поставили крест на моих попытках научиться программировать. И вот, полтора года тому назад я сделал третью попытку. К этому меня подтолкнул пример коллеги по работе, который самостоятельно освоил связку php+MySQL и автоматизировал несколько бизнес-процессов на нашей и своей прошлой работе. Его код был не то чтобы ужасен, но он работал и приносил пользу людям. И я задал себе вопрос: «если он смог, чем я хуже?». В этот раз к выбору языка программирования я подошёл более ответственно. Мне не очень понравился вариант с web-ориентированным PHP. Хотелось чего-то простого, понятного, красивого, развивающегося, достаточно современного, с максимальной широтой направлений для последующего применения. Так мы с другим моим коллегой остановили свой выбор на Python и начали вместе его изучать! Python мне сразу понравился своей понятностью, лаконичностью и чистотой кода, кучей готовых библиотек и «батареек» на все случаи жизни. Python не ограничивает написание когда на основе только лишь классов(к примеру) - можешь писать как тебе нравится, и это тоже подкупало. Я прочитал кучу статей об изучении Python, где все сводилось к изучению книг Луца и Саммерфилда. Но слава богу я пошёл другим путём. Дело в том, что труды этих авторов сродни библии. В этих книгах все слишком серьезно и основательно для изучения, - они больше похожи на справочники, чем на учебные пособия. Путём «проб и ошибок» я подобрал себе другие книги и учебные материалы по Python, которые мне больше подошли. Но самое главное нашёл бесплатный онлайн-ресурс, где по каждой теме даются лишь необходимые для изучения основы и по 10-15 задач для закрепления материала раздела. Данный ресурс не позволял мне убежать вперёд, пока я не изучу материалы предыдущего раздела. Задачи этого курса относятся к так называемому «спортивному(олимпиадному) программированию». Да, они не решают каких либо реальных задач, с которыми в реальности приходится сталкиваться программистам. Но они позволяют освоить синтаксис и основные конструкции языка. То, что мне было нужно! В общем, спустя год моей борьбы с языком и с собой(лень, прокрастинация итд итп), с перерывами и остановками, но я наконец то закончил этот курс! Несколько раз сталкиваясь со сложными(для меня на тот момент) задачами я даже бросал изучение, но мысль о незаконченном деле не давала мне покоя и я вновь возвращался к прохождению курса. Хотя, наверное, хватило бы и 2-3х месяцев усиленной и целенаправленной работы, а то и того меньше при наличии свободного времени. Это где-то 130 задач на работу с основными типами данных(строки, числа, множества, списки, словари). Параллельно читал книги и другие материалы, установил приложение с Python на iPad и программировал по дороге в метро. Это наверно даже не треть того, что необходимо знать полноценному программисту на Python. Но это позволило мне начать делать свои первые реальные проекты: например спарсить данные с веб-страницы, открыть pdf документ-найти все используемые слова и перевести их через api яндекс-переводчика и так далее.

Сейчас я пытаюсь изучать фреймворк Django. Даётся с трудом. Пока что освоил базовые вещи для работы с моделями, формами и шаблонами. Но это позволило мне сделать свой первый web-проект на Django+bootstrap, который позволяет вести реестр адресатов(отправителей), создавать шаблоны конвертов на основе документов word и собственно печатать эти самые конверты.

Сейчас моя цель(если хотите мечта) к которой я хочу прийти - это создание небольшого портала(социальная сеть) для одного (скажем так) оффлайнового сообщества.

По прошествии лет, глядя сверху вниз на упущенные годы, я сделал следующие для себя выводы, которые можно описать следующими высказываниями(не моими конечно же):

1. Дорогу осилит идущий.

2. Не так страшен черт как его малюют.

3. Курочка по зернышку клюет.

4. Не боги горшки обжигают.

Главное поставить себе цель, целенаправленно идти к ней маленькими шагами и все обязательно получится и приложится!


Вот собственно и вся моя история. Надеюсь она кого-нибудь сподвигнет начать программировать: автоматизировать рутинные задачи, создать свой первый web-сайт, игру и в последствии, возможно стать полноценным разработчиком и получить свою первую работу! Для меня это уже скорее хобби и приложение к основной работе... хотя может ещё не все потеряно в мои 33 года? :)


Что хотелось бы ещё добавить: найдите себе компаньона, с которым вы могли бы вместе изучать язык программирования. Лично мне это очень помогало: всегда можно обсудить какие-то непонятные моменты, на определенных этапах присутствует «дух соперничества» и вообще вместе веселее. Будет совсем идеально если вы найдете ментора - того человека, который уже прошёл этот путь и как учитель может подсказать вам непонятные моменты.


От себя хочу добавить, что готов оказать помощь всем желающим, кто хотел бы изучить Python или Django. С радостью поделюсь хорошими электронными материалами по изучению Python(книги, видеокурсы), подскажу толковые веб-ресурсы и расскажу как изучал я, а также помогу на уровне своей компетенции в этих вопросах :) Быть может тут найдутся те, кто знает html+css+jscript и хотел бы освоить бэкэнд на Python - я думаю мы могли бы найти общий язык :)


Буду безумно признателен, если найдётся такой человек(ментор), который уже прошёл свой путь и поможет мне постичь азы web-разработки на фреймворке Django!

Правила сообщества

Публиковать могут пользователи с любым рейтингом. Однако!


Приветствуется:

• уважение к читателям и авторам

• конструктивность комментариев

• простота и информативность повествования

• тег python2 или python3, если актуально

• код публиковать в виде цитаты, либо ссылкой на специализированный сайт


Не рекомендуется:

• допускать оскорбления и провокации

• распространять вредоносное ПО

• просить решить вашу полноценную задачу за вас

• нарушать правила Пикабу

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества