- PVSM.RU - https://www.pvsm.ru -

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

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

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

Составляя программу, я ориентировался на философию Тима Петерса, который сформулировал The Zen of Python [3]:

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

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

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

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

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

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

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

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

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

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

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

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

“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 на практике

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

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

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

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

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

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

Спасибо Андрею Свердлову за дельные комментарии.

Автор: gii

Источник [41]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/python/274809

Ссылки в тексте:

[1] в заметке Василия Большакова: https://habrahabr.ru/post/311642/

[2] на Хекслете: https://map.hexlet.io/pages/start

[3] The Zen of Python: https://www.python.org/dev/peps/pep-0020/

[4] Освоить основы работы с Bash: https://ru.hexlet.io/blog/posts/basic-linux-productivity

[5] простое руководство: http://rogerdudler.github.io/git-guide/index.ru.html

[6] основательный Pro Git: https://git-scm.com/book/en/v2

[7] клевый Oh shit, git!: https://ru.hexlet.io/blog/posts/oh-shit-git

[8] Разобраться в SSH: http://guides.hexlet.io/ssh/

[9] Sublime Text: https://www.sublimetext.com/

[10] Atom: https://atom.io/

[11] Triplebyte: https://triplebyte.com/blog/technical-interview-performance-by-editor-os-language

[12] Создать виртуальное окружение: https://docs.python.org/3/tutorial/venv.html

[13] Поставить менеджер пакетов: https://docs.python.org/3/tutorial/venv.html#managing-packages-with-pip

[14] Начать использовать виртуализацию: https://map.hexlet.io/pages/development

[15] Познакомиться с Докером: http://guides.hexlet.io/docker/

[16] Узнать про системы управления конфигурацией: https://map.hexlet.io/pages/configuration-management

[17] Python Deliberate Practice: https://github.com/robert8138/python-deliberate-practice

[18] Не сачковать в изучении документации: https://docs.python.org/3/

[19] оформлять код: https://www.python.org/dev/peps/pep-0008/

[20] структурировать проекты: https://districtdatalabs.silvrback.com/how-to-develop-quality-python-code#structuring-larger-projects

[21] Освоить встроенные функции: https://docs.python.org/3/library/functions.html

[22] Потрогать руками функциональное программирование: https://docs.python.org/3/howto/functional.html

[23] На Степике: https://stepik.org/course/512/

[24] От МФТИ и Мейл-ру: https://www.coursera.org/learn/programming-in-python

[25] Знаменитый CS50: https://online-learning.harvard.edu/course/cs50-introduction-computer-science

[26] Awesome Python: https://awesome-python.com/

[27] numpy: http://www.numpy.org/

[28] scipy: https://www.scipy.org/

[29] pandas: https://pandas.pydata.org/

[30] matplotlib: https://matplotlib.org/

[31] seaborn: https://seaborn.pydata.org/

[32] scikit-learn: http://scikit-learn.org/

[33] Научиться работать с json: https://docs.python.org/3/library/json.html?highlight=json

[34] requests: http://docs.python-requests.org/en/master/

[35] scrapy: https://scrapy.org/

[36] Beautiful Soup: https://www.crummy.com/software/BeautifulSoup/bs4/doc/

[37] Научиться писать SELECT запросы средней сложности: https://sqlbolt.com/

[38] Пайтон на одной картинке: https://fossbytes.com/wp-content/uploads/2015/09/python-3-in-one-pic.png

[39] Карта развития разработчика: https://github.com/kamranahmedse/developer-roadmap

[40] Книги «на все времена»: https://map.hexlet.io/pages/books

[41] Источник: https://habrahabr.ru/post/350748/?utm_campaign=350748