일반적인 개발 동향

공유하기:

개발

어떤 종류의 활동에 참여하고 계신가요?

90%

코딩/프로그래밍

51%

코드 검토

42%

테스트

37%

시스템 설계

34%

배포

25%

인프라 개발/DevOps

17%

시스템 관리

어떤 운영 체제를 기반으로 개발하시나요?

64%

Windows

43%

Linux

42%

macOS

1%

기타

오픈 소스 프로젝트에 기여하고 계신가요?

45%

아니요. 하지만 하고 싶음

21%

몇 번만 기여함

12%

예. 이따금

8%

예. 정기적으로

7%

아니요. 그리고 하고 싶지 않음

4%

풀타임으로 오픈 소스 코드 작업을 하고 보수를 받음

2%

풀타임으로 오픈 소스 코드 작업을 하지만 보수는 받지 않음

41%

오픈 소스 프로젝트에 기여하는 응답자의 비율이며, 20%가 거의 정기적으로 기여한다고 답했습니다.

오픈 소스 프로젝트에 기여하는 개발자의 수(국가별)

55%

미국

54%

독일

53%

중동, 아프리카, 중앙아시아

53%

영국

52%

중국 본토

51%

기타 동남아시아 및 오세아니아

51%

인도

IDE 또는 에디터에 어떤 플러그인을 사용하시나요?

48%

버전 관리 시스템

46%

프레임워크별 플러그인

40%

사용자 지정 언어 지원

37%

코드 품질 및 분석

34%

UI/UX 플러그인 및 테마

32%

생산성 도구

32%

디버그 도구

크로스 플랫폼 개발

크로스 플랫폼 소프트웨어를 개발하시나요?

65%

아니요

22%

예. 크로스 플랫폼 모바일 애플리케이션을 개발

17%

예. 크로스 플랫폼 데스크톱 애플리케이션을 개발

개발하는 크로스 플랫폼 데스크톱 애플리케이션은 어떤 플랫폼을 대상으로 하나요?

88%

Windows

77%

Linux

53%

macOS

2%

기타

Maarten Balliauw

JetBrains 개발자 애드버킷

데스크톱 사용에서 macOS가 더 큰 점유율을 차지할 것이라는 제 예상과는 달리 Windows의 지배력이 높습니다. Linux를 타깃으로 삼고 있는 사람들의 수를 확인하는 것도 매우 흥미롭습니다.

개발하는 크로스 플랫폼 모바일 애플리케이션은 어떤 플랫폼을 대상으로 하나요?

87%

Android

72%

iOS

55%

2%

기타

크로스 플랫폼 데스크톱 애플리케이션 개발 시 다양한 운영체제 또는 플랫폼에서 일반적으로 어떻게 작업하시나요?

50%

물리적 시스템 또는 기기를 사용

49%

가상 시스템을 사용

19%

일반적으로 다양한 운영 체제나 플랫폼으로 작업하지 않음

2%

기타

크로스 플랫폼 모바일 애플리케이션 개발 시 다양한 운영체제 또는 플랫폼에서 일반적으로 어떻게 작업하시나요?

67%

로컬에서 실행되는 에뮬레이터를 사용

65%

물리적 시스템 또는 기기를 사용

16%

원격 시스템에서 실행되는 에뮬레이터를 사용

4%

일반적으로 다양한 운영 체제나 플랫폼으로 작업하지 않음

1%

기타

모바일

어떤 모바일 운영체제를 대상으로 개발하시나요?

87%

Android

58%

iOS

3%

기타

모바일 개발을 담당하는 대다수의 개발자는 Android 애플리케이션에서 작업하며, 절반 이상이 iOS 개발에 참여하고 있습니다.

모바일 운영 체제를 어떻게 개발하시나요?

61%

기본 도구를 사용

49%

크로스 플랫폼 기술 및 프레임워크를 사용

모바일 개발자 중 거의 절반은 크로스 플랫폼 기술을 사용합니다. 여기에서 Kotlin Multiplatform을 비롯해 최고의 크로스 플랫폼 프레임워크 5가지에 대해 알아보세요.

어떤 크로스 플랫폼 모바일 프레임워크를 사용하시나요?

46%

46%

Flutter

32%

35%

React Native

12%

10%

Unity

12%

8%

Xamarin

11%

9%

Ionic

보안

62%

SSDLC(Secure Software Development Life Cycle)를 따르는 개발자의 비율.

안전한 개발을 위해 어떤 도구를 사용하시나요?

74%

IDE/에디터

39%

CI/CD

27%

이슈 트래커

13%

전문/전용 보안 소프트웨어

4%

기타

개발된 소프트웨어의 보안을 유지 관리하기 위해 어떤 통합 솔루션을 사용하시나요?

58%

통합 솔루션을 사용하지 않음

26%

GitLab

5%

Snyk

5%

Sonatype

4%

JFrog

2%

Checkmarx

2%

Veracode

정적 분석

작업 중에 코드 품질을 어떻게 유지하나요?

71%

수동으로 코드 검토를 실행

33%

수시로 자동 코드 분석/정적 분석을 실행

33%

커밋할 때마다 자동 코드 분석/정적 분석을 실행

2%

기타

프로젝트/조직에서 고품질 코드를 유지하는 데 가장 큰 장애물은 무엇인가요?

48%

시간 제약

38%

과중한 업무량

34%

팀/조직 간 코드 품질 가이드라인 불일치

24%

직원 부족

19%

우수한 도구 부족

17%

비싼 도구 가격

12%

문제가 없음

3%

기타

자동화된 코드 분석/정적 분석에 어떤 도구를 사용하시나요?

62%

IDE/에디터

32%

ESLint

24%

SonarQube

16%

SonarLint

12%

Pylint

10%

Flake8

7%

SonarCloud

6%

Mypy

5%

PHPStan

5%

Ktlint

5%

Snyk

3%

Qodana

9%

기타

마이크로서비스

다음 질문은 마이크로서비스를 개발하는 응답자에게만 표시되었습니다.

34%

마이크로서비스를 개발한다고 보고한 응답자의 비율.

시스템 설계 시 어떤 접근 방식을 사용하시나요?

82%

마이크로서비스

35%

서비스 지향 아키텍처

20%

웹 프런트엔드 포함 모놀리스

12%

CQRS

8%

리액티브 스트림

4%

액터 시스템

1%

기타

2%

없음

애플리케이션에서 분산된 부분은 어떻게 통신하나요?

75%

REST/RPC over HTTP

48%

메시지 큐

24%

WebSocket

24%

크로스 플랫폼 RPC

12%

GraphQL

10%

스트림 처리

9%

사용자 지정 TCP/UDP 통신

8%

SOAP

3%

원격

2%

기타

1%

없음

읽어주셔서 감사합니다!

이 보고서가 여러분에게 도움이 되었기를 바랍니다. 이 보고서를 친구와 동료에게 공유하세요.

질문이나 제안이 있으면 surveys@jetbrains.com으로 연락해 주세요.