Как не стать Python-разработчиком

Как выглядит трек обучения программированию на Python с нуля? С чего стоит начать? На чем сделать акцент? Как не потерять интерес?

Полгода я искал ответы на эти вопросы, тщательно исследуя предметную область. Я обнаружил много полезных советов. Особенно в заметке Василия Большакова и на Хекслете. Но мне не хватало структуры. Знания нарастали со всех сторон и превращались в кучу. Чтобы структурировать процесс обучения и оценить его масштаб, я собрал план.

Составляя программу, я ориентировался на философию Тима Петерса, который сформулировал The Zen of Python:
Простое лучше, чем сложное
Сложное лучше, чем запутанное
Практичность важнее безупречности
Ошибки никогда не должны замалчиваться
Сейчас лучше, чем никогда...


План обучения


В разработке я новичок, поэтому мой путь начинался с самых азов. На текущий момент я прошел примерно половину. Скорее всего я что-то упустил, в чем-то не разобрался как следует. Если вы хотите поделиться опытом или советом, то смело пишите в комментарии. Также важно отметить, что трек обучения рассчитан на пользователей Мак ОС. Другие платформы имеют свои особенности, о них говорить мы не будем.

Программа разбита по шагам. Последовательность условная. Внутри каждого шага есть задачи со звездочкой — желательные, но необязательные.

1. Понять зачем вам это надо


У меня две цели: быстро проводить анализ данных и создавать прототипы для проверки идей. Для этого мне достаточно знать несколько подходящих библиотек, понимать чужой код и немного писать свой. Какая цель у вас?

2. Подружиться с командной строкой



3. Настроить среду разработки и рабочее окружение


  • Начать с подходящего текстового редактора: Sublime Text, Atom
  • Потерять веру в себя впервые столкнувшись с Vim
  • Дорасти до IDE



Выбор разработчиков, проходивших интервью в Triplebyte


“I am a huge believer in learning by doing, and there are a lot of opportunities on the job where I can hone my Python skills through Deliberate Practice” Robert Chang

4. Изучить синтаксис и структуры данных Python на практике



Для тех кто любит онлайн-курсы





5. Полистать библиотеки



6. Пощупать базы данных



Дополнительно


Пайтон на одной картинке
Карта развития разработчика
Книги «на все времена»

Спасибо за дельные комментарии: Андрею Свердлову, cl0ne, DaneSoul, s_suhanov, KoMePcAHT, Singaporian
Поделиться публикацией
Похожие публикации
Ой, у вас баннер убежал!

Ну. И что?
Реклама
Комментарии 42
  • +2
    Добавил бы от себя обязательный просмотр исходного когда тех библиотек, с которыми сталкиваешься. Во-первых, понимание чужого кода и написание своего собственного — это небо и земля (во всяком случае, на первых порах). Во-вторых, всегда можно почерпнуть какие-то интересные обороты. А иногда, напротив, ужаснуться и запомнить как делать нельзя :)
  • +2
    Я бы добавил PEP-8. Как «Отче наш».
    • +1
      А я бы к PEP-8 добавил
      • 0
        Клевый разбор кода и пример с гориллой. Спасибо
        • 0
          cl0ne Добавил в план
          • 0
            у Реймонда есть еще интересного-полезного :)
          • –1
            А что такое «горилла»?
        • 0
          PEP-8 уже есть. Ссылка в четвертом пункте под фразой «Научиться оформлять код».
      • +2

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


        • возраст
        • образовательная база
        • стартовый уровень знаний на начало "забега" и сейчас
        • предполагаемый объект приложения знаний
        • время
        • прочие ресурсы в распоряжении, необходимые для поддержки, например, бренного тела на то время, пока голова занята учебой
        • трезвая оценка собственных способностей
        • 0
          Мне 28. Закончил Политех. Учился на экономическом. Начинал осенью с нуля. Сейчас могу написать простой бот для Телеграма. Могу собрать, предобработать данные и обучить модель. Пример кода: github.com/evgeniitsvetkov. Я – новичок. Мне еще учиться и учиться. Иногда сижу по пять часов, иногда занимаюсь только несколько дней в неделю. В среднем выход час в день.

          Не думаю, что мой опыт уникален. Если взять любого человека не из IT, начинающего изучать Python для практического применения в жизни, то наши программы обучения скорее всего будут пересекаться на 80%.

          vladob что посоветуешь?
        • +1
          а какое отношение к питону имеет пункт 2?
          • 0
            Чтобы советовать ответственно в щепетильных вопросах самообразования, важно понимать, от какого уровня человек стартует.

            Ну, я так, по-крайней мере думаю.
            • 0
              нет ну действительно, git понятен интуитивно если пользоваться не командной строкой а smartgit а bash и SSH имеют к питону такое же отношение как и к любому другому языку, или я недопонимаю причину??
              • +1
                Применимость к другим языкам не отменяет важность для изучения в рамках обучения Python. Опыт говорит о том, что без базового знания bash и git развития не будет.

                SHH – это скорее необходимость, поэтому в программе вынесено под звездочкой. Пример ситуации: нужно скачать данные для моделирования с сервера на локальную машину. Чтобы подключиться к серверу, я использую SHH.
            • 0

              Хотя бы понимать различия в командах:
              python run.py
              python ./run.py&


              И что эта строчка означает:
              #!/usr/bin/env python


              Что выдает метод os.environ и от чего эти переменные зависят.


              И почему когда я запускаю программу от "имени себя" os.environ показывает одни параметры, а из под sudo другие.


              Ну а что бы программа стартовала автоматом при старте сервера, тоже надо немного знать shell.

              • 0
                кстати убедил, можешь касательно SSH сказешь?))
                дополню от себя: не помешал бы материал по функциональному программированию, матанализ, теорию графоф, статистику а там и можно ML
                • 0
                  Развитие математической базы я выделил для себя в отдельный проект.

                  smer44 по матанализу советую курс Степика: stepik.org/course/95. Если хочется погрузиться по полной, то «Математический анализ» Зорича. Там же на Степике статистика: stepik.org/course/76, и дискретка: stepik.org/course/83.
            • +1
              Pycharm и intellij idea надо бы объединить на графике для порядку
            • +2
              не совсем онлайн курсы, но попрактиковаться можно здесь pythontutor.ru
              мне в свое время помог этот ресурс
              • 0
                KoMePcAHT cпасибо. Понравилась подборка задач, добавил в план.
              • +4

                gii Название статьи — это факт отрицания становления личности в профессиональной сфере Python-разработчика?(Или это просто заголовок-замануха для всякого начинающего питониста?) Это текущий план обучения? Время старта обучения?

                • 0
                  KeyJoo скорее крик души) Чем больше узнаешь, тем яснее понимаешь как далеко еще идти.
                  Ну и не хотел, чтобы звучало «Как стать Python-разработчиком за 10 дней». Это мой настоящий план. Я начал осенью.

                  Опубликовал, чтобы получить обратную связь от сообщества, дельных советов.
                  • 0

                    gii меня самого всё время в дебри тянет, хотя могу и простых вещей не знать… Ну а сейчас-то, каковы изменения роста по сравнению с осенью?

                    • 0
                      KeyJoo увереннее читаю чужой код, вопросы стали глубже и осмысленнее. В принципе, все значительные изменения напрямую связаны с практикой. Cобрал телеграм-бот, научился работать с REST API, разобрался в сериализации json. Сделал проект по предсказанию оттока абонентов, лучше понимаю процесс предобработки данных, функциональное программирование.
                • +1
                  Рекомендую весьма дельные краткие туториалы на английском по Python и куче других языков и технологий.
                • +1

                  Очень хороший курс в SoloLearn по python. Плюс у JetBrains есть образовательная платформа PyCharm Edu — очень удобно обучаться с ее помощью.

                  • 0
                    s_suhanov спасибо, что напомнил про Сололёрн. Осенью на нем решал задачи, понравилось. А вот PyCharm Edu у меня не зашел(
                  • 0
                    Можно дописать пункт между 4 и 5:
                    зайти на CodeTriage и пофиксить баги.
                    • +1
                      Хорошая идея. Добавил
                    • 0
                      > Освоить основы работы с Bash

                      так может сразу xonsh?
                      • 0
                        Неужто и правда что VS вдвое популярнее PyCharm?
                        • +5
                          И конечно классика
                          image
                          • +2
                            А как же тестирование? UnitTest иже с ними?
                            • +1
                              BOOTor а с чего начать, чтобы не свернуть шею?
                            • 0
                              Я, скоре всего, выразился бы в других словах, но первым трем пунктам от гуру от питона альтернатив нет с возможной поправкой на название книжки.
                              Пукт 4 и далее уже следует планировать с учетом реальностей жизни.
                              А так все верно, ИМХО
                              • 0
                                В числе IDE отсутствует упоминание WingIDE. Полегче PyCharm будет. Главное, что имеет в своем арсенале возможность перехватывать удаленные процессы для отладки. Пусть нет той Горы инструментов, что в pyCharm-е, но мне хватает.
                                • 0
                                  у pycharm гланые плюсы(и тормоза) в очень хорошем ватодополнении.
                                  • 0
                                    ой
                                    *автодополнении
                                    :)
                                    оговорочка по фрейду

                                Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                Самое читаемое