트랜드에 대해서 이야기를 하다보면 다툼으로 이어지는 경우가 상당히 많다. 특히 IT분야에서는 그러한 경우가 도드라지는데, 실제로 프로그래머들 같은 경우에도 트랜드에 둔감한 사람이 있고 트랜드에 아주 민감한 사람들이 있다. 그리고 이 두 부류는 좀처럼 잘 합의에 이르지 못할 때가 많다
필자는 트랜드에 대해 그다지 민감하지 않다. 물론 사람들을 가르치는 직업을 가지고 있는지라 트랜드에 대해 마냥 귀 닫고 살 수는 없는 입장이기는 하다. 거기에 다분히 호기심이 많은 사람이라서 새로운것이 보이면 어느정도 기웃 거리는 경향도 없지않아 있다.
하지만 트랜드라는 것이 절대적이라고 생각하지는 않는다. 트랜드를 따라가지 못하면 뒤쳐지는 것이고, 그것은 곧바로 생존경쟁에서 패배하는 것이고, 루저의 삶을 살게 되는 것이라고 하는 것에는 절대 동의하지 않는다.
헌데 필자가 만나본 중의 트랜드를 중요시하게 생각하는 분들도 꽤 있다. 그 분들도 나름 다 자신의 생각과 철학을 가지고 있는 경우가 있는데 트랜드를 중시하느냐 아니냐의 차이는 있을 지언정 많은 분들은 트랜드를 따르는 것이 절대적으로 세상에서 승리하는 것을 의미한다는 것에 대해서는 동의하지 않는다.
( 원래 입장이라는 것이 그렇다. 세세하게 들어가면 사람들마다 다 생각이 어느정도 틀리고 자신의 경험과 성향에 따라 의견은 갈린다. 그래서 모두가 머리를 맞대고 의견을 모으는 집단지성이 개개인의 생각에 비해 경쟁력을 가질 수 있는 것이라고 생각한다. )
트랜드에 대해서는 다들 생각과 입장이 틀리겠지만 오늘은 필자가 나름 생각하는 부분에 대해서 좀 짚고 넘어가고 싶다.
먼저 당신이 트랜드를 중요하게 여긴다면? 혹 당신은 당신이 트랜드를 선점함으로서 다른 사람들보다 우월한 존재라는 것을 인정받으려고 하고, 그것으로 생존경쟁에서 승자가 되려는 생각을 가지고 트랜드를 당신이 승자가 되는 수단으로 이용하려고 하는 것은 아닌가? 하는 것을 묻고 싶다.
필자의 경험을 적어본다.
트랜드는 늘 있었다. 그리고 그 때마다 "이것은 거스를 수 없는 대세이고, 이것을 따르지 않으면 글로벌 경쟁 사회에서 뒤쳐지고 패배하게 된다" 라는 논리도 늘 있었다. 하지만 정말로 그렇게 전 세계를 변화의 흐름으로 이끌어 간 트랜드는 거의 없었다. 대부분 그냥 쓸놈쓸 ( 쓰는 놈들만 쓴다 ) 하다가 흐지부지 사라져 버린 경우가 대부분이었다.
이전 글에도 적었지만 20년 전에 엔터프라이즈 자바빈즈라는 개념이 프로그래밍세상을 휩쓸었다. 이 기술을 사용하지 않으면 마치 세상에서 도퇴될 것 같은 분위기가 있었다. 그리고 수천만원을 호가하는 서버 프로그램들이 날개돋친듯 팔려 나갔다.
필자는 이때에도 여기에 대해서 회의적이었다. '구지 이정도 기능을 위해서 수천만원을 들일 필요가 없지 않은가? 프로시져를 좀 더 정교하게 제작하는 것으로도 상태없는 세션빈이 해야 하는 역할을 충분히 대신할 수 있는 경우가 대부분 아닌가?' 라고 생각했었다.
하지만 당시에는 이런 생각을 이야기하면 "지금 대세가 이쪽입니다. 대세를 따라야 합니다" 라는 이야기를 듣기 쉽상이었고, 좀 더 강하게 이야기를 하면 중요한 결정을 내리는 자리에서 밀려날 분위기였었다. 마치 지금 시대에 4차 산업혁명은 허구다... 라고 이야기 하는 것과 비슷하다고 할까? ( 사실 지금도 필자는 4차 산업혁명은 허구라고 생각한다. )
해서 ... 필자도 엔터프라이즈 자바빈즈 ( 줄여서 EJB 라고 한다 ) 를 가르치는 계열에 동참하게 된다. 하지만 뭐 가르치면서도 늘 하는 얘기가 EJB가 중요한게 아니다. 전체적으로 프로그램이 동작하는 동작 흐름을 이해하는 것이 더 중요하다. 기본을 잊지 마라. 기본은 원리를 깨닫는 데서 시작한다. 그리고 데이터 베이스 설계는 정말로 중요하다. 제 아무리 EJB를 쓴다 하더라도 데이터베이스 설계가 제대로 되지 않으면 그 프로그램은 제대로 된 서비스를 제공하지 못하게 된다. 그러니 기본에 충실하고, 응용하고 적용하고, 설계를 중요하게 여겨야지 EJB가 만능이라고 ( 지금 용어로는 치트키? ) 생각하면 절대 안된다...
이런 얘기를 입에 달고 살았었다. 필자가 가르친 수강생들은 이런 얘기에 어느정도 동감하는 눈치였던것이... 실제로 프로젝트를 진행 해 보니까 EJB라는 것이 생각하고 궁리하면서 개발한 프로그램 코드를 담는 그릇에 불과하였고, 프로그램으로 구현하기 까다로운 것을 대신 해결해주는 일종의 '컨테이너'역할을 수행하는 것 밖에는 안된다는 것을 실제 개발과 프로젝트를 통해 확인해 보았으니 말이다.
헌데 필자와 같은 생각을 가지고 가르치는 사람들만 있었던 것은 아니다. 혹자들은 EJB를 모르면 세상에 뒤쳐진다. EJB를 잘하면 직장은 무조건 잡는다. 취직은 따 놓은 당상이다... 라는 이야기를 하면서 수강생을 모집하고 강의 현장에서도 깊이있게 생각하고 차근히 실력을 쌓아나가기 보다 EJB만 집중적으로 강의하면서 '기본은 별거 아니다. EJB만 잘 하면 어떻게든 된다' 라는 식으로 강의를 하는 경우가 많았다.
뭐 솔직히 당시에 필자의 생각은 참 어처구니 없으면서도... 우리나라가 뭔가 저렇게 광풍이 불게되면 거기에 다들 홀린듯이 휩쓸려 가게 되는 기질을 다분히 가지고 있는 나라구나... 하는 서글픔을 가지고 있다.
실은 지금의 4차산업혁명... 이라는 것도 필자는 그때와 비슷할 것이라고 생각한다. 이것을 따르지 않으면 역사를 거스리는 자이고 세상에서 낙오하기 딱 좋은 사람이고, 이것에 지금이라도 올라타지 않으면 안된다. ( 그러니까 기본이나 소질같은 건 다 제끼고 무조건 4차산업혁명 이라는 이름이 붙어있는 것들만 붙들고 가라 ) 라고 이야기 하는 세상을 보면 좀 서글프다. 실제로 필자가 경험한 빅데이터나 머신러닝은 그런게 아니거든...
빅데이터가 세상을 죄다 바꿀거라고 생각하지만 실은 빅데이터의 커다란 두 축은 분산 데이터베이스 구축을 담당하는 하둡과 데이터를 분석한 결과를 만들어 내는 R... 정도가 중심이 된다. 거기에 좀 더 나아가면 파이선 같은 프로그래밍 언어를 이용한 데이터 분석 기법 같은 것이 들어갈 수 있고...
헌데 하둡 같은 경우는 우리나라에서 적용되는 경우가 거의 없다. 그리고 해외에서도 하둡은 그냥 쓰는 곳에서만 쓴다. 그리고 대용량의 데이터를 필요로 하는 곳에서는 구지 하둡을 쓰기보다는 비슷한 역할을 수행하는 자체 솔루션을 개발해서 쓰는 경우들이 더 많다. ( 해서 필자가 만난 현장의 개발자들 같은 경우에는 하둡에게 속았다... 라는 이야기를 하는 경우도 많이 보았다. 의심이 든다면 한번 현장의 목소리를 듣고 다녀 보시라. 하둡을 경험해 본 사람들의 얘기를 직접 듣는 것과 4차산업혁명 같은 공허한(?) 구호를 외치는 선지자(?)들의 이야기를 듣는 것은 분명 차이가 날 것이라고 필자는 생각한다 )
그리고 R 같은 경우는 최신 기술이 절대 아니다. 이미 수십년전에 만들어진 기술이다. 그럼에도 불구하고 왜 하필 지금에서 R 이 세상을 바꿀 중심이 될 것이라고 생각하는 사람들이 많아진 것인지... 사실 R에 능통하기만 한 사람은 취직도 잘 안된다. 그게 중요한 게 아니거든. 그리고 R을 쓰는 정도는 사실 중고딩 정도만 되어도 어렵지 않게 배울 수 있다.
R이 혁명적인 개념을 가져온 기술이라면 왜 지금껏 제대로 된 이슈가 된 적이 없었을까? 간단하다. 구지 필요가 없었기 때문에 그러하다. SQL을 이용하고, 기존의 프로그래밍 언어를 이용하면 그렇게 어렵지 않게 R에서 가능한것들을 만들어 낼 수 있었기 때문에 그러하다. 물론 R을 이용하면 좀 더 편리하게 데이터를 모아서 비정형 데이터로 부터 정형화된 데이터를 만들어 내어서 사람들에게 직관적인 분석을 할 수 있도록 할 수 있다. 하지만 그것이 과연 혁명적인 개념인가? 과거에는 없었던? 그건 절대 아니다. 과거에도 가능했고 지금에도 가능하다. 그리고 R 도 나름의 단점을 가득 가지고 있는 플랫폼이다. 결코 편리하다고 보기 어려운...
솔직히 그렇게 변화라는 화두를 가지고 세상이 뒤집어지기를 바라는 사람들의 심리적인 문제가 더 크다고 생각한다. 실제로 혁명은 없을것이다. 쓸놈쓸의 세계가 펼쳐질 것이다. 웹이나 스마트폰 같은 사람들의 삶의 방식을 극적으로 바꾸어 놓을 만한 혁명은 쉽게 오는 것은 아니라고 필자는 생각하니깐...
다시 20년 전의 상황으로 돌아가서 이야기를 마무리 짓고자 한다. EJB가 세상을 다 바꾸어 놓을 것 처럼 이야기하고 취업과 고수익을 보장하고 기존의 개발자들을 죄다 세상에서 뒤떨어진 사람처럼 만들어 버릴 것 같던 분위기에 젖어 있던 시절의 이야기다.
강의 도중에 필자의 선배로 부터 전화를 받았다. 속이 상하고 답답해서 전화를 한 모양이다. 점심시간을 빌어서 그 선배와 조금 길게 자초지종을 들을 수 있었다.
선배는 지금 현재 자신이 벤쳐기업의 이사로 있으면서 새로운 개발자를 뽑는 책임을 지고 있다고 했다. 해서 면접을 보고 신입사원을 몇명 뽑았는데 그 중의 한명이 골치를 썩인다고 한다. 그리고 그 한명이 필자가 속해 있는 교육기관의 다른 강사에게 교육을 받았다고 한다.
그 골치아픈 신입은 회사에 출근해서 OJT ( 신입사원 연수 정도로 생각하면된다 . 온 더 잡 트레이닝의 약자 ) 를 받으면서 해당 회사가 PHP를 기반으로 한 웹서비스를 제공하는 것을 보자 어이없고 기가막히다는 듯이 이런 얘기를 쏟아 놓았다고 한다.
아니 지금 시대가 전부 EJB기반의 서비스로 가는 거 모르냐고? 이런 뒤떨어진 마인드와 기술로 어떻게 이 회사가 살아남을 수 있겠느냐고, 지금 빨리 기존의 시스템은 폐기하고 EJB 기반으로 모든 프로그램을 다시 만들어야 한다고... 이런 얘기를 하면서 회사의 선배들을 무시하는 발언을 서슴지 않았다고 한다.
필자는 그런 얘기를 다 듣고 나서 그렇게 얘기 했다. 그 친구 자르라고. 그렇게 가르쳐 준 선생이 일단 잘못이지만... 그 친구 같은 경우도 아마 'EJB 밖에 할 줄 아는게 없어서' 그런얘기를 했을 거라고, 그래서 그 회사가 EJB를 쓰지 않는다고 하는 걸 알게 되면서 두려웠을 거라고. 자신이 무너지는 듯한 느낌을 받아서 그랬을 텐데 그냥 EJB 쓰는 회사로 갈 수 있도록 잘라 주는게 모두가 편한 길이라고...
트랜드를 이야기하고 논하기 전에 우리가 스스로에게 물어야 할 질문이 있다고 필자는 생각한다.
이 트랜드는 정말로 사람들의 삶을 극적으로 바꿀 수 있는 힘을 가진 것인지, 나는 이 트랜드에 대해서 정말 제대로 알고 있는것인지, 이 트랜드가 자리잡기 이전의 불편함들을 충분히 개선하고 있는 것인지, 그리고 무엇보다 "나는 이 흐름에 올라타서 한방에 인생을 역전해보고자 하는 욕심을 가진 것은 아닌지" 말이다.