brunch

You can make anything
by writing

C.S.Lewis

by 멋쟁이사자처럼 May 18. 2023

취업 알잘딱깔센
프로그래밍 언어 고르기

나의 ‘생애 첫 프로그래밍 언어’를 찾는 법

이제 막 개발자가 되기로 마음먹었지만, 무엇부터 시작해야 할지 모르시겠다고요?


아직 개발이 무엇인지, 어떤 개발자가 되고 싶은지도 잘 모르는 상태인데 프로그래밍 언어니, 프레임워크니 카테고리 구분조차 쉽지가 않죠. 게다가 비슷비슷한 이름들은 왜 이렇게 많은지! 자칫 첫 단추를 잘못 꿰었다가 취업까지 가는 길이 더 멀고 험난해지면 어쩌나, 덜컥 두려워지기 마련입니다.



프로그래밍 언어, 많아도 너무 많다!


하지만 언제까지고 혼자 끙끙 앓으며 고민만 할 수는 없으니까요! 프로그래밍 공부의 첫 발을 내디딜 분들의 선택이 조금 더 가벼워지도록, 다양한 정보를 준비했습니다.

  

'국내 IT 채용 시장'은 어떤 프로그래밍 언어를 필요로 하는지

프로그래밍 언어의 '글로벌 트렌드'는 무엇인지

Java / Python / JavaScript 언어에는 어떤 '차이점'이 있는지


이제 하나씩 짚어보며 개발자 취준에 알맞은 ‘생애 첫 프로그래밍 언어’에 대해 이야기해 볼까요?






1. 앞으로 취업하게 될 IT 기업, 어떤 기술 스택이 필요할까?


취업을 위해 프로그래밍 언어를 배울 예정이라면, 채용 시장의 현황을 명확하게 파악할 수 있는 도구가 하나 있습니다. 바로 채용 공고입니다. 영어로는 JD(Job Discription)라고 하죠. 너무 뻔하고 쉬운 답안이라 실망하셨을 수 있지만, 이 채용 공고만 유심히 들여다봐도 취업에 대한 대략적인 목표 설정이 가능합니다.


개발자에 대한 수요가 끊임없이 발생하고 있는 지금, 모든 채용 공고를 샅샅이 살피기란 어려울 겁니다. 따라서 여러분도 자주 들어보셨던 ‘네카라쿠배’를 예시로 들어보려 합니다. 물론 네카라쿠배가 현 IT 업계와 개발자 생태계를 대표한다고 단정  지을 수는 없습니다. 다만, 이들이 현재 국내 IT 업계를 리딩하고 있는 큰 기업들이라는 것 또한 부정할 수 없는 사실이죠. 때문에 해당 기업들이 어떤 프로그래밍 언어의 전문성을 가진 개발자를 필요로 하는지 알아보며 국내 IT 업계의 수요에 대해 파악해 보도록 하겠습니다.




1) 네이버


네이버는 신입 개발자 및 인턴에게 다음과 같은 기술 스택을 요구합니다. 지난 4월 마무리된 테크 신입 공채 중 프론트엔드 개발의 경우 웹 기술 언어인 HTML / CSS / JavaScript / WebAssembly를, 네이버랩스 자율주행그룹의 프론트엔드 소프트웨어 개발 인턴의 경우 JavaScript / HTML / CSS 에 대한 이해를 필요로 합니다.




2) 카카오


2023년 상반기에 진행된 카카오뱅크 개발자 대규모 채용을 예시로 보겠습니다. 이번에는 백엔드 개발자입니다. 카카오뱅크 서버개발팀의 백엔드 API 개발자의 경우 Java 11 이상 / Kotlin 중 하나 이상의 언어에 능숙해야 합니다.


앱 개발자도 살펴볼까요? Android 개발자라면 Kotlin / Java 로,  iOS 개발자라면 Swift로 개발이 가능해야 합니다.




3) 라인


라인은 국내 및 글로벌 지사에 다양한 포지션 채용이 열려 있는 상태입니다. 그중 일부만 빠르게 훑어보자면,  라인 데이터 플랫폼의 백엔드 서버 개발자Java / Kotlin 언어 개발 가능자를 찾고 있습니다. 라인 메신저 서버 개발자는 채용 공고 상단에 업무 시 어떤 언어와 기술을 활용하는지 상세히 기술하고 있네요. 지원자에게는 Java / C, C++ / Erlang 언어를 요구합니다.



라인 뱅크 대만 지사에서는 프론트엔드 개발자에게 JavaScript / HTML / CSS 언어들의 이해도를 원합니다.




4) 쿠팡


쿠팡도 정말 많은 (경력) 개발자 채용 공고가 열려 있어, 어떤 직무가 어떤 프로그래밍 언어를 요하는지 파악하기 좋은데요. 몇 가지 예시를 살펴보자면, 쿠팡 플레이의 iOS 개발자Swift / Objectiv C에, 쿠팡 마켓 플레이스 플랫폼의 백엔드 개발자Java / Phython / Scala 언어에 능숙해야 합니다.





5) 배달의민족


배달의민족 프론트엔드 개발자는 주로 HTML / CSS / JavaScript 언어에 대한 이해를,


백엔드 개발자는 주로 Java 기반의 개발 능력을 필요로 합니다.




정리하자면,

네카라쿠배 채용 공고에서 주로 등장하는 프로그래밍 언어들은 다음과 같습니다.


프론트엔드 개발자 : HTML / CSS / JavaScript

백엔드 개발자 : Java / Kotlin / Python

앱 개발자 : Android - Java / Kotlin iOS - Swift


직군/직무에 따라 2-3가지 언어들로 추려진 것 같고, ‘Java’‘JavaScript’가 가장 많이 눈에 띕니다. 이 언어들이 지금 현재, 국내 IT 현업에서 주로 사용되는 프로그래밍 언어라고 볼 수 있겠습니다.






2. 글로벌 프로그래밍 언어 순위


국내에서의 상황이 위와 같다면, 전 세계적으로도 비슷한 프로그래밍 언어를 사용하고 있을까요? 테크 분야가 워낙 빠르게 변화하다 보니, 글로벌 트렌드에 따라 큰 지각 변동이 생길 것이 우려되기도 하죠.  이런 분들을 위해 ‘현재 가장 인기 있는’ 프로그래밍 언어를 알아볼 수 있는 자료를 모아봤어요.




1) TIOBE Index


어떤 프로그래밍 언어를 배워야 할지 막막할 때, 구글 검색창에 ‘프로그래밍 언어 순위’ 등을 검색하여 객관성을 파악하고자 하는 분들이 많으실 텐데요. 이때 주로 등장하는 자료 중 하나가 TIOBE Index입니다.


티오베(TIOBE)는 소프트웨어 코드 품질을 관리해 주는 업체로, 검색 엔진을 이용하여 매년 프로그래밍 언어 순위를 공개하는 기업으로 유명합니다. 순위는 다음과 같은 기준으로 산정합니다.


해당 프로그래밍 언어를 사용하는 엔지니어의 수

언어 관련 강의 및 언어를 사용하는 서드파티(third party)

Google, Baidu, Wikipedia, Amazon 등 검색 엔진에서 해당 언어가 검색된 횟수


티오베에서 발표한 2023년 1월 기준 프로그래밍 언어 관심 순위는 아래와 같습니다.   

1위 : Python

2위 : C

3위 : C++

4위 : Java

5위 : C#

6위 : Visual Basic

7위 : JavaScript

8위 : SQL

9위 : Assembly language

10위 : PHP



국내 IT 기업 채용 공고에서 주로 보였던 Java 4위, JavaScript 7위를 차지했네요. 주목할 만한 점은 Python이 지난 2021년 초 3위에서 시작해 3년 연속 1위를 기록하고 있다는 것입니다. Python 외에도 Go, Rust, Julia, Swift, Kotlin 등이 신규 언어도 주목받고 있습니다. 또한 C++가 꾸준히 증가 추세를 보이며 3위를 기록하여, 본래 3위였던 Java의 자리를 탈환했습니다.


티오베 인덱스를 맹신할 필요는 없습니다. 전체 인덱스 지표는 다양한 변인 가설이 존재할 수 있다고 해요. 예를 들어 언어가 안정화되어 검색이 필요가 없게 되면 지표가 낮아질 수도 있고, 어렵거나 신규 언어라서 검색량이 많아지면 지표가 상승할 수도 있는 것이죠. 그렇기에 전반적인 양상만 참고해 주세요!


(출처 : Jaeyeoul Ahn _ 앞으로도 Java를 잡아야할까?)




2) Stackoverflow


세계적 규모의 개발자 커뮤니티 스택오버플로우에서 7만 명의 개발자를 대상으로 진행한 설문에 따르면, 최근 10년간 가장 인기 있는 프로그래밍 언어는 JavaScript입니다. 그 뒤를 HTML/CSS, SQL, Phython, Typescript, Java 등의 언어가 따르고 있네요.  실제 사용 중인 프로그래밍 언어는 2021년 대비 2022년 Node.js가 순위권에서 밀려나면서 Java의 순위가 근소하게 높아졌습니다.



이 설문에는 가장 좋아하는 언어, 두려운 언어를 묻는 항목도 있습니다. 금년도에는 네카라쿠배 채용 공고에 등장한 언어 중 유일하게 Java가 좋아하는 사람보다 두려워하는 사람의 비율이 높은 언어가 되었습니다.







3. 결론 : 입문자를 위한 첫 프로그래밍 언어는?


'네카라쿠배 채용 공고'부터 '티오베 지수'와 '스택오버플로우 서베이'까지. 테킷과 함께 다양한 자료를 살펴보다 보면 어떤 프로그래밍 언어가 ‘주류’에 속하는지는 감이 오실 거예요.


하지만 아직도 어떤 언어를 배워야 할지 결정하기 어려우신가요?


그렇다면 마지막 선택을 위해서, 프로그래밍 언어 별 특징을 빠르게 비교해 보도록 하겠습니다. Java / Python / JavaScript / Kotlin / Swift 다섯 가지 언어에 대해 설명드릴 텐데요. 위에서 네카라쿠배 채용 공고 파트에서 개발자 직군에 따라 프로그래밍 언어의 수요가 달랐던 것, 기억하시나요?


프론트엔드 개발자 : HTML / CSS / JavaScript

백엔드 개발자 : Java / Kotlin / Python

앱 개발자 : Android - Java / KotliniOS - Swift


이렇듯 직군에 따라 주류 언어가 달라지기 때문에 어떤 개발자로 성장하고 싶은지, 혹은 어떤 결과물을 만들어 내고 싶은지 먼저 고민해 보는 것이 좋습니다. 이를 염두에 두고, 나에게 찰떡인 언어를 자세히 알아가 보도록 해요.



1) 클래식한 언어 Java


Java는 다른 두 언어에 비해 상대적으로 등장한 지 오래되었습니다. 하지만 그만큼 수많은 사용자들의 레퍼런스를 보유하고 있고, 오픈소스나 프레임워크*도 많아요. Java의 큰 특징은 이식성이 좋다는 것입니다. Java를 사용해서 개발된 프로그램이나 애플리케이션은 JVM(자바 가상 기계)만 있으면  기기나 운영체제와 무관하게 실행시킬 수 있습니다. 또한 국내의 경우 ‘전자정부표준프레임워크’로 지정된 언어가 Java이기 때문에, 정부 주도의 많은 프로젝트에서 Java를 많이 이용한다고 해요.


*프레임워크는 일종의 도구 모음으로, 자주 사용하는 함수나 기능을 모아  하나의 세트로 미리 만들어둔 것을 말합니다.




2) 쉬운 사용성의 신흥 언어 Python


Python 프로젝트는 거의 30년 전에 시작되었기에 새로운 언어는 아닙니다. 다만 비교적 최근에 와서 무서운 속도로 성장하며 확장되고 있기 때문에 새롭게 느껴지는 편입니다. Python은 문법이 매우 쉬워 난이도가 낮다는 평이 많은데요. Java나 C언어와 달리 코드에 자료형도 필요 없고, 괄호도 쓰지 않아 간결하고 깔끔하게 표현됩니다. Python의 경우 다양한 분야에 사용되기는 하지만, 데이터/인공지능의 급부상과 함께 떠오른 언어라 데이터 수집 및 분석하는 용도로 주로 사용됩니다. 또한 프론트엔드에서는 잘 사용되지 않는 언어입니다.




3) 어디에나 존재하는 JavaScript


Java와 JavaScript는 이름은 비슷하지만 완전히 다른 언어입니다. (혹자는 둘의 관계를 이름은 비슷하지만 다른 나라인 인도와 인도네시아로 비유해 화제를 모으기도 했습니다.) JavaScript는 웹에 특화된 객체지향 언어입니다. 인터넷을 사용하는데 필요한 웹브라우저는 대부분 JavaScript를 지원하기 때문에, 웹사이트를 만들기 위해서는 JavaScript를 배우는 것이 좋습니다. 다만 Python보다는 언어의 복잡성이 높아 입문자에게 허들이 있을 수 있고, 브라우저에서 유저에게 코드가 보이기 때문에 보안에 취약하다는 단점이 있습니다.




4) Java의 강력한 대체재 Kotlin


Kotlin은 기존 안드로이드 앱 개발에 활용되는 Java를 보완하고 대체하기 위해 탄생했습니다. 때문에 기존에 Java로 동작하던 환경에서 100% 호환이 가능합니다. 이는 기존에 자바로 개발하던 프로그램은 모두 코틀린으로도 개발할 수 있다는 의미입니다. Kotlin은 Java의 대체재로 탄생했기에, 기존 언어 대비 문법이 간결하며 사용성이 좋습니다. 또한 Java에서 빈번하게 발생하는 오류인 NPE(NullPointException)의 발생을 막는  Nullable과 Non-nullable 이라는 개념을 가지고 있어, 안정성이 높다는 특징이 있습니다. 아직까지 Java 보다는 속도가 느리고, 학습 생태계가 작은 편이라는 단점도 존재합니다. 그러나 2019년 구글은 Kotlin을 안드로이드 개발을 위한 공식 언어로 선정한 이후, Kotlin을 활용한 안드로이드 개발이 늘어나는 추세라고 볼 수 있습니다.




5) 애플의 프로그래밍 언어 Swift


Swift는 애플의 신규 프로그래밍 언어로, iOSipadiOS, maciOS를 대상으로 합니다. 기존 애플의 개발을 위해 사용된 Objective-C 대비 빠르고, 현대적이고, 안전한 언어로 다음과 같은 장점이 있습니다.


신속성 : 고성능 LLVM 컴파일러로 C언어와 비슷한 빠른 성능을 보이며, 컴파일러를 지속적으로 개량하여 실행 속도가 빠릅니다.

안전성 : Optional, guard 구문, 오류 처리, 강력한 타입 통제 등을 통해 프로그래머의 오류를 방지합니다.

현대성 : 간결하고 가독성이 좋은 구조이며, 현대 프로그래밍 언어의 유용한 기능들과 디버깅/테스트가 유리합니다.





어떤 프로그래밍 언어가 나에게 가장 적합할지, 결정하셨나요?


하나의 언어를 선택하면 나의 길이 결정된다는 부담감이 있다면, 잠시 내려놓아도 될 것 같습니다. 많은 개발자들이 하나의 프로그래밍 언어를 숙지하게 되면 다음 언어를 배우는데 더 수월하다고 말합니다. 기존의 지식을 기반으로, 학습 곡선이 가파르게 변화하는 순간이 오는 것이죠!


또한, 개발자를 채용할 때 다양한 언어를 겉핥기식으로 다뤄본 경험보다는 하나의 언어를 잘 사용할 줄 아는 개발자를 선호한다고 해요! 아래의 워키토키 영상에서 자세한 이야기를 들어볼 수 있습니다.




그렇기 때문에 정답은 없습니다!


무엇을 선택하든 잘못된 방향은 아닐 거예요. 시작이 반이라고 하죠? 개발에 대한 흥미를 불러일으킬 수 있는 언어를 통해 개발자로의 한 발을 떼는 것부터 시작해 보세요!  프로그래밍 언어 ‘찍먹’부터, 취업이라는 목표를 향한 도전까지. 테킷이 그 길을 함께하겠습니다.


TAKE IT! YOUR WORLD IS WAITING


지금 테킷과 함께 도전해보고 싶다면, 테킷 홈페이지에서 나의 가능성을 현실로 만들 기회를 잡아보세요!


지금 테킷 홈페이지에서 확인하기


브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari