<고수를 찾아서>에서 <개발자를 찾아서>로 이름을 바꾼 개발자 인터뷰 시리즈가 열번째 손님을 맞이했다. ‘벌써 열번째’라는 나름 거룩한 의미를 부여하려하니 심하게 쑥쓰럽다는 생각 뿐이다. ”1년이 넘었는데, 이제 겨우 10번째냐?”는 꾸지람을 듣는게 정상이다. 반성한다.

사설은 이쯤해서 접고, <개발자를 찾아서> 열번째 주인공은 인스웨이브의 김욱래 팀장이다. 75년생인 김 팀장은 J2EE 프레임워크와 아작스(Ajax) 프레임워크를 주특기로 하는 개발자로 경력은 올해로 딱 10년이다. 대한민국 개발자 생태계에서는 고참급 반열이라 할 수 있다. 대학에선 물리학을 전공했지만 부전공인 전산학을 살려 사회에 나왔고 지금까지 개발자로 활동하고 있다.
그는 개발자로 사는게 너무 힘들지 않느냐는 시선에 대해 노동강도가 좀 센편이지만 노력한다면 해볼만하다고 생각하는 쪽이다. 그래서다. 앞으로도 ‘이 바닥에서 뛰겠다’는 생각을 아직 포기한적은 없다. 경영학석사(MBA) 과정을 밟아 개발과 비즈니스를 함께 해보고 싶다는 생각도 있다.
인터뷰 도중 유능한 개발자상에 대해서도 질문을 던졌는데 그는 “실력과 커뮤니케이션 마인드가 모두 있어야 한다”는 논리를 폈다. 후배 개발자들에게 한마디해달라는 질문에도 반복해서 커뮤니케이션 능력과 비즈니스 마인드를 강조했다. 경험해보니 커뮤니케이션과 비즈니스 마인드가 개발실력외에도 중요하게 다가왔다는 것이었다. 김 팀장의 말은 옥상훈씨 등 많은 고참급 개발자들이 강조해왔던 포인트와 크게 다르지 않다. 개발자로서 소통과 비즈니스를 이해하는게 중요하기는 중요한가 보다.
다음은 김욱래 팀장과의 인터뷰를 정리한 것이다. 인터뷰는 지난 16일 오전 11시 30분 그가 프로젝트 때문에 파견나와 있는 을지로 근처에서 이뤄졌다.
대학에서 물리학을 전공했음에도 개발자로 뛰시는 것을 보니 어릴때부터 프로그래밍에 푹 빠진 마니아였던가 봅니다.
절대 아닙니다.(웃음) 충청도 시골출신이라 고등학교때까지는 컴퓨터를 잘하지 못했어요. 서울에서 대학을 다니면서 부전공으로 전산학을 선택하면서 프로그래밍에 대해 관심을 갖게 되었습니다. 부전공을 살려 병역특례까지 마쳤고 지금까지 개발자일을 해오고 있습니다. 99년부터 개발자 생활을 시작했으니 벌써 10년이 흘렀네요. 사실 처음에는 병역특례가 끝나면 전공을 살려 유학을 갈 생각이었어요. 그런데, 지금 다니는 회사 사장님을 프로젝트 팀장으로 만나 금융기관을 위한 엔터프라이즈 시스템 개발에 들어갔고 그러다보니 회사 설립에까지 참여하게 됐습니다.
유학은 왜 포기하신 건가요? 나름 기회가 될 수도 있었을텐데.
물리학이라는 학문을 갖고 한국에서 할만한 일이 별로 없더라고요. 교수하는 친구들도 있지만 유학간 친구들 대부분이 외국에서 그냥 살고있거든요.
프레임워크 관련 프로젝트를 주로 하신다고 들었습니다.
주특기라고 부르기는 뭐하지만 개발자 경력의 대부분을 자바와 아작스(Ajax)를 사용해왔습니다. 아작스의 경우 용어 자체가 없었던 2002년부터 관련 프레임워크를 만들었고요. 사실 개발자 경력에 있어 처음 3년은 병역특례를 하던 회사에서 다양한 소프트웨어를 개발했습니다. ASP, 마이크로소프트 SQL, IIS 웹서버 등 MS 기술을 갖고 쇼핑몰과 같은 웹사이트를 만들고 유지보수를 해줬어요. 업무를 따로 가르쳐주는 선배도 없다보니 재미는 별로 없었습니다. 그러던중 회사가 베리사인과 협력해 한국전자인증이란 회사를 만들면서 시스템 도입 업무에 참여하게 됐습니다. 부족한 영어 실력이지만 외국 업체와 일하면서 나름 재미가 있었습니다. 프레임워크에 본격 손을 댄 것은 2000년부터인거 같아요.
김욱래 팀장의 개발 히스토리
1999: ASP, MSSQL, IIS 기반 SI/SM 프로젝트
1999 ~ 2000: Verisign인증 솔루션 도입
2000 ~ 2001: 교보AXA자동차 보험 시스템 개발(공통 업무 및 콜센터 업무)
2002: 온라인 자동차 보험 솔루션 개발
2003 ~ 2006: ProWorks 개발 및 판매
2006 ~ 2007: Ajax 플랫폼 WebSquare 개발
2007 ~ 현재: 하나은행 차세대 프로젝트 J2EE Framework 구축 PM
지금은 어떤 프로젝트를 진행중인가요?
하나은행 차세대 시스템의 J2EE 프레임워크(Framework) 구축 프로젝트의 프로젝트 매니저(PM)로 있습니다. 하나은행 차세대 프로젝트는 계정업무를 제외한 모든 시스템을 자바로 개발하는 것으로 프로젝트가 끝나게 되면 하나은행을 포함한 하나금융그룹의 모든 J2EE 시스템이 인스웨이브 프로웍스(ProWorks)를 기반으로 개발됩니다.
“아작스, 더 이상 어려운 기술이 아니다” 인스웨이브는 아작스 프레임워크 웹스퀘어도 자체 개발해 제공하고 있습니다. 리치 인터넷 애플리케이션(RIA) 플랫폼인데, 글로벌 업체인 어도비나 MS와 차이점이 무엇인지 궁금합니다.
RIA라는 관점에서 보면 어도비 플렉스나 MS 실버라이트와 유사한 제품이라고 할 수 있습니다. 어도비나 MS의 경우 기존 웹을 탈피한 새로운 플랫폼을 제안하고 있고 인스웨이브 웹스퀘어는 아작스라는 기술에 좀더 집중한다고 보면 됩니다. 브라우저에 아작스 환경을 보다 쉽게 구현할 수 있도록 해주는 개발 플랫폼인거죠.
주변에서 아작스를 활용해 개발하는게 꽤 어렵다는 말을 많이 듣고 있습니다. 어떻게 생각하나요?
말씀하신대로 아작스는 아직까지 범용 라이브러리가 부족합니다. 자바스크립트 개발자가 직접 프로그래밍을 해야하는것 때문에 개발 생산성이 떨어지고 어렵다는 인식이 많이 있어요. 웹스퀘어는 이런 문제를 해결하기 위해 내놓은 프레임워크입니다. 아작스가 좀더 확산되려면 웹스퀘어처럼 생산성 향상을 지원하는 플랫폼이 필요하다고 봐요.
RIA 시장은 일단 어도비와 MS가 분위기를 주도하는 것 같습니다. 이들 업체와 다른 아작스만의 가치가 있다면 어떤것을 꼽을 수 있을까요?
어도비가 제공하는 플렉스는 일단 화려합니다. 화려함에 있어서는 어떤 제품과 비교해도 안떨어져요. 큰 장점이라고 할 수 있습니다. 그러나 플렉스는 개발하기 힘든 측면도 있습니다. 무겁다는 얘기도 있고요. 개발자 단가도 비싼 편입니다. 고객 입장에선 비용 부담이 될 수도 있죠. 플렉스 관련 발언들은 개인적인 의견으로 받아들여줬으면 좋겠습니다.
MS 실버라이트는 아직 안써봤어요. 때문에 성능을 논하기는 좀 그렇습니다. 그러나 MS는 우리나라 엔터프라이즈 시장에서 약점이 있습니다. 한국에는 자바를 쓰는 기업들이 아주 많거든요. 금융권만 놓고봐도 닷넷을 쓰는 곳은 별로 없습니다. 개발자도 자바쪽이 많고요. 실버라이트가 풀어야할 것은 이점이 아닐까 싶습니다. 물론 규모가 적은 기업들은 MS 플랫폼을 많이 쓰고 있을 것입니다.
국내에서 아작스 개발자 현황은 어떻습니까?
프레임워크는 많이 있습니다. 유명 프레임워크만 해도 10개정도 되요. 이런것들을 쓰는 사람들도 많이 있고요. 때문에 아작스에 대해 경험있는 분들은 대단히 많다고 생각합니다. SI프로젝트 하면서 아작스 프레임워크 한두개 정도는 써봤을 거에요. 그러나 깊이있게 내려가면 전문가들이 그렇게 많은 것 같지는 않습니다. 다른 프로그래밍 언어도 마찬가지인데, 시스템단에서 프로그래밍 할때는 디테일한 부분들에 신경을 많이 써야 합니다. 공개된 지식외에 시행착오를 통해 얻어야할 것들이 많아요. 이런 요소들이 제품 품질에도 영향을 많이 미치고요. 인스웨이브는 플랫폼 차원에서 아작스 개발 환경을 제공하는 방향으로 가고 있습니다. 때문에 아작스는 더 이상 어려운 기술은 아니라고 봅니다.
아작스의 미래는 어떻게 보나요?
웹이 살아있는한 아작스도 살아있을 것 같습니다. 분위기가 사용자 경험이 높아지는 것을 원하는 쪽으로 가고 있잖아요. 사용자 경험은 앞으로도 더욱 중요해질 것입니다. 물론 웹이 앞으로도 얼마나 유효할 것인지에 대한 얘기가 나올 수 있습니다. 웹은 유연한 플랫폼이기 때문에 오래갈거는 같은데 모바일쪽을 보면 좀더 두고봐야할 것 같아요.
경력을 보니 MS 플랫폼을 다루다가 자바로 전환한 경우입니다. 한번 선택한 플랫폼을 바꾸는게 쉽지는 않을 것 같은 생각도 드는데요.
개인적인 성향이 아닐까 싶은데요, MS 닷넷은 장애가 났을때 손쓸 수 있는 방법이 별로 없어요. 자바는 리버스 엔지니어링까지 할 여력이 있는데 MS는 개발하기는 편하지만 자유도는 좀 떨어지는 편입니다. 그리고 자바는 IBM 쓰다가 안좋으면 썬이나 BEA꺼 쓰면 되는데, MS는 그게 부족해요. 저는 그렇게 느꼈습니다. 물론 닷넷을 10년정도 했다면 계속 닷넷을 썼을지도 모르지만요.
스프링 등 오픈소스 기반 개발 프레임워크에 대한 관심이 높아지고 있습니다. 이런 가운데 인스웨이브는 상용 프레임워크를 밀고 있습니다.
상용 프레임워크 시장 자체는 앞으로도 유효하다고 봐요. 수요는 계속 있을 것입니다. 인스웨이브의 경우 아직 스프링과 직접 경쟁하는 것 같지는 않습니다. 티맥스소프트와 경쟁이 많은 편이에요. 우리나라의 경우 대형 프로젝트는 아직까지는 상용 프레임워크들이 선호되는 편입니다. 대기업들의 경우 유지보수 등을 고민할 수 밖에 없기 때문에 아직은 오픈소스로 가는 것을 꺼려하는 듯한 분위기가 있어요. 물론 기술적으로는 오픈소스가 앞서 나갈 수 있습니다. 그러나 일관성 관점에서 보면 문제가 좀 있을 수 있다는 생각드 드네요.
개발자로서 오픈소스SW에 대한 입장은 무엇입니까?
괜찮은 비즈니스 모델이라고 생각합니다. 우리나라 시장이 크다면 오픈소스도 괜찮을 것 같다고 봐요. 외국에서 통할 수 있는 SW를 만드는 가장 쉬운 방법이 오픈소스일 것 같거든요. 사실 웹스퀘어도 처음 만들때 오픈소스를 생각했습니다. 소스포지닷넷에 올리는 것도 고민했어요. 그러나 이런 형태의 비즈니스 모델을 해본적이 없었기 때문에 행동으로 옮기지는 못했습니다. ‘통제를 어떻게 할 것인가?’ 등 위험부담이 크다고 봤거든요. 그러나 웹스퀘어 관련 플러그인들은 오픈소스로 해도 될 것 같습니다. 그런 방향으로 가고 있고요. 정부에서 오픈소스를 어떻게 쓸지에 대해 얘기 많이 하는데 우리나라 SW업체들이 오픈소스 비즈니스를 하는데 있어 지원이 좀 늘었으면 좋겠습니다.
“개발자의 목소리를 내는 단체가 필요하다”
현재 국내 개발자 생태계를 어떻게 보고 있나요?
사견임을 전제로 말씀드릴께요. 개발자 세계에서 가장 큰 문제는 실력이 부족하다는 점 입니다. 물론 실력을 키우기가 적합하지 않은 환경이고 개발자에 대한 대우나 야근 등 주변 여건도 좋지 않지만 그럴수록 개인의 실력이 중요하다고 봐요. 블로터닷넷이 인터뷰했던 다른 개발자분들도 다들 쉽지 않은 주변 여건을 극복하고 자기계발에 열심이셨던 분들이라고 생각합니다. 물론 개발자들이 전문가로 인정받고 자기 만족을 느끼기위해서는 다른 환경들도 갖춰져야 합니다. 개인적으로는 개발자들의 목소리를 낼 수 있는 단체가 꼭 필요하다고 보고 있어요.
개발자 커뮤니티들이 활발하게 움직이고 있지 않습니까?
보다 이익단체성격의 단체가 필요하다고 봅니다. 산별노조보다는 전문가 집단을 표방하는 협회가 있어야 된다고 생각해요. 개발자 그룹안에서가 아니라 밖에서 영향력을 가질 수 있는 단체가 있었으면 좋겠어요.
조금전에 개발자들의 실력이 부족한게 문제라고 하셨는데요, 국내 개발자들의 실력이 좋다는 얘기도 많습니다.
물론 고수들이 많이 있죠. 그러나 실력이 형편없는 분들은 대단히 많습니다. 큰 프로젝트 나와 있으면 차이가 확 드러납니다. 그런 측면에서 말씀드린 겁니다.
전산을 전공한 학생들이 의학대학원에 간다는 얘기도 많이 들립니다. 개발자란 직업에 대한 회의적인 시각이 반영된 것 같은데요, 개발자를 꿈꾸는 후배들에게 어떤말을 해주고 싶습니까?
계속 말씀드렸는데, 개발자로서 가장 중요한 것은 실력이라고 생각합니다. 실력은 코딩만을 의미하는게 아니에요. 개인적으로 세가지를 강조하고 싶습니다. 첫째, 기본기가 튼튼해야 합니다. 주특기로 하는 언어나 개발도구에 대해 잘 알고 있어야 하는 것은 물론이고 전산학과에서 배우는 자료구조, 알고리즘, 이산수학과 같은 기본 이론들도 일고 있어야 합니다. 전산을 전공하지 않은 분들은 언어나 개발 도구외에 기본기에도 신경을 써줬으면 하는 바람입니다.
둘째 보다 넓고 좀더 깊이 볼 수 있는 안목을 키워야 합니다. 자신의 역할이 프로그래밍이라고 하더라도 설계나 아키텍처 등 넓게 볼 수 있는 안목을 키우기 위한 노력이 필요합니다. 주특기에 대해서는 다른 사람들보다 깊이 볼 수 있어야 하고요. 예를 들어 자바 웹 프로그래머라면 JSP, Servlet, EJB 구현에만 관심을 가질게 아니라 각각의 스펙에 대해서도 관심을 둘 필요가 있습니다.
세번째는 커뮤니케이션 능력과 비즈니스 마인드를 갖추도록 노력해야 한다는 것입니다. 저를 포함해 많은 개발자가 코딩과 커뮤니케이션 능력간 조화가 잘 안되는 것 같다는 생각이 들어요. 다른 사람과 원활하게 소통할 수 있는 커뮤니케이션 능력을 코딩 능력만큼 키우려는 노력이 필요합니다. SI회사에 있든 솔루션 회사에 있든 개발하는 업무에 대한 비즈니스 마인드도 갖춰야 합니다. 사실 저도 이런 부분들이 많이 부족하다는 것을 항상 느껴요. 보완하기 위해서 노력도 하고 있습니다.
직접 하는 일은 아니지만 관심있게 보는 기술은 무엇인가요?
구글 안드로이드에 관심이 있습니다. 모바일 플랫폼이 유망하다고 보거든요. 우리도 어떤 형태로든 그런쪽으로 가야 한다고 생각합니다. 웹쪽 관련 기술이라면 시맨틱웹을 주목하고 있습니다. 비즈니스 모델을 찾았다는 생각은 안드는데, 앞으로 우리가 할 수 있는 여지가 좀 있지 않을까 싶어요.
개인적으로 경력 관리는 어떻게 하는편인가요? 또 향후 계획이 궁금합니다.
앞으로 좀더 체계적인 제품 기획 및 프로젝트 관리에 대한 경력을 쌓아가고 싶습니다. 개발과 비즈니스를 같이 해보고도 싶고요. 이를 위해 MBA 등을 통해 공부를 더 해볼 생각을 갖고 있습니다.