Исследование о наборе навыков, необходимых Python-разработчику в 2019 году. Будьте самым востребованным на мировом рынке труда!
Команда CV Compiler (доступно по VPN) обработала 300 требований к Python-разработчику, взятых на StackOverflow, AngelList, LinkedIn и других площадках. Результатом стал представленный ниже рейтинг упоминания навыков. Числа соответствуют числу упоминаний каждого навыка.
Среди не вошедших в чарт нередко упоминаемых навыков оказались юнит-тестирование (32), непрерывное развертывание (30), MongoDB (30) и ООП (30). Среди навыков машинного обучения наиболее часто упоминаются Pandas (29), NumPy (24), SciPy (15) и Scikit-Learn (11).
Конечно, необходимость навыков определяется тем, как именно вы используете Python. Если вы инженер по машинному обучению, вам не обязательно знать Django.
Обратите внимание: описываемое исследование показывает тенденции на рынке труда, но не предпочтения разработчиков. Рейтинг может отличаться от списка технологий, которые большинство Python-разработчиков предпочитают использовать в работе. Если вам интересна эта обратная сторона, посмотрите обзор от Python Software Foundation или Octoverse GitHub.
Мнения экспертов о тенденциях в мире Python
Исследователи поделились результатами с несколькими экспертами. Приведем примеры цитат.
Майкл Фурд, разработчик ядра Python. Создатель «mock» (теперь часть стандартной библиотеки unittest.mock):
«В настоящее время абсолютным стандартом для разработчиков является знакомство с Git, GitHub и Travis CI. Тестирование с pytest и – в разумных пределах – unittest.mock также жизненно необходимо для хорошо управляемого проекта. Контейнерные технологии и технологии виртуализации (Docker, lxc, AWS, Azure, Kubernetes и OpenStack) совершенно естественны как для разработки, так и для развертывания. Создание артефактов с развертыванием промежуточной версии инфраструктуры, тестирование, развертывание в рабочей среде, при необходимости откат к предыдущей версии, – всё это должно выполняться по одному клику.
Django по-прежнему популярен и полезен. Мощной, но пока не столь востребованной комбинацией является пара Flask и SQLAlchemy. Что касается Data Science, то это восходящая звезда мира Python. Библиотека Pandas, Numpy и SciPy – инструменты, которые пользуются большим спросом наряду с блокнотами Jupyter. В этой сфере также важно знание баз данных».
Михаил Кашкин, системный архитектор и эксперт по языку Python:
«Проведенное исследование довольно четко показывает направление развития мира разработки. AWS, Docker, облачные вычисления и Kubernetes довольно новы, но уже стали частью повседневной рутины программистов. Это не значит, что Python-разработчику нужно знать все нюансы этих технологий, но вы будете ежедневно с ними сталкиваться.
Машинное обучение – это в 9 случаях из 10 язык программирования Python. Python-разработчику не нужны навыки машинного обучения. И, напротив, если вы выбираете машинное обучение или ИИ, вам, скорее всего, понадобится язык Python.
Слово «микросервисы» разместилось в чарте близко к Go, REST и API. Однако это небольшое слово незаметно меняет весь рынок. Я рекомендую потратить время на понимание того, в чем это может проявляться».
Трей Ханнер, тренер команды Python и Django, бывший директор Фонда программного обеспечения Python:
«Я не думаю, что есть одна вещь, которую стоит изучить/знать Python-разработчику, чтобы преуспеть. Наука о данных, DevOps, веб-разработка и автоматизация – совершенно разные области, но все они относятся к разработке на Python. Тем не менее, клиенты всё чаще спрашивают меня об инструментах Data Science».
Майк Дрисколл, автор книг по Python, блогер, участник учебной команды Real Python:
«За последние год или два я побывал на нескольких собеседованиях. Определенно есть много работодателей, которым нужен AWS или другой опыт работы с облачными вычислениями. В дополнение к этому я вижу большой рост в области науки о данных и машинного обучения. Как показывает это исследование, остается востребованным и направление веб-разработки».
Какие ресурсы нужны Python-разработчику для совершенствования навыков?
Ниже представлены списки ресурсов, используемых для оттачивания навыков опытными разработчиками Python по всему миру.
Ресурсы, связанные непосредственно с Python (включая веб-разработку)
- RealPython содержит полный набор руководств по Python. У них также есть вдохновляющий канал на YouTube, созданный Дэном Бадером.
- Python Weekly – курируемый еженедельный бюллетень, в котором публикуются статьи, релизы и вакансии.
- Этот сайт Кеннет Рейтц полон ресурсов Python для опытных разработчиков, инженеров и ученых.
- На канале Sentdex на YouTube Харрисоном Кинсли записаны огромные плейлисты о фреймворке Django, ML, Python & Finance и т. д.
- В своем блоге Мигель Гринберг написал около 80 статей, посвященных Flask.
Наука о данных, машинное обучение и искусственный интеллект
- Технические заметки Криса Албона по внедрению Data Science и ИИ. Охватываемые темы также включают AWS и Linux.
- Keras – не только одна из популярнейших библиотек работы с нейронными сетями, но и сообщество с полезным тематическим блогом.
- Набор учебников по Scikit-Learn для тех, кто хочет освоить Python для научных вычислений и Data Science.
- Руководство по компьютерному зрению и глубокому обучению от Эдриана Роузброка.
Чтобы быть в курсе
Как показывают конференции, среди зарубежных разработчиков в качестве средства самопрезентации наиболее популярен твиттер. Кроме приведенных выше ссылок, есть еще несколько интересных:
- @kennethreitz – создатель Pipenv и Requests.
- @dabeaz – автор Python Cookbook.
- @raymondh – разработчик ядра Python.
- @1st1 – разработчик ядра Python, основатель EdgeDB.
- @adrianholovaty – один из создателей Django.
- @jacobian – один из создателейf Django.
- @pydanny – один из соавторов книги Two Scoops of Django, open source программист.
- @ixek – советник по облачной разработке в Microsoft.
Оригинал исследования на сайте сервиса (доступно через VPN)
Комментарии