Skip to content

Instantly share code, notes, and snippets.

@johnoct
Last active February 7, 2019 17:41
Show Gist options
  • Save johnoct/700a356ddf64e8ebeccfbb1f99dfc14e to your computer and use it in GitHub Desktop.
Save johnoct/700a356ddf64e8ebeccfbb1f99dfc14e to your computer and use it in GitHub Desktop.
Python Developers Survey 2018 Summary

Python Developers Survey 2018 Summary

Reference: https://www.jetbrains.com/research/python-developers-survey-2018/

Python Usage with Other Languages

  • JavaScript

What do you mainly use python for?

  • Data Analysis
  • Web Development
  • DevOps/SysAdmin/Automation Scrits

To what extent are you involved in the following activities?

  • Testing: 93% Professionally / 7 % Hobby
  • DevOps: 90% Professionally / 10 % Hobby
  • Web Dev: 87% Professionally / 13 % Hobby

What do you use Python for the most?

  • Web Development
  • Data Analysis
  • ML
  • DevOps

Python Installation and Upgrade

  • 38% OS-provided Python (via apt-get, yum, homebrew, etc.)
  • 33% Python.org
  • 22% Anaconda
  • 15% I use Docker containers
  • 15% pyenv

Do you use any of the tools to isolate Python enviromnets if any?

  • 64% Virtualenv / pipenv
  • 31% Docker
  • 22% Conda
  • 9% Vagrant
  • 3% Other
  • 21% None

Web Frameworks

  • 47% Flask
  • 45% Django

Data Sci

  • 62% Numpy
  • 51% Pandas
  • 46% Matplotlib

General Frameworks and Libraries

  • 53% REquests
  • 29% Pillow
  • 19% Scrapy
  • 18% Asyncio
  • 18% Tkinter
  • 16% PyQT

Top CLoud Platforms

  • 36% AWS
  • 29% Google App Engine
  • 26% Heroku
  • 23% Digital Ocean

How do your un code in the cloud (in the production environment)?

  • 47% In Virtual Machines
  • 40% Within Containers
  • 28% On a Platform-as-a-Service
  • 21% Serverless

How do you develop for the cloud?

  • 56% Locally with virtualenv (or similar)
  • 35% In Docker containers
  • 24% In virtual machines
  • 17% With local system interpreter
  • 17% In remote development environments
  • 9% Directly in the production environment

Operating Systems

  • 69% Linux
  • 47% Windows
  • 32% MacOS

Testing Frameworks

  • 46% pytest
  • 32% unittest
  • 15% mock

Databases

  • 44% PostgreSQL
  • 41% MySQL
  • 41% SQLite
  • 20% MongoDB
  • 19% Redis
  • 11% MS SQL Server
  • 8% Oracle DB
  • 3% Amazon Redshift
  • 3% Cassandra
  • 1% DB2
  • 1% Couchbase

ORMs

  • 34% SQLAlchemy
  • 33% Django ORM
  • 4% SQLObject

Which of the following Big Data tool(s) do you use if any?

  • 12% Apache SPark
  • 76% None

Which CI do you regularly use?

  • 25% Jenkins/Hudson
  • 18% Gitlab CI
  • 18% Travis CI
  • 7% Circl CI
  • 46% None

Configuration Management

  • 20% Ansible
  • 9% Custom Solution
  • 6% Puppet
  • 4% Salt
  • 4% Chef
  • 65% None

Editors and IDEs

  • 20% PyCharm Professional Edition
  • 16% VSCode
  • 15% PyCharm Community Edition

Tools and Features for Python Development

We’ve identified the relative popularity of the tools and features used to develop in Python: version control, code autocompletion, code refactorings, writing unit tests, and using virtual environments for Python projects all occupy the top spots.

Employment Status

  • 62% Fully Employed by a company/organization
  • 19% Student
  • 6% Freelancer

Job Roles

  • 73% Developer/programmer
  • 19% Architect
  • 19% Data analyst

Working on Projects

  • 42% Yes, I work on many different projects

Working in a Team vs Working Independently

  • 48% Work in a team
  • 48% Work on your own projects individually
  • 4% work as an external consultant or trainer

Team Size

-74% (2-7 ppl)

....

Key Takeaways

  1. Python 3 adoption rate is growing fast and is already at 84%, while Python 2 is used as the main interpreter by only 16% of Python users. That’s a huge jump in popularity for Python 3, from 75% in 2017.

  2. Data analysis has become more popular than web development among Python users, growing from 50% in 2017 to 58% in 2018.

  3. Half of all developers using Python as their main language also use JavaScript. Python is also frequently used together with HTML/CSS, Bash/Shell, SQL, C/C++, and Java.

  4. Flask and Django are the most popular frameworks among web developers. Having equal shares (around 45% each), they leave other Python web frameworks far behind.

  5. NumPy, Pandas, Matplotlib, and SciPy are the most popular data science frameworks and libraries. Machine learning-specific libraries such as SciKit-Learn, TensorFlow, Keras, and others are also quite popular.

  6. AWS is the most popular cloud platform for Python developers, followed by Google Cloud Platform, Heroku, DigitalOcean, and Microsoft Azure.

  7. In 2018, we had significantly more respondents who are involved in DevOps (an increase of 8 percentage points compared to 2017). In terms of Python users using Python as their secondary language, DevOps has overtaken web development.

  8. PyCharm with its two editions is the most popular tool for Python development. Interestingly enough, VS Code has expanded from 7% in 2017 to 16% in 2018, making it the second most popular editor for Python development. Other popular editors for Python include Vim, Sublime, and Jupyter Notebook.

  9. Surprisingly, almost two-thirds of Python developers choose Linux as their development environment OS.

@chad-js
Copy link

chad-js commented Feb 7, 2019

nice

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment