보안 제품정보


프로그래밍 언어, 몇 개나 알고 있어야 경쟁력이 생길까? 2022.11.21

개발자가 귀한 때다. 그렇다고 아무 개발자나 들일 수는 없다. 개발자마다 잘 다룰 수 있는 프로그래밍 언어가 다르기 때문이다. 당장 필요한 언어가 무엇인지 파악하고, 딱 맞는 개발자를 찾아야 회사도 좋고 개발자도 좋다.

[보안뉴스 문정후 기자] 한 때는 프로그래밍 좀 한다 하는 소리를 들으려면 코볼, 어셈블러, 포트란을 구사할 줄 알아야 했다. 그 때는 모든 컴퓨터 관련 대학 학과나 학원들에서 그런 언어들을 가르쳤고, 학생들은 즐겨 배웠다. 이 언어들을 배우는 게 쉬운 일은 아니었지만, 그렇다고 업계에서 프로그래머가 모자라는 현상이 고질병처럼 존재하지는 않았었다. 

[이미지 = utoimage]


그리고는 오늘이 됐다. 셀 수 없을 정도로 많은 웹 기반, 빅 데이터 기반, 사물인터넷 기반, 서버 기반, 메인프레임 기반 애플리케이션들이 일상 곳곳에서 발견되고 있다. 그런 애플리케이션들을 예전의 몇 가지 프로그래밍 언어로만은 다 만들어낼 수가 없다. 그래서 우리에게는 수많은 프로그래밍 언어들이 있고, 개발자들에게는 점점 더 많은 ‘언어 능력’이 요구되고 있다. 기업들은 개발자를 구할 때 이렇게 물을 수밖에 없다. ‘애써 개발자를 뽑았는데, 정작 필요한 언어를 다루지 못하면 어떻게 하지?’

이 질문에 답을 하려면 기업 스스로가 스스로의 필요를 먼저 알아야 한다. 그리고 IT 책임자만큼 이 답을 잘 알고 있는 사람은 아마 없을 것이다. IT 분야 지도자들은 대부분 조직의 필요에 대한 평가를 대부분 지속적으로 하기 때문이다. 그러므로 어떤 프로그래밍 언어에 대한 능력을 보강해야 하는지도 잘 알고 있다. 조직마다 그 필요가 다 다르겠지만, 현대의 IT 환경에서는 크게 다음 다섯 가지로 분류가 가능하다. 필요한 프로그래밍 언어 능력자를 선택할 때 참고하면 도움이 될 것이다.

1. 서버 애플리케이션 개발
날이 갈수록 서버 기반 애플리케이션들에 대한 수요가 높아지고 있다. 서버 기반 애플리케이션들은 구축이 빠르고, 디지털화에 맞추기가 수월하기 때문이다. 디지털화를 진행하다 보면 보통 두 가지의 필요가 발생한다. 하나는 길이가 고정된 기록들의 트랜잭션 처리를 신속하게 하는 것이고, 다른 하나는 대량의 데이터 객체들을 처리하는 것이다. 이 부분에서 자바라는 언어가 각광을 받는 이유가 나오는데, 자바는 두 가지 작업 모두에 적합하기 때문이다.

서버 애플리케이션에 대한 수요가 없는 회사는 매우 드물고, 이를 충족시켜주는 언어가 자바이기 때문에 사실 자바는 현재 모든 프로그래밍의 기초석과 같은 존재로 여겨진다. 컴퓨터 플랫폼에 따라 컴파일을 새로 할 필요도 없고, 배우기도 쉬운 편이다. 그래서인지 전 세계 자바 전문 프로그래머가 900만 명이 넘는다고 한다. 그리고 어떤 회사의 IT 부서에서도 자바 못 다루는 사람은 찾기 힘들고, 학교에서도 자바는 계속해서 가르치고 있다. 기업 입장에서 자바를 숨 쉬듯 자연스럽게 다루는 사람은 반드시 확보해야 할 필요가 있다.

그 외에 서버 기반 프로그래밍에 강점을 가지고 있는 언어라면 SQL과 NoSQL이 있다. SQL/NoSQL 기반 관계형 데이터베이스들은 하이브리드 데이터 리포지터리 환경에 없어서는 안 될 요소들에 가깝다. 데이터베이스 분야에서 SQL과 NoSQL은 항상 첫 손에 꼽히는 언어였고, 당분간도 그럴 것이다.

2. 백엔드 서버와 웹 개발
프론트엔드 애플리케이션을 개발하는 데 자바 같은 언어가 널리 사용되고, 가끔은 백엔드 서버 코딩에도 활용되지만, 백엔드에서는 자바보다 조금 더 고차원적이고 보다 세부적인 언어가 필요할 때가 많다. 이 분야에서는 C나 C++, C#과 같은 언어들이 선호된다. 자바보다 훨씬 기능이 많고 할 수 있는 일이 많으며, 그렇기 때문에 배우기가 좀 더 까다롭다. 하지만 자바와 여러 면에서 흡사하기도 해서, 자바를 익힌 사람들이라면 충분히 도전해볼 만하다. C계열 언어를 능숙하게 구사하는 개발자가 요즘은 은근 찾기 어려울 때가 있는데, 내부의 자바 개발자들을 교육시키는 것도 인력 보충의 좋은 방법이다.

3. 프론트엔드 웹 개발
웹 페이지들의 작동 방법과 원칙을 구현할 때는 자바스크립트가 주로 사용된다. 아마 전 세계에서 가장 많이 사용되는 프로그래밍 언어가 자바스크립트일 가능성이 높다. 웹 페이지들에 있는 각종 애니메이션, 버튼, 사용자와 상호작용할 수 있는 디스플레이 등에 자바스크립트가 들어갈 가능성이 매우 높다. 가장 많은 학교와 학원에서도 자바스크립트가 교육된다. 자바스크립트 개발자는 어느 회사에나 있고, 구인 시장에서 사람을 찾는 것도 어렵지 않다.

아주 규모가 작은 회사에서는 자바스크립트가 필요한 일을 외주로 돌리는 경우가 많은데, 언제까지 이런 식으로 필요를 충당할 수는 없다. 한 번 만든 페이지라도 유지와 관리가 필요하고, 수정도 해야 하기 때문이다. 결국은 내부적으로 자바스크립트를 다룰 줄 아는 사람을 두는 결단이 어느 시점에든 꼭 있어야 한다. 웹 프론트엔드 개발 분야에서 유명한 또 다른 언어로는 HTML과 CSS가 있다. 웹을 운영하는 조직이라면 자바스크립트, HTML, CSS를 다룰 줄 아는 사람을 내부에 갖추는 것이 유리하다.

4. 사물인터넷 개발
사물인터넷 생태계에 필요한 앱 개발은, 아직 본격화 되지는 않았지만, 점점 많아질 것으로 예상된다. 현재는 자바, 자바스크립트, C가 사물인터넷 생태계에서 가장 많이 사용된다. 마침 이 세 언어는 대부분 회사들에서 다룰 줄 아는 언어이기도 하다. 그러니 사물인터넷 시대가 갑자기 오더라도 많은 조직들이 적어도 프로그래밍 언어 때문에 적응에 어려움을 겪지는 않을 것으로 예상된다.

그 외 사물인터넷 환경에서 자주 사용되는 언어는 PHP와 파이선이다. PHP의 경우 현 웹사이트 앱 개발에도 자주 사용되는 언어고, 다룰 줄 아는 사람도 많다. 파이선 역시 현 시점에서 가장 인기 많은 언어이기 때문에 전문 개발자를 찾는 게 어려운 일은 아니다. 사물인터넷용 앱과 서비스를 개발해야만 할 때, 조직 입장에서 조급히 굴 이유가 없다. 

5. 레거시 애플리케이션
불과 얼마 전인 2020년만 하더라도 개인 간 온라인 거래의 80%가 코볼이라는 옛날 언어를 기반으로 이뤄졌었다. 각종 생산과 개발 행위에 사용되는 코볼 언어행이 2200억 줄을 넘어선다는 통계도 있다. 왜 아직까지도 코볼이 위력을 발휘할 수 있는 걸까? 이유는 간단하다. 코볼이라는 언어가 여전히 강력하기 때문이다. 안정성 면에서는 코볼 만한 언어를 아직도 찾기 힘들다. 그러니 금융과 보험 업계, 정부 기관과 같은 곳에서는 코볼을 대단히 높게 쳐준다. 심지어 각자의 코볼 코드를 맞춤형으로 개발해 사용하는 곳들도 적지 않다.

문제는 코볼을 능숙하게 다루는 개발자들이 점점 늙어가고 있으며 시장에서 사라지고 있다는 것이다. 더 이상 개발 꿈나무들은 코볼을 배우지 않는다. 자바, C, 자바스크립트를 아는 사람들은 매년 수두룩하게 시장으로 나오는데, 코볼 능력자는 그렇지 않다. 자신이 배운 현대 프로그래밍 언어를 코볼로 전환하고자 시도하는 사람들도 드물다.

필자는 코볼을 가르친다는 대학 교수를 언제 마지막으로 봤는지 기억도 나지 않는다. 물론 코볼 과정이 완전히 멸종된 것이 아니라는 건 알고 있다. 그러니 이런 오래된 언어를 꼭 사용해야 하는 상황에 처한다면 대학교의 문부터 두들겨 보는 게 좋을 수 있다. 어느 학교에서 아직 코볼을 가르치는지, 혹시 교수들 중에 코볼을 다룰 수 있는 인물이 있지는 않은지 조사하는 게 이력서를 기다리는 것보다 빠를 것이다. 

글 : 메리 셰클릿(Mary E. Shacklett), 회장, Transworld Data
[국제부 문정후 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>