Всем доброго дня.
Как я уже писал ранее, сейчас я все силы отдал обучению. И оно дается мне очень тяжело. А впрочем кому с ним было легко? Трудности при смене профессии или как в моем случае специальности, ждут каждого. И с ними нужно как-то уметь справляться. По статистике примерно 9 из 10 человек решивших стать программистами бросят это дело и вернутся на предыдущую работу. И самое обидное, что некоторым из них при этом будет не хватать совсем чуть для достижения поставленной цели. И сейчас я хочу поделиться одним важным советом, который поможет не сбиться с пути.
Python это сложно
Программирование это такая специальность, что чем большее им занимаешься, тем больше понимаешь Сократа с его бессмертным изречением: «Я знаю , что ничего не знаю». Да все именно так, чем больше учишь программирование, тем больше понимаешь, что на самом деле ничего в этом деле не смыслишь.
Вот пример из Python веб-разработки:
- Сперва учим типы данных - ничего все просто.
- Потом начинаются функции - вроде терпимо.
- Алгоритмы, декораторы, рекурсии - уже сложно.
- ООП - мозг начинает закипать.
- А потом начинаем работать с веб сервисами и многопоточностью - и все, мозг уже делает "бум".
А потом понимаешь, что это только самое начало пути и дальше будет только хуже:
- Десятки самых разнообразных библиотек и фреймворков которые надо знать.
- Страшные слова вроде: Дескрипторы, мета классы, паттерны.
- Да и вообще знание Python это только 20-30% от того, что нужно знать для устройства на работу. А еще есть базы данных, операционные системы, JavaScript\HTML\CSS, GIT, Docker и много чего еще
Неудивительно, что сдаться в середине обучения проще простого. И что бы этого не произошло я могу дать один совет.
Не забывайте себя хвалить.
Да все именно так, каждый раз когда вам кажется, что эту тему вам не понять, все очень сложно и у вас ничего не получится - вспоминайте кем вы были в самом начале обучения? Как вам сложно довались основы, и как неуверенно вы себя чувствовали. Затем сравните как те же самые действия вы делайте сейчас. Оцените прогресс и скажите себе, что то что вам сейчас кажется трудным через некоторое время будет настолько же простым как и основы программирования сейчас. Вы прошли долгий путь, и победили немало трудностей. Дальше все будет точно так же.
Вот пример как это выглядит у меня:
Основы языка, типы данных, функции, циклы итд.
Год назад. Мне казалось, что я никогда не запомню синтаксис, даже самые простейшие операции вроде создание и работы со словарем, циклы условия. Все это я копировал из примеров и пытался как-то настроить под свои нужды.
Сейчас. Я уже на полном автомате пишу простой Python код никуда не подглядывая. Циклы, условия, создания функций и классов, все пишется по памяти, даже без помощи IDE.
Алгоритмы.
Год назад. Какие еще сортировки? Я знаю list.sort() с меня хватит. Рекурсии? Нет спасибо, никогда не буду их использовать. Бинарный поиск? Что это такое?
Сейчас. Знаю несколько видов сортировок и могу по памяти написать их алгоритм. Рекурсии... в принципе ничего страшного в них нет, я научился читать код с их применением и самому использовать их, когда это эффективно, в том числе при написании того самого бинарного поиска.
Клиент-серверная архитектура.
Год назад. А ну HTTP это такое волшебное слово которые мы в начале названия сайта вводим, нет?
Сейчас. Знаю все основные HTTP запросы, где их можно применить и для каких целей. Протокол TCP IP, что такое IP адрес, порт и так далее. Да мне еще нужно много чего понять, но я в процессе.
Декораторы, дескрипторы, метаклассы, многопоточность.
Год назад. Так ну тут сразу пас.
Сейчас. Уже успел поработать с каждым из этих терминов. На словах смогу объяснить смысл каждого из них. И с небольшой помощью доп. материалов написать скрипт с их использованием.
Нельзя перескочить пропасть в два прыжка.
Поэтому мы будем двигаться через неё маленькими шажками... Обучению Питону как и любому другому языку программирования очень долгое, сложное и чем дальше в лес, тем толще партизаны... Но если не забывать хвалить себя, вспоминая сколько трудностей уже преодолели. То все получится. Обязательно!