자바 개발자가 더 각광받는 이유는?

2021.04.23

|

3610

자바 개발자가 더 각광받는 이유는?

*잠깐, 이 글을 소개해드리는 위시켓은 2019년 시밀러웹 방문자 수 기준, 국내 1위 IT아웃소싱 플랫폼입니다.
현재 8만 이상의 개발업체, 개발 프리랜서들이 활동하고 있으며, 무료로 프로젝트 등록이 가능합니다. 프로젝트 등록 한 번으로 여러 개발업체의 견적, 포트폴리오, 예상기간을 한 번에 비교해보세요:)

자바는 만들어진 지 오래된 개발 언어 중 하나입니다. 그럼에도 새로운 개발 언어들에 비해 밀리지 않고 지속적인 인기를 얻고 있습니다. 이런 자바가 여전히 인기 있는 이유는 무엇이고, 그걸 다루는 개발자들이 높은 몸값을 받는 이유는 무엇일까요? 이번 시간에는 자바와 인기의 비결에 대해서 알아보도록 하겠습니다.

개발 언어 자바

자바는 웹 개발 환경 중 백엔드를 다루는 언어입니다. 자바는 1995년에 첫 출시된 이후, 지속적으로 업데이트가 되어왔고 지금도 주기적인 업데이트가 진행되고 있습니다. 현재는 자바를 그대로 사용하기보다, Spring이나 Srping Boot 같은 추가적인 프레임워크를 사용해 백엔드 웹 개발에 사용되고 있습니다.

오라클과 자바

자바는 오라클이라는 거대한 개발 회사에서 만들어낸 언어입니다. 오라클은 과거부터 웹 개발, 물리 서버를 다루는 거대 회사 중 하나입니다. 그래서 과거에는 대부분의 서비스들이 이런 오라클 기반 서버로 만들어진 경우가 많았습니다. 과거의 개발 방식 자체가 서버와 데이터베이스, 관리 프로그램 등을 맞춰서 써야 했기 때문에 오라클을 벗어나, 웹 개발을 한다는 건 쉽지 않은 일이었죠.

현재는 클라우드 환경에서 AWS나, MS Azure 등의 서버가 인기를 끌고 있습니다. 그러나 이들이 등장하기 전, 오라클은 물리적인 서버를 기반으로 거대한 제국을 만들고 있었죠. 실제로 2000년대에는 오라클과 IBM이 전 세계의 서버 시장을 꽉 꽉 쥐고 있었습니다. 그리고 이때 등장한 자바라는 언어도 서버나, 백엔드 개발을 위한 주요 언어가 되었습니다.

자바의 강력한 버추얼 머신(JVM)

자바가 인기를 끄는 이유 중 하나는 바로 JVM(자바 버추얼 머신)이 있기 때문입니다. 리눅스나 윈도우, 심지어 맥 환경에서도 돌아가는 프로그램을 만들 때, JVM을 이용해 손쉽게 개발이 가능합니다. 그래서 각각의 OS별로 추가적인 개발을 하지 않아도 되는 것이죠.

자바 버추얼 머신

우리가 알고 있는 구글의 안드로이드 OS도 JVM을 기반으로 만들어졌습니다. 그래서 자바로 앱 서비스를 개발하는 것도 가능했죠. JVM은 물리적인 기기에 프로그램을 올리는 바탕 같은 것으로 OS를 개발할 때에도 유용한 기능이기에 구글도 JVM의 일부 소스를 사용했던 겁니다.

그러나 오라클은 구글의 안드로이드가 JVM을 맘대로 이용해 개발되었다며, 법정 싸움을 벌이게 되었습니다. 그리고 약 10년간의 소송 끝에 구글은 결국 패배하게 됐죠. 구글이 새로운 개발 언어인 Kotlin을 밀고 있는 것도 이런 법정 싸움의 결과입니다. JVM이란 기능은 쓰고 싶지만, 자바를 통해서 계속 묶여있고 싶진 않으니 아예 새로운 개발 언어에 힘을 실어주게 된 것입니다.

자바의 문제를 해결해준 스프링 프레임워크

자바는 만들어진 지 오래된 개발 언어입니다. 그러나 자바를 대체하는 언어는 나오지 못했습니다. 하지만, 자바에도 여러 불편한 점이 있었기에 이것을 해결하기 위해 프레임워크들이 등장했습니다. 그중 하나가 바로 스프링 프레임워크(Spring Framework)입니다.

자바 스프링 프레임워크

현대의 개발 환경은 수백, 수천 개의 작은 마이크로 서비스들을 연결해, 하나의 완성된 서비스를 만들어냅니다. 워낙 다양한 서비스들을 만들어야 하니 각각의 파츠를 직접 개발하지 않고, 다른 사람들이 만든 것들을 가져다 조합하는 형식이죠. 그래서 발생하는 것이 호환성 문제입니다.

  • 서로 다른 곳에서 만들어진 파츠들을 모아
  • 한 곳에 묶어서 서비스를 만들게 되는데
  • 이때 버전이나, 호환성에 문제가 생긴다면?

자바로 만들어진 많은 서비스들은 여러 파츠들을 묶어 하나의 서비스를 만들어냅니다. 과거에는 이런 파츠들이 조금만 변하거나, 오래되어 업데이트가 되지 않았거나, 문제가 발생한 경우에 사람이 일일이 체크해서 문제를 해결해야만 했습니다. 그러나 스프링 프레임워크가 등장하게 되면서, 이런 문제를 해결해주었습니다.

자바 프레임워크

실제로 자바의 프레임워크들 중 가장 많이 사용되는 것이 바로 스프링(Spring)입니다. 국내에서 유니콘 기업이라 불리는 배달의 민족이나 토스 같은 기업들도 스프링 프레임워크를 사용하고 있죠. 

자바를 대체하고 싶었던 Node.js

자바는 현재 다른 언어로 대체하기가 불가능한 웹 서버 언어입니다. 이미 수많은 서비스들이 자바를 기반으로 만들어졌고, 개발자들도 자바에 익숙해져 있죠. 여기서 갑자기 새로운 개발 언어가 등장한다 해도 이걸 대체하려면, 서비스 기반을 새로 만들어야 하기에 결코 쉬운 과정이 아닙니다. 특히 웹 서버를 잘못 건드리면 서비스가 중단되거나, 데이터를 잃어버릴 수도 있어 더욱더 조심스러울 수밖에 없죠.

물론 자바를 대체하려는 언어가 아예 없었던 것은 아닙니다. 웹 개발, 프론트 엔드 개발 언어로 유명한 자바스크립트가 그 대표적인 예죠. 자바스크립트를 통해 웹서버를 다뤄보자 하는 시도로 만들어진 것이 바로 Node.js입니다.

자바 그리고 node.js

Node.js는 자바를 대체하기 위해 나온 여러 시도 중 하나입니다. 그러나 결국 자바라는 거인을 넘어서진 못했죠. 개발자들의 평가도 마찬가지입니다. node.js는 작은 규모의 서비스에서는 쓰일 수 있어도 거대한 규모의 기업 서비스로는 적합하지 않습니다. 태생 자체가 프론트 엔드를 위한 언어였기에 무겁고 복잡한 웹서버를 책임지긴 어려웠죠. 그래서 실무에서는 여전히 자바 기반의 서버와 서비스 개발자가 인기를 얻고 있습니다.

결론: 자바를 대체할 언어가 없다!

자바 개발자는 과거부터 꾸준히 인기를 얻어왔습니다. 그리고 자바를 대체하려는 여러 시도와 도전이 있었죠. 하지만, 자바가 갖고 있던 호환성 체크 문제는 프레임워크로 해결했고, 웹서버를 다루는 언어로 새로운 언어가 등장하거나, 인기를 끌지도 못했죠. 지금까지 다뤄본 자바의 특징과 강점을 정리해보면 다음과 같습니다.

  • 자바는 큰 규모의 기업용 서비스를 만들기에 좋은 개발 언어다
  • 자바는 이미 수많은 개발자들이 검증한 언어이고, 실무에서 사용되고 있다.
  • 자바는 JVM이라는 강력한 버추얼 머신 기능도 제공한다.
  • 자바를 대체하려고 Kotlin 같은 언어가 등장했지만, 앱 개발에 집중되어있고
  • 자바를 대체하려는 Node.js는 무거운 서비스를 만드는 데에는 적합하지 않았다.
  • 심지어, 자바의 문제점인 호환성 관리는 Spring 프레임워크가 해결했다.

자바는 지금도 지속적으로 업데이트가 되고 있는 개발 언어입니다. 또한 지금도 구인구직 관련 검색을 해봐도 가장 많은 검색에 걸리는 언어 중 하나입니다. 기존에 개발된 서비스를 유지보수하거나, 신규 서비스를 만들 때에도 대체할 수 있는 방법이 별로 없습니다. 그래서 앞으로도 자바 개발자들은 계속 필요할 것이고, 자바 개발자들은 앞으로도 귀한 대접을 받을 가능성이 높은 것입니다.

지금까지 자바 개발자가 왜 인기를 얻는지. 그리고 자바가 어떤 이유로 사랑받는지에 대해 알아보았습니다. 자바와 스프링 프레임워크에 대해 좀 더 궁금하시다면 참고자료를 확인해보세요.

<참고자료>

https://woowacourse.github.io/javable/

https://zdnet.co.kr/view/?no=20201008104543

국내 1위 IT아웃소싱 플랫폼,
위시켓이 궁금하신가요?


앱 개발 비용 궁금하세요?
위시켓이 바로 알려드릴게요!

JVMNode.js개발 언어스프링 프레임워크자바
다음 글

위시켓 블로그의 새로운 소식 받기