매년 실시되는 이 공식 Python 개발자 설문조사는 이번으로 다섯 번째를 맞았으며 Python Software Foundation과 JetBrains가 공동으로 실시합니다. 2021년 가을에는 약 200개 국가와 지역에서 23,000명 이상의 Python 개발자와 애호가가 설문조사에 참여하여 이 언어 및 이를 둘러싼 에코시스템의 현황을 자세히 파악할 수 있도록 도와주셨습니다.
지난 4년 동안 Python을 기본 언어로 사용하는 개발자의 비율은 84~85%로 거의 동일한 수준을 유지하고 있습니다.
JavaScript는 Python과 함께 가장 많이 사용되는 언어입니다.그러나 Python을 보조 언어로 사용하는 개발자 사이에서는 C/C++가 JavaScript만큼 인기가 있습니다. HTML/CSS, Bash/Shell 및 SQL도 널리 사용되어 각각 Python 개발자의 1/3 이상이 사용합니다.
웹 개발자란 “Python을 주로 어떤 용도로 사용하시나요?”라는 질문에 '웹 개발'을 선택한 사람들을 말합니다. 데이터 과학자는 같은 질문에서 '데이터 분석' 또는 '머신러닝'을 선택한 사람들을 말합니다.
예상대로 웹 개발자가 Python과 함께 가장 많이 사용하는 언어는 JavaScript(69%)와 HTML/CSS(60%)이고 데이터 관련 작업에 관여하는 개발자는 SQL(42%)을 더 자주 사용합니다. 또한 추가 언어를 사용하지 않는 개발자의 비율은 웹 개발자에 비해 데이터 관련 업무에 종사하는 개발자가 3배 이상 높습니다.
이 섹션에서는 사람들이 Python을 사용하는 용도, 작업 중인 개발 유형, 언어 사용을 다양하게 결합하는 방법을 알아보기 위해 질문했습니다.
수년 동안 Python 사용 사례의 분포에는 큰 변화가 없습니다.데이터 분석, 머신러닝, 웹 개발 및 DevOps는 여전히 Python이 가장 많이 사용되는 분야입니다.
Python을 기본 언어로 사용하는 개발자의 4분의 1은 주로 웹 개발에 Python을 사용합니다.Python이 보조 언어인 사람들의 경우 이 비율이 12%에 그칩니다.
흥미롭게도 Python을 기본적으로 데이터 분석에 사용한다는 응답은 이를 기본 프로그래밍 언어(17%)와 보조 프로그래밍 언어(16%)로 삼고 있는 개발자 사이에서 거의 동일한 비율로 보고되었습니다.
데이터 분석 및 머신러닝 작업을 하는 응답자만 이 질문에 답변했습니다.
데이터 분석 및 머신러닝에 관여하는 Python 개발자의 29%만이 스스로를 데이터 과학자라고 생각합니다.
평균적으로 Python 2 사용자의 비율은 매년 5%씩 감소하며 현재 100명 중 5명의 개발자만 사용합니다.
Python 3에 비해 Python 2가 컴퓨터 그래픽, 게임, 모바일 개발에 더 많이 응용된다는 점은 흥미롭습니다.
참고: Enthought의 비율은 0.5% 미만으로, 기타에 포함되었습니다.
Windows 사용자의 절반 이상이 Python.org에서 Python을 얻는 반면 Linux 사용자는 1/3만 그렇게 합니다.예상대로 Linux 및 macOS 사용자는 Python을 설치하고 업데이트할 때 OS 제공 옵션을 가장 자주 사용합니다. 동시에 macOS 사용자의 경우 pyenv 및 Docker 컨테이너도 Python을 얻는 꽤 인기 있는 방법입니다.
Python 개발자 중 75%는 일부 도구를 사용하여 Python 환경을 분리합니다.흥미롭게도 Conda는 Jupyter Notebook을 사용하는 개발자(50%) 사이에서 가장 인기 있는 도구이며 Virtualenv 및 Docker를 선호하는 개발자들도 있습니다.
Flask, Django 및 FastAPI는 여전히 상위 3위의 Python 웹 프레임워크입니다.2018년 말에 처음 출시된 FastAPI는 전년 대비 9% 성장하며 가장 빠른 성장세를 보이고 있습니다. 이와 동시에 Flask 사용자의 점유율은 2020년과 비교하여 5% 감소했습니다.
Django 프레임워크 환경에 대한 자세한 내용은 Django Software Foundation과 파트너십을 맺어 수행한 2021년 Django 개발자 설문조사에서 확인할 수 있습니다.
Python 개발자의 10%는 7개 이상의 데이터 과학 프레임워크와 라이브러리를 동시에 사용하고, 그 절반 정도는 2개 이하의 프레임워크를 사용합니다.
다른 프레임워크의 대부분은 데이터 과학자보다 웹 개발자에게 더 인기가 있으며, 이들은 Tkinker와 PyQT를 훨씬 더 자주 사용합니다.
여러 가지 Python 유닛 테스트 프레임워크의 인기는 작년과 거의 동일합니다.
개인 개발자의 56%만이 이를 사용하지만 직원이 5,000명 이상인 기업에 다니는 응답자 중 75%가 유닛 테스트 프레임워크를 사용한다고 보고했습니다.
SQLAlchemy는 모든 데이터베이스 사용자에게 가장 인기 있는 ORM입니다.
Redis 사용자의 52%가 Django ORM을 사용하는 반면 일반적으로 Python 개발자의 1/3 미만이 이를 사용한다는 점은 흥미롭습니다.또한 주목할만한 사항으로, Amazon Redshift 사용자의 20%가 SQLObject를 사용하지만, 이 수치는 전체 사용자 중 약 5%에 불과합니다.
데이터 과학자의 80%가 데이터베이스를 사용하는 반면 웹 개발자는 98%가 사용합니다.
데이터 과학에 관련된 사람들보다 웹 개발에 관련된 사람들이 PostgreSQL을 32%, Redis를 25%, SQLite를 12% 더 자주 사용합니다. 동시에 데이터 과학자들은 웹 개발자보다 Oracle Database를 두 배 더 자주 사용하는 것으로 나타났습니다.
빅 데이터 도구의 분포는 작년과 거의 동일하게 유지되었습니다.일반적으로 데이터 과학자들은 다른 개발자보다 이러한 도구를 13% 더 자주 사용하며 Apache Spark 및 Dask가 이들 사이에서 약 2배 더 인기가 있습니다.
클라우드 플랫폼을 사용하는 Python 개발자의 비율
이 질문에 대해서는 클라우드 플랫폼을 사용하는 응답자들만 답변했습니다.
흥미롭게도 Visual Basic, C# 및 C/C++ 사용자들은 일반적으로 Python 개발자의 절반에 가까운 빈도로 AWS를 사용합니다.
이 질문에 대해서는 클라우드 플랫폼을 사용하는 응답자들만 답변했습니다.
가상머신은 계속해서 인기를 잃고 있습니다.2018년에는 47%의 점유율을 차지했고 가장 인기 있는 선택이었지만 지금은 Python 개발자의 41%만 사용합니다.
이 질문에 대해서는 클라우드 플랫폼을 사용하는 응답자들만 답변했습니다.
virtualenv를 사용한 로컬 Python 개발은 웹 개발, DevOps 및 소프트웨어 프로토타이핑(61~65%)에 관련된 사람들 사이에서 인기가 매우 높습니다.Docker 컨테이너 사용은 주로 웹 개발자(54%) 사이에서 인기가 있습니다.
가상머신은 DevOps, 머신러닝 및 네트워크 프로그래밍(26~27%)에 관련된 개발자 사이에서 널리 사용됩니다.흥미롭게도 DevOps 및 머신러닝에 관련된 사람들은 다른 모든 응답자보다 원격 개발 환경을 더 자주 사용합니다.
2020년과 비교하여 Linux 및 macOS의 인기는 각각 5% 감소한 반면 Windows 사용량은 10% 증가했습니다.
2018년에 도입된 GitHub Actions는 빠르게 인기를 얻어 현재 CI 시스템 목록에서 1위에 올랐으며 Python 개발자의 약 3분의 1이 사용하고 있습니다.
성장하고 있는 또 다른 CI 시스템은 Gitlab CI로, 2018년 이후 사용량이 4% 증가했습니다.동시에 Travis CI는 인기를 빠르게 잃어 2018년에 비해 사용이 13% 감소했습니다.Jenkins/Hudson도 3년 동안 사용이 8% 줄었습니다.
문서 도구를 사용하는 Python 프로그래머의 비율.Sphinx의 인기가 가장 높습니다.
Python을 기본 언어로 사용하는 사람들은 Python을 보조 언어로 사용하는 개발자보다 프로젝트에 Python 프로파일러 및 코드 커버리지를 8% 더 자주 사용하고 Python 가상 환경을 10% 더 자주 사용합니다.
PyCharm Community 및 Professional 버전의 합산 점유율은 31%로 작년 결과와 거의 같습니다.VS Code는 작년에 비해 6% 포인트 성장했습니다.
흥미롭게도 PyCharm과 VS Code는 웹 개발자들 사이에서 똑같이 인기가 있는 반면(39%), 데이터 과학자들은 VS Code를 주요 IDE로 선택한 사람이 9% 더 많았습니다.
가장 인기 있는 에디터와 IDE를 파악하기 위해 "현재 Python 개발에 사용하는 기본 에디터는 무엇인가요?"라는 1개의 답변만 할 수 있는 질문을 하였습니다.
웹 개발자란 “Python을 주로 어떤 용도로 사용하시나요?”라는 질문에 '웹 개발'을 선택한 사람들을 말합니다. 데이터 과학자는 같은 질문에서 '데이터 분석' 또는 '머신러닝'을 선택한 사람들을 말합니다.
Python 개발자들이 주요 IDE에 대해 알게 되는 주된 경로는 학습 활동, 친구/동료 추천 또는 검색 엔진입니다.
흥미롭게도 응답자의 1%만이 광고를 통해 도구를 알게 되었다고 밝혔습니다.
Jupyter Notebook을 사용하는 사람들의 57%는 학교/대학교 또는 온라인 과정에서 처음으로 Jupyter Notebook에 대해 알게 되었지만 전체 응답자로 보면 그 비율이 25%에 불과했습니다.
VS Code, Jupyter Notebook 및 PyCharm은 기본 IDE 외에 가장 인기가 많았으며 각각의 도구는 Python 개발자의 20% 이상이 사용합니다.
VS Code, Jupyter Notebook 및 PyCharm은 기본 IDE 외에 가장 인기가 많았으며 각각의 도구는 Python 개발자의 20% 이상이 사용합니다.
Jupyter Notebook을 주요 IDE로 사용하는 사람들이 추가로 Spyder를 사용하는 비율은 다른 Python 개발자보다 약 4배 더 높습니다.
2021년에 Python Software Foundation은 Python 프로그래밍 언어 업무를 처리하고 개발자 커뮤니티를 지원할 새로운 상주 정규직 개발자를 임명했습니다.
코어 개발자인 Łukasz Langa는 7월에 CPython DIR 직책에 임명되었습니다. Langa는 백로그 처리를 돕고, 프로젝트 우선 순위를 조사하며, 다른 관심 영역을 검토하는 일을 맡고 있습니다.
Python 개발자의 23%는 이미 상주 개발자 역할에 대해 알고 있으며 91%는 이 이니셔티브가 좋다고 생각합니다.
또한 상주 개발자 역할을 알고 있는 개발자의 30%는 이미 이 혁신의 영향을 실감하고 있습니다.
Python 사용자의 19%만이 버그를 보고했습니다.흥미롭게도 bugs.python.org를 사용하는 것이 가장 인기 있는 보고 방법이 아니었으며, 약 두 배 많은 프로그래머들이 다른 곳에서 질문을 하거나 GitHub에 풀 리퀘스트를 제출하는 방법을 선호합니다.
버그를 보고한 사람들 중 73%가 문제를 해결했으며 응답자의 7%만이 누구로부터도 답변을 듣지 못했다고 말했습니다.
이 질문은 이미 문제를 보고한 적이 있는 응답자만 답변했습니다.
컨테이너를 사용하는 Python 개발자 비율. 그 중 59%는 컨테이너에서 가상 환경을 사용합니다.
Python 개발자의 45%가 애플리케이션 종속 요소의 버전 고정을 위해 도구를 사용합니다. 이를 저장하는 가장 일반적인 방법은 개발자의 4분의 3이 사용하는 requirements.txt를 사용하는 것입니다.
이 질문에는 애플리케이션 종속 요소의 정확한 버전 관리를 위해 도구를 사용하는 응답자만 답했습니다.
이 질문에는 애플리케이션 종속 요소의 정확한 버전 관리를 위해 도구를 사용하는 응답자만 답했습니다.
개발자의 90%가 pip를 사용하여 Python 패키지를 설치한다고 밝혔습니다. Python Package Index는 패키지를 가져오는 가장 인기 있는 장소입니다.
애플리케이션을 개발한다고 말한 Python 개발자 비율. 이 목적으로 사용되는 가장 인기 있는 도구는 Setuptools입니다(개발자의 46%가 사용).
이 질문에는 애플리케이션을 개발하는 응답자만 답했습니다.
Python 사용자의 절반 이상이 애플리케이션을 개발하지만 이 중 40%만이 애플리케이션을 패키지 저장소에 게시했습니다.
이 질문에는 Python 라이브러리를 개발하는 응답자만 답했습니다.
34%의 응답자가 Python 라이브러리를 개발하며, 패키징에 사용하는 가장 일반적인 방법은 Setuptools입니다(71%가 사용).
흥미롭게도 Python 라이브러리 개발자의 27%만이 라이브러리를 패키지 저장소에 게시했습니다.
이 질문에는 패키지 구성된 Python 라이브러리를 게시한 경험이 있는 응답자만 답했습니다.
Python Package Index는 개발된 라이브러리 및 애플리케이션 패키지를 게시하는 가장 인기 있는 장소이며, Private PyPI의 이용 빈도는 그 절반 정도입니다.
이 질문에는 회사에 고용된 응답자만 답했습니다.
이 질문에는 회사에 고용된 응답자만 답했습니다.
이 질문에는 회사에 고용된 응답자만 답했습니다.
이 질문에는 회사에 고용된 응답자만 답했습니다.
이 질문에는 고용된 응답자만 답했습니다.
데이터를 더 상세하게 파헤쳐보고 싶으신가요? 익명의 설문조사 응답 결과를 다운로드하여 새로운 사실을 확인해 보세요! Twitter에서 #pythondevsurvey 해시태그와 함께 @jetbrains 및 @ThePSF를 멘션하여 새로운 사실과 통찰력을 공유하세요.
데이터 세트에는 공식 Python Software Foundation 채널의 응답만 포함됩니다. 데이터 세트에는 중복되고 신뢰할 수 없는 응답을 배제한 후, 2021년 10월 11일부터 12월 6일 사이에 수집된 23,000개 이상의 응답을 포함시켰습니다. 설문조사 홍보는 python.org, PSF 블로그, PSF의 Twitter 및 LinkedIn 계정, 공식 Python 메일링 리스트, 그리고 Python 관련 하위 Reddit 등의 채널을 통해 진행했습니다. 설문조사가 특정 도구나 기술에 유리하게 편향되는 것을 방지하기 위해 제품, 서비스 또는 공급업체 관련 채널은 응답을 수렴하는 데 사용하지 않았습니다.
데이터는 익명으로 처리되어 있으며, 개인 정보나 지리적 위치 정보는 포함되지 않습니다. 개인의 의견에 있는 글자 하나하나로 개별 응답자를 식별하지 못하도록 모든 개방형 필드를 삭제했습니다.
설문조사의 논리를 더 잘 이해할 수 있도록 데이터 세트, 설문조사 질문 및 설문조사 논리를 함께 공개했습니다. 답변 옵션에 대해 다양한 순서 지정 방법을 사용했습니다(알파벳, 무작위, 직접).답변의 순서는 질문별로 지정됩니다.
다음 중 적어도 두 가지에 해당한 경우:
Python Software Foundation과 JetBrains를 대표하여 이 설문조사에 참여해 주신 모든 분들께 다시 한 번 감사드립니다. 여러분의 도움이 있어 Python 커뮤니티의 현황을 더 정확하게 포착할 수 있었습니다!
PSF의 정기 기부 캠페인에 동참하세요. PSF는 후원자, 회원 및 일반 대중의 지원으로만 운영되는 비영리 조직입니다.
2020년, 2019년, 2018년 및 2017년의 Python 개발자 설문조사 결과를 확인해보세요.
JetBrains의 다른 대규모 설문조사 보고서를 살펴보세요!
보고서가 여러분에게 유익한 도움이 되었기를 바랍니다.이 보고서를 친구 및 동료와 공유하세요.
본 설문조사에 관한 질문이나 향후 설문조사에 대한 제안이 있으면 surveys@jetbrains.com 또는 psf@python.org로 연락해 주시기 바랍니다.