6 분 소요

 안녕하세요 마개입니다.
 StackOverflow에서 진행한 2021 StackOverflow Developer Survey가 공개되었습니다.
 작년 2020년에 이어 진행했던 설문의 결과에는 어떠한 변화가 있고 올해는 어떠한 트렌드인지 살펴보겠습니다.



응답자 유형


총 응답자는 약 84,000명으로 작년보다 늘어난 것을 알 수 있었습니다. 그중 미국이 약 15,000명, 인도가 약 10,000명이고 우리나라는 189명이 응답해 주었습니다. (북한도 있던데 54명이 응답해 주셨네요..)

응답자의 경력은 1년 미만부터 50년 이상까지 다양한데 그중에 1~4년이 31.26%로 가장 많았고 연령은 25~34세가 39.52%로 가장 많았습니다.



Learning how to code


image


흥미로웠던 질문은 코딩을 어떻게 익히느냐의 질문에 온라인 자료를 이용한다는 답변이 제일 많았습니다. 그만큼 학교가 아니어도 코딩이 접하기 쉬워졌고 온라인에 자료가 많다는 의미겠죠



Developer Type


image


응답자들의 개발자 유형은 작년과 비슷하게 웹 개발자들 ( full-stack, back-end, front-end)이 많습니다. 달라진 점은 풀스택 개발자가 백엔드 개발자를 역전하고 1위로 올라섰습니다. 저와 같은 데이터 엔지니어는 6.28%로 작년보다는 줄었습니다.



Technology


기술 부분은 개발자들에게 항상 관심의 대상이 됩니다.


image


주제명은 작년과 조금 다르게

  • Most popular technologies
  • Most loved, dreaded, and wanted
  • Worked with vs want to work with
  • Learning & problem solving
  • Top paying technologies

5가지로 되어 있습니다. 5가지의 주제 안에서 몇가지를 살펴보겠습니다.


Programming, scripting, and markup languages

1위 : JavaScript
2위 : HTML/CSS
3위 : Python

image


첫 번로는 언어입니다.

응답자의 대다수가 웹 개발자이기 때문에 작년과 같이 JavaScript이 1위를 차지하였습니다. 아직도 JavaScript를 시작해보지 않으셨다면 경험해보시길 바라요. 2위는 마찬가지로 웹 개발을 위한 HTML/CSS가 차지하였습니다. 3위는 작년과 다르게 Python이 SQL을 역전하고 차지하였습니다.

(하단에 R, Scala, Perl 등등 더 있는데 너무 많아서 생략하였습니다.)


Databases

1위 : MySQL
2위 : PostgreSQL
3위 : SQLite

image


다음으로는 데이터베이스입니다.

데이터베이스는 RDB, NoSQL 등 여러 가지가 있는데 작년에 이어 MySQL과 PostgreSQL이 1, 2위를 차지하였습니다. MSSQL은 작년에 3위를 차지하였는데 올해에는 5위로 밀려났습니다. 그 외 Oracle이 순위를 내려오고 나머지는 같은 결과를 보였습니다. 데이터베이스에는 큰 변화가 없다는 것을 알 수 있었습니다.


Cloud Platforms

1위 : AWS
2위 : Google Cloud Platform
3위 : Microsoft Azure

image


작년에는 볼 수 없었던 클라우드 플랫폼입니다. 종류는 많지 않고 플랫폼마다 가지는 특징이 다르지만 아직 AWS가 압도적으로 1위를 차지하고 있습니다. 그 아래에는 구글과 마이크로소프트가 비슷한 비율을 가지고 있습니다. 앞으로의 순위는 어떻게 될지 모를 만큼 클라우드 시장은 더욱 성장하고 있습니다.


Web Frameworks

1위 : React.js
2위 : jQuery
3위 : Express

image


다음으로는 웹 프레임워크입니다.

웹 프레임워크는 작년과 다르게 변화가 있습니다. 작년에 jQuery가 1위이고 React.js가 2위였는데 올해에는 React.js가 1위를 차지했습니다. 그리고 작년에는 Express가 5위였는데 올해에는 3위를 차지하게 되었습니다.

​작년과 다르게 보이는 것들은 FastAPI와 Svelte입니다.

FastAPI는 파이썬으로 API를 빌드 하기 위한 Web framework로 Node.js, Go와 비슷한 수준으로 빠른 성능을 자랑하고 쉽게 사용할 수 있다고 합니다.

Svelte는 React.js나 Vue.js와 같은 프론트엔드 프레임워크입니다. 공식 문서에는 프레임워크라기보다 Reactive 한 web app과 interface를 만드는데 사용되는 컴파일러라 합니다. 즉, 즉각적으로 반영이 되는 것이라고 보면 됩니다.

​이렇게 FastAPI와 Svelte가 새로 눈길을 끌면서 순위에 올라가고 있는 것을 보실 수가 있습니다.


Other Frameworks and Libraries

1위 : .NET Framework
2위 : NumPy
3위 : .NET Core / .NET 5

image


작년에는 Node.js가 압도적인 1위를 했었는데 올해에는 없습니다. 웹 프레임워크 쪽에도 없었는데 기타에도 없네요 (누락이 되었나..)

눈에 띄는 것은 바로 NumPy입니다. NumPy는 행렬이나 대규모 다차원 배열을 쉽게 처리할 수 있도록 지원하는 파이썬 라이브러리입니다. 빅데이터 분석이나 인공지능에서 많이 사용하기 때문에 순위가 2위로 단번에 올라간 것 같습니다.

그 외에는 작년과 비슷하게 .NET Framework와 Core가 상위권을 차지하고 있습니다.


Most loved, dreaded, and wanted


Programming, Scripting, and Markup Languages

Loved vs Dreaded
1위 : Rust
2위 : Clojure
3위 : TypeScript

Want
1위 : Python
2위 : TypeScript
3위 : JavaScript

image


작년과 다르게 시각화가 바뀌었습니다. Loved와 Dreaded를 따로 구분했었는데 이번에는 통합하여 보여주었네요. 그래도 순위에는 변화가 없었습니다.

1위에는 Rust가 선정되며 6년째 가장 사랑받는 언어를 차지하게 되었네요. 2위에는 Clojure가 작년 2위인 TypeScript를 역전하고 차지하게 되었습니다. 그와 반대로 COBOL은 가장 사랑받지 못하고 두려운 언어로 선정이 되었습니다. 점점 COBOL 프로그램이 없어지고 있고 다룰 수 있는 프로그래머가 줄어들었기 때문이 아닐까요. 특히나 이번 코로나 사태를 겪으면서 미국 뉴저지 주에서는 코볼 프로그래머를 찾는 해프닝도 있었을 만큼 요즘에는 보기 드문 언어라고 볼 수 있겠습니다.


image


가장 원하는 언어에는 Python이 1위를 차지하였습니다. Python도 5년째 1위를 차지할 만큼 많은 개발자와 비전공자분들이 가장 원하는 언어입니다. 웹, 빅데이터, 인공지능 등 다양한 분야에서 사용되기 때문에 꾸준히 사랑받고 원하는 언어로 채택되는 것이 아닌가 싶습니다.


Databases

Loved vs Dreaded
1위 : Redis
2위 : PostgreSQL
3위 : MongoDB

Want
1위 : PostgreSQL
2위 : MongoDB
3위 : Redis

image


가장 사랑받는 데이터베이스에는 5년 연속으로 Redis가 선정이 되었습니다. Redis는 Key-Value 데이터 스토어로 인 메모리에서 돌아가기 때문에 빠른 속도를 자랑하고 그로 인해 많은 사랑을 받고 있습니다. 2위와 3위에는 PostgreSQL과 MongoDB가 차지하며 꾸준한 사랑을 받고 있습니다.

그와 반면에 IBM DB2는 2년 연속 꺼려 하는 데이터베이스로 선정이 되었습니다. 성능이나 데이터 처리 등의 이유 등으로 어느 정도 꺼려 하는 것이 있지 않나 싶습니다.


image


가장 원하는 데이터베이스로는 PostgreSQL이 1위를 차지하였습니다. 작년에는 MongoDB가 1위, PostgreSQL이 2위였는데 올해에는 근소한 차이로 PostgreSQL이 1위를 차지하였습니다. 3위와 4위는 Redis와 Elasticsearch가 엎치락뒤치락하고 있는 것을 보실 수 있습니다.


Web Frameworks

Loved vs Dreaded
1위 : Svelte
2위 : ASP .NET Core
3위 : FastAPI

Want
1위 : React.js
2위 : Vue.js
3위 : Django

image


다음으로는 Web framework입니다. 놀라운 결과를 볼 수가 있는데 Svelte가 1위를 차지하였고 FastAPI가 3위를 차지하였습니다. 이는 Svelte와 FastAPI를 이용하는 이용자들의 만족도가 상당히 높다고 볼 수 있습니다. 대신 다른 프레임워크에 비하면 이용자가 적기 때문에 만족도가 높게 나왔다고 볼 수도 있습니다.


image


가장 원하는 웹 프레임워크에는 React.js가 1등을 차지하였습니다. React.js와 Vue.js는 작년에 이어 여전히 1, 2위를 차지하였는데요 3위에는 작년 4위였던 파이썬 프레임워크인 Django가 차지한 것을 확인하실 수 있습니다.


Other Tools

Loved vs Dreaded
1위 : Git
2위 : Docker
3위 : Kubernetes

Want
1위 : Docker
2위 : Git
3위 : Kubernetes

image


가장 사랑받는 툴에는 Git이 선정되었습니다. Git은 전공자 비전공자를 막론하고 프로그램을 할 때에는 필수적인 요소라고 볼 수 있습니다. 그리고 기능들이 매우 좋기 때문에 사랑받는 비율이 가장 높지 않나 싶습니다. 2위와 3위에는 Docker와 Kubernetes가 선정되었는데 복잡한 환경을 간편하게 구성해 주고 어느 플랫폼에서나 동일하게 이용할 수 있기 때문에 사랑받고 있지 않나 싶습니다.


image


가장 원하는 툴에도 비슷합니다. 1~3위가 각각 Docker, Git, Kubernetes로 사랑받고 있는 순위와 비슷하다고 볼 수 있습니다.



Worked with vs Want to work with


Stackoverflow에서는 올해에 코드 다이어그램을 이용하여 시각화를 하였습니다.

​여기서 코드 다이어그램(Chord Diagram)이란 각 항목을 곡선 위에 색깔별로 배열하고 그 관계를 직선으로 나타내는 시각화 방법입니다. 직선의 두께가 두꺼울수록 관계가 많은 것을 말합니다. 이를 토대로 내용들을 살펴보겠습니다.


Programming, Scripting, and Markup Languages

image


항목의 영역을 보면 JavaScript가 제일 많은 것을 볼 수 있는데 JavaScript 개발자들 중 약 1만 명은 각각 Go와 Rust를 같이 작업하고 싶다 합니다. 그와 반면에 PHP를 같이 이용하여 작업하고 싶다는 개발자들은 SQL 개발자들밖에 없었습니다.


Web Frameworks

image


다음으로는 웹 프레임워크입니다.

React.js와 Vue.js, Express가 큰 비중을 차지하지만 특이한 것을 보실 수가 있습니다. Django, Flask, Spring 개발자들은 그들만의 프레임워크를 계속 이용하겠다고 응답한 것입니다. 그 정도로 만족도가 높은 것인가요? 아니면 연관성이 없어서 그런 걸까요??



Learning & Problem Solving


학습이나 문제가 발생했을 때 해결하는 방법에 대한 설문입니다.


What do you do when you get stuck?

image


결과는 어느 정도 예상할 수 있을 만큼 구글링과 Stack Overflow에 방문하여 질의하는 것이었습니다. StackOverflow 홍보를 하려고 넣은 질의인지 잘 모르겠네요.. 응답 중에 웃긴 것은 Panic이 있습니다. 패닉이 오면서 멍 때리는 상황이 되겠죠 ㅎㅎㅎ

​이번 주제에는 질의가 하나밖에 없었는데요.. 더 많은 질의가 있었으면 어땠을까 아쉽습니다.



Top Paying Technologies

가장 중요한 것 중 하나인 연봉입니다. 기술별로 연봉을 볼 수 있어서 아주 흥미로웠던 주제입니다.


Programming, Scripting and Markup Languages

1위 : Clojure
2위 : F#
3위 : Elixir

image


작년과는 순위가 많이 달라졌네요. 작년에 1,2위였던 Perl과 Scala가 올해에는 5, 7위로 밀려났습니다. 올해 1~3위는 Clojure, F#, Elixir가 차지하였습니다. 최저 연봉에는 Dart가 차지하였습니다.


Databases

1위 : DynamoDB
2위 : Elasticsearch
3위 : Cassandra

image


데이터베이스 분야에서는 NoSQL이 상위권을 차지하였습니다. AWS의 DynamoDB가 1위, 그다음에는 Elasticsearch와 Cassandra가 차지하였고 RDB는 중하위권에 있는 것을 보실 수 있습니다. 기존 RDB의 한계가 나타나다 보니 NoSQL을 이용하는 것이 많아지면서 자연스러운 결과를 보이는 것 같습니다.


Web Frameworks

1위 : Ruby on Rails
2위 : Svelte
3위 : ASP .NET Core

image


웹 프레임워크 분야에서는 Ruby on Rails가 압도적인 금액으로 1위를 차지하였습니다. 그다음에는 Svelte와 ASP.NET Core가 차지하였고 가장 인기가 많은 React.js는 5위를 차지하였습니다.


Other Frameworks and Libraries

1위 : Apache Spark
2위 : .NET Core / .NET 5
3위 : Hadoop

image


그 외의 프레임워크에는 Apache Spark가 1위를 차지하였습니다. 빅데이터나 머신러닝 등 데이터 분야에서는 Spark가 중요한 역할을 하는 만큼 연봉이 가장 높네요. 그 외에도 Hadoop, NumPy, Pandas 등 빅데이터 또는 머신러닝, AI 분야에서 사용하는 기술들을 할 줄 아는 개발자들이 높은 연봉을 받는다는 것을 알 수 있습니다.


이상으로 2021년 StackOverflow Survey를 살펴보았습니다.

작년과 달라진 결과도 있지만 비슷한 결과도 많이 볼 수 있었고 내년에는 또 어떻게 달라질지 기대가 됩니다.

​감사합니다