Начну с признания: я бросил изучать Python. Я перестал искать новейшие библиотеки, фреймворки и обновления синтаксиса.
Я больше не увлекаюсь руководствами по «продвинутым Python-хакам» и не углубляюсь в новейшие возможности языка, такие как сопоставление шаблонов. Но вот в чем загвоздка — отказ от этих занятий сделал меня гораздо лучшим разработчиком.
Проблема с постоянным обучением
Самая большая ошибка разработчиков — и моя в том числе — считать постоянное обучение прогрессом. Мы поглощаем каждый новый курс, пост в блоге и видео, надеясь, что бесценные крупицы знаний превратят нас в мастеров программирования.
Спойлер: это не так.
В результате я оказался в ситуации, которую назвал «учебным адом». Я много знал о Python, но столкновение с реальными проблемами приводило меня в ступор. Почему? Потому что я был слишком занят изучением инструментов, а не тем, как их использовать.
Знание — понимание того, что помидор является фруктом. Мудрость — понимание того, что его нельзя класть во фруктовый салат.
Переломный момент
Однажды, оказавшись в тупике при отладке запутанного кода, я осознал: «Вместо того, чтобы нагромождать инструменты на инструменты, почему бы не освоить фундаментальные понятия?«
Я решил всерьез взяться за алгоритмы, шаблоны проектирования и основные библиотеки, решающие реальные проблемы.
Начал с того, что отписался от новостных рассылок, перестал смотреть последние выступления на Python-конференциях, удалил половину закладок. Затем сосредоточился на трех направлениях:
- базовые аспекты Python: пересмотрел основные понятия, такие как структуры данных, работа с файлами и управление ошибками — не просто чтобы знать их, а чтобы свободно их использовать;
- решение проблем: начал ставить перед собой вопрос: «Какую проблему я решаю?», а не «Какой самый крутой способ написать для этого код?»;
- выборочное освоение библиотек: выбрал несколько библиотек (например, Pandas для данных, Flask для веб-разработки и Requests для API) и решил освоить их досконально.
Почему это сработало
Когда я перестал воспринимать Python как бесконечный лабиринт и начал работать с ним, как слесарь с молотком, моя продуктивность резко возросла. Вот почему.
1. Совершенствование базовых навыков
Знание основ — все равно что владение швейцарским армейским ножом: даже не отличаясь выдающимися способностями, вы всегда справитесь с работой. Теперь я могу работать над проектом, не обращаясь к Google на каждой третьей строчке кода.
2. Развитие проблемно-ориентированного мышления как суперспособности
Вместо того, чтобы спрашивать: «Как использовать TensorFlow для решения этой проблемы?», я начал задаваться вопросом: «Каков самый простой способ ее решить?» Удивительно, как часто ответом оказывается что-то до смешного простое, например цикл for.
3. Извлечение преимуществ специализации и конкретизации
Сосредоточившись на нескольких библиотеках, я начал работать быстрее и стал увереннее в себе. Это как мышечная память — если вы решили 50 задач с помощью Pandas, 51-я покажется прогулкой по парку.
Неожиданные плюсы
Самое забавное в отказе от прежнего способа работы — это то, что он освободил мое ментальное пространство. Вместо того чтобы беспокоиться о том, чтобы оставаться «в тренде», я потратил время на эксперименты. Вот несколько проектов, которые я создал во время паузы в непрерывном обучении.
- Трекер личных расходов: используя Pandas и Matplotlib, я создал нечто более полезное, чем то, чему мог бы научиться из туториалов.
- Приложение для выполнения дел на основе Flask: не инновационное, но работает именно так, как мне нужно.
- Скрипт для упорядочивания PDF-файлов: на это меня вдохновили захламленный рабочий стол и состояние фрустрации. Но необходимость рождает изобретения.
Каждый проект научил меня тому, что мне действительно было нужно.
Как насчет того, чтобы оставаться в курсе новостей?
Кто-то может спросить: «А вы не отстанете от последних трендов?«
Конечно, я не окажусь в первых рядах исследователей новейших возможностей Python. Но дело в том, что базовые навыки не выходят из моды. Алгоритмы, чистый код и эффективное решение проблем всегда будут актуальны.
Что же касается последних трендов, готов взять их на вооружение, если они решат проблему, которая меня волнует. До тех пор предпочитаю не обращать внимания на шумиху.
Подведем итог
Если вы перегружены всем этим разнообразием контента по Python, подумайте вот о чем: возможно, не стоит изучать больше — нужно просто использовать то, что вы уже знаете.
Так что бросьте изучать Python — не полностью, но стратегически. Сосредоточьтесь на главном. Освойте фундаментальные понятия. Решайте реальные проблемы. Вы удивитесь, как далеко это может вас завести.
В конце концов, вспомните слова Брюса Ли:
Я не боюсь того, кто отработал 10 000 ударов один раз, но я боюсь того, кто отработал один удар 10 000 раз.
Читайте также:
- В чём разница между [0] * 3 и [0, 0, 0] в Python? Только сеньоры знают правильный ответ
- 20 Python-скриптов для автоматизации повседневных задач
- 28 суперполезных фрагментов Python-кода для решения повседневных задач
Читайте нас в Telegram, VK и Дзен
Перевод статьи Abdur Rahman: How Stopping Coding Turned Me Into a Truly Better Developer





