프로그래머가 되기까지... - 2 -

이전 이야기 보기

다음

미디어개발팀

입사 후 내가 속한 조직은 미디어본부 미디어개발팀이었다. 미디어다음을 주력으로 생활, 여성, 법률, 어린이 서비스 등 다음의 주요 컨텐츠 서비스를 담당하는 팀. 나와 같은 날 입사한 미디어본부 입사동기는 나 포함 총 다섯명. 아쉽게도 이름은 기억나지 않는다.

 출근 후 팀원분들과 식사를 마치고 지형님은 사무실 구경을 시켜주셨는데, 역삼동의 데이콤 빌딩 구석 구석을 둘러보며 생각보다 큰 회사 규모에 압도되었다. 구경이 끝난 뒤 팀 자리에서 컨설팅 해주시는 분이라며 얼핏 보기에 도인 비슷한 분위기를 풍기는 한 분을 소개 받게 되었는데, 지형님께서는 유명하신 분인데 내가 알아보지 못하는 것을 의아해 하셨다. 그분은 김창준(현. 애자일 컨설팅)님으로 이후에 직간접적으로 내가 프로그래머로서 의미 있는 삶을 사는데 많은 영감을 주셨다. 자세한 이야기는 뒤에 하겠다.

 얼마뒤 지형님은 데이콤 빌딩 말고 또 다른 곳에 다음커뮤니케이션의 공간이 있다고 나를 데리고 택시를 타셨다. 목적지는 KIDC. 그곳을 구경하며 생각보다 서버가 어마어마 하게 많다는 사실에 감격에 젖었다. 이전에 내가 본 서버 장비라곤 많아야 5대 정도였는데, 손으로 셀 수 없을 만큼 어마어마한 양에 압도될 수 밖에... 그곳을 담당하고 계신 엔지니어께서 daum.net 메인 페이지를 담당하는 서버를 보여주셨는데, 단 세 대의 웹서버와 다음 고유의 기술로 엄청난 트래픽을 감당하는 것을 자랑스러워 하셨고, hot-plug 라는 신기한 개념도 시연해주셨다. 이 분이 훗날 나와 함께 블로그 서비스를 개발한 신승철(현. YouNoodle) 님이시다. 아주 개성이 강해서 인상에 크게 남았다.

 우리 팀에서 내가 처음 맡게 된 업무는 어린이 서비스 중 <날개 쪽지> 라는 아주 단순한 서비스였는데, 기획서를 받아든 나는 여기서 큰 도전에 직면하게 된다. 다음커뮤니케이션은 웹 개발에 Java를 주로 사용하고 있었다. 이전에 Java 를 해보기는 했지만, 실무에서 해 본
것은 솔직히 말해 저열한 스크립팅 수준의 JSP가 전부였다. 하지만 다음의 모든 엔지니어는 내가 아는 Java 세계를 초월해있었다. 그들을 따라 잡는 것, 아니 최소한 시키는 일을 알아듣기라도 해야 한다는 부담감에 잠을 이룰 수 없을 지경이었다.

 다음에 입사하고 나서 "역발상"이라는 말을 처음으로 들었는데, 아마도 내가 입사하기 전에 모종의 조직 대상 교육이 있었던 것 같다. 어쨌든 간접적으로나마 "역발상"의 영향을 받아, 다른 직원들을 온전히 따라 잡을 수 없다면 아예 그들이 하지 못한 고지를 먼저 올라가면 어떨까라는 생각을 했다. 지형님의 조언으로 the Server Side.com 이라는 자바 웹 기술최신 소식을 주로 다루는 웹사이트를 알게 되었는데, 그 곳에서 Struts 가 최근 웹 개발의 화두 인 것을 접하였다.

 무언가에 목표를 갖는다는 것은 아주 중요하다. 내 경우에는 목표를 확실히 하는 것 만으로도 그것을 이루는 경험이 많았다. 그간의 경력들과 비교해 다음같이 큰 회사가 좋은 것은 내게 무언가를 가르쳐 준 다기보다는, 영감을 주는 사람들로부터 무엇을 배워야할까에 대한 방향을 얻을 수 있기 때문이다. 대내외적으로 화제가 되고 있었지만 아직 누구도 시작하거나 정복하지 않은 Struts를 내 것으로 만들자라는 목표를 세웠다. 그것이 어떤 의미인지 감도 없었지만.

약 한달간 팀에 적응할 시간을 가진 후, 큰 변화가 다가왔다.

제주도

1 차로 제주도 정착 시험을 진행하고 있는 NIL 팀에 이어, 미디어 본부는 사내에서 두번째로 제주도로 전원 이전하기로 되었다 (고 내가 입사하기전부터 정해짐).  800만원의 이사비 지원을 받고 제주로 향했다. 짐이라고 해봐야 준중형차인 내차에 모두 들어갈 정도여서 당시 거처를 제공해주었던 정원희씨 (현. Blizzard Entertainment) 성남 자취방과 부산 집에서 간단히 싣고, 직접 운전하여 완도항에서 카페리선을 타고 제주항에 도착하여 거처인 노형동 이레하이텔로 이사 완료.

짐을 싣고 부산에서 완도로

완도항에서 제주행 배에 타기 직전

제주 거처였던 이레하이텔의 내 방

우리 본부는 제주 공항 바로 옆인 노형동 현대해상 건물을 임차하여 자리 잡았다. 데이콤빌딩 못지 않은 화려함과 친환경 인테리어로 쾌적한 업무 공간. 각종 마실 것과 칵테일을 만들 수 있던 바가 인상적이었고, 가장 좋았던 공간은 암실로 만들어진 플레이스테이션 게임방. 매일 이곳으로 출근한다고 생각하니 꿈만 같았다.

봉와직염

 아름다운 섬 제주에 대한 기대와 환상 그리고 미디어개발팀에서의 더욱 큰 포부를 가지고 도착한지 일주일 쯤 되었을까. 어느날 밤 오른쪽 다리가 갑자기 몹시 가렵더니 부풀어 오르기 시작했다. 벌레에 물렸겠거니 대수롭지 않게 생각했는데,  반나절 쯤 뒤 딱딱히 굳어 걷기 힘든 지경이 되어서야 구급차에 몸을 싣고 제주 한라병원에 입원하게 되었다. "봉와직염"이라는 처음 듣는 병명. 생각보다 염증은 심했고, 습하고 더운 날씨에 병원 구석에서 아픈 자신을 저주하며 제주를 느끼지도, 생각했던 업무를 하지도 못하는 신세에 대해 한탄하며 항생제 투여로 치료가 되길 기다렸다.
 입사한 지 얼마 되지 않아 딱히 간호를 도와달라고 할만한 친분의 동료가 없었기에, 기말고사가 막 끝난 친구 정헌조 에게 치료가 끝나면 관광시켜 줄테니 와 줄 것을 부탁했다. 덕분에 식사 및 생활도 더욱 수월하게 했고, 무엇보다 심적으로 많은 위로가 되었으나, 입원 2주째가 되었는데도 다리는 도통 회복될 기세가 안보였다. 병가를 연장하였지만, 약속한 것도 있고, 칙칙한 병원에서 간호 실습생들의 주사받이의 이골이 난 나는 퇴원수속도 밟지 않고 도망치듯 병원에서 나와 친구와 그날 숙소에서 비디오게임을 즐기고, 남은 병가 기간동안 제주 구경을 시작하였다.
 맑은 공기덕이었을까? 병원이 병을 악화시키는 기운이 있었던 건지 신기하게도 탈출하자마자 다리는 빠른 속도로 회복되어 금새 일상으로 복귀할 수 있었다.
간호를 도와준 헌조, 그리고 병원 탈출후 합류한 우진이와 함께
 병원에서의 여유 시간동안 <날개쪽지>에 대해 많은 고민을 하였다. Java를 기본부터 Thread, GC 까지 제대로 훑었고, 그래도 Struts 를 이해하기 위해선 넘어야 할 산이 많았다. Model 2 MVC Framework 라는데, Model 1 이 무엇인지도 몰랐고, Tiles라는 템플릿 라이브러리 또한 생경했다. Tiles 를 조금 다루어본 후에 당시 사내에서 차세대 CMS에 XSLT 라는 템플릿 기술을 사용한다는 소식을 동료인 은정님의 남편이자 R&D 센터의 주역인 이광호님께 듣고 난 후, 나는 Tiles 를 버리고 XSLT 를 Struts 에 도입, 당시 개념상 여러곳에서 언급되었던 Struts+XSLT view, Model2X 를 구현하였다. 또 넘어야할 산이 있었는데 데이터베이스와 통신하기 위해 JDBC 도 익혀야 했다. 당시 트래픽이 적지 않았던 다음 꿈나무 서비스의 규모를 고려하여 Connection Pooling, Query Caching 등 다양한 고급 기술들을 적용하는데 진땀을 흘렸던 기억. 다음이라는 한국 최고의 인터넷 회사에서 나라는 존재를 증명하기 위해 채찍질한 결과, <날개쪽지>는 이내 성공적으로 오픈 할 수 있었다.
 작은 성공에 자신감을 얻은 이후, 꾸러기 서비스에 새 CMS를 도입하는 작업과 미즈넷과 법률, 생활서비스의 자잘한 일들을 맡아하게 되었다.

 미디어 개발팀은 XP라는 프로젝트 진행 기법을 도입했었는데, 이를 코칭해주었던 사람이 바로 첫 출근날 인사를 건냈던 김창준님이라고 하였다. 내가 입사한 시점에는 이미 코칭이 마무리 되었는데, TDD, 스탠드업 미팅, 짝프로그래밍 등등 팀에 물들어있던 XP의 향기는 나를 그것에 빠지게 만들었다. 그도 그럴것이 XP의 모든 기법은 참여자들을 비슷한 수준으로 끌어올리는데 초점이 맞추어져있었다. 수준이 가장 바닥이었던 나는 이 것으로 많은 혜택을 보았다. TDD 를 통해 코드가 잘 돌아간다는 확신을 얻고, 스탠드업을 통해 동료에게 나의 소식을 전하고 자발적인 도움을 얻고, 짝프로그래밍으로 동료의 코딩 습관을 배우고.. 코드 공동 소유, 트럭넘버 등등 여러 회사를 거치며 이때 배웠던 XP의 가치는 값으로 매길 수 없을 정도.

 그맘 쯤 내 수습기간 3개월이 끝나게 되었다. 나와 함께 입사한 동기들은 다음에서 진골이라고 불리우던 Y대 출신도 있었고, 서울 명문대 출신도 있었다. 미디어 개발팀에서 함께 큰 활약을 했던 동료는 미디어다음에 기여를 해서 변두리 서비스인 다음꾸러기를 만든 나보다 더 돋보일 것이라고 생각했다. 결과적으로 수습통과는 단 한 명. 왜 인지는 모르겠으나 나만 살아남았다. 입사동기들이 떠난 슬픔도 잠시, 생존을 자축하였다.

 다음에는 직급의 구분없이 "님"으로 호칭하는 수평문화가 있다. 나는 이에 대한 혜택을 많이 본 편인데, 건의 사항이 있거나, 불합리한 면이 있을때 나이가 한참위인 동료들에게 스스럼없이 직언을 하곤 했다. 직급, 나이, 연차에 관계 없이 논리로 대등한 입장으로 소통하라는 것이 "님"문화의 의도이기 때문이다. 하지만, 미디어 본부 내 일부는 그에 반해 행동하였다. 석종훈 본부장을 중심으로 언론사 시절 관계가 있던 사람들이 선배, 후배로 호칭하며 그들만의 계층 구조를 만들었다. 어느 회식자리에서 나는 석종훈님에게 직접 이에 대한 불만을 토로하였는데, 나를 어린 아이 타이르듯 대하며 걱정하지 말라고 하였고, 변화가 없자 다시 한 번 용기내어 이야기 하였더니 이번엔 붉어진 얼굴로 불호령이었다.

 업무에 재미를 붙이고, 좋은 성과를 내었으나, 이러한 이유로 나의 마음은 미디어본부로부터 떠나게 되었다.

카페팀 블로그 TFT

 나를 좋게 지켜봐주시던 R&D 센터의 광호님으로부터 서울에 있는 카페팀에서 "블로그"라는 새로운 프로젝트를 하는데, 그곳에서 사람을 구하고 있으니 한 번 이야기 해보라고 하여, 일전에 면식이 있던 신승철님과 기획을 담당하던 최호찬님께 면접을 보게 되었다. 카페팀이라니. 미디어개발팀은 물론 사내에서 중요한 역할을 하던 팀이지만, 당시의 다음하면 "한메일"을 제치고 "다음 카페"가 대표적인 제품이었다 (온라인 우표제 탓). 기대가 큰 탓에 많이 긴장했지만, 블로그 프로젝트에 Struts를 채택하고 있었기때문에 나는 관련 경험을 가진 적합한 개발자로 면접을 통과할 수 있었다.

 2004년 11월 1일부로 나는 블로그 TFT 멤버로 참여하게 된다. "블로그" 프로젝트는 주 개발자인 신승철님을 제외하곤 외주인력으로 개발되고 있었는데, 이유는 비슷한 프로젝트인 "플래닛"(역시 신승철님이 개발)의 코드를 상당부분 재활용하고 있었기 때문이다. 중반쯤 투입된 나도 손을 보태어 2월로 예정된 오픈일을 지키기 위해 노력한다. 하지만, 프로젝트가 중후반을 향할때쯤, 나와 신승철님이 중간 결과물의 품질에 이의를 제기 하였다. 외주인력들은 매일 밤을 새며 열심히 하였고, 외주사에서 중간에 10년이상의 고급 기술자를 데려왔으나, 다음에서 요구하는 수준과는 차이가 커서, 결국 외주 인력을 제외하고 바닥부터 다시 개발하기로 하였다. 무리한 일정이었지만, 내부 인력을 두명 이상 더 투입하고 밤낮으로 달린 결과, 일정에 맞추어 오픈 할 수 있었다. 오픈일이 내 대학교 졸업식이어서 졸업식에 참석 못한 건 좀 슬펐지만, 블로그 서비스의 성취감이 훨씬 컸다. 2017년 현 시점에서 내가 만든 서비스 중 아직도 운영중인 몇 안되는 서비스이다. http://blog.daum.net/

 서울에 올라온 지 얼마 안되어 직원 연수를 떠났는데, 같은조에 김창준님이 있었다. 과연 어마어마한 내공의 소유자였고, 여러 조 과제를 수행하며, 토론하며 짧은 기간이었지만 좋은 영감을 많이 얻었다.

 블로그 서비스 오픈 이후에도 여러가지 운영상의 문제와 추가 개발 사항으로 바쁜 나날을 보내던 중, 청천벽력 같은 소식이 들려왔다. 카페팀이 미디어본부로 통합된다는 것. 소식을 듣자마자 카페팀 팀장인 신재홍님께 석종훈님과과 함께 할 수 없으니 나가겠다고 선언하였고, 얼마뒤 석종훈님이 서울을 방문하였을때 근처 일식집에서 면담을 하였다. 그는 내게 2년간 문제를 일으키지 않는 조건으로 큰 폭의 연봉인상을 제안하였으나, 거부하고 그 길로 다음을 떠나게 되었다. 그 때가 2005년 4월말.

 지금 돌아보면 이상적인 조직은 없는 것이 당연한 것이고, 사람이 어느 정도 모인 곳은 정치가 있게 마련인 법인데, 상황을 해결하기 보단 도망쳐 버린 치기어린 나의 행동을 탓하고 싶으나, 일은 벌어졌고, 나는 백수가 되었다. "다음"이라는 큰 회사에서 주요 서비스의 주축이 되어 진행해본 경험탓에 자신감이 붙어 다음 타겟으로 세계적인 회사 "구글"을 생각했고, 당시 한국 진출을 준비하던 "구글"에 면접을 보았으나 보기 좋게 탈락. 당시 면접 문제는 검색 결과화면에서 검색어 하이라이팅을 어떻게 할 것인가였는데, 정규식을 쓰면 된다고 대답. 실은 한참이 지나기까지 내 대답이 왜 잘못된 지 몰랐다. 당시 면접관이었던 이준영님을 한참후 구글의 한 행사에서 만나 내가 왜 탈락했나 물어보았더니, 훌륭한 사람은 눈빛을 보면 알 수 있는데, 나는 그런 눈빛을 가지지 못했다고 이야기해주었다. 아직까지 거기에 동의하진 못하겠다.

 전편과 이 글에서 "다음"에 많은 분량을 할애했는데, 그 이유는 상대적으로 길지 않은 근무기간 동안 평생에서 가장 극적인 변화를 겪었고, 가장 많이 배우고 성장하고 지금까지도 지켜오는 가치관을 갖게된 계기였기 때문이다.

네이버

계약직

 대책없이 백수의 나날을 보내고 있다가, 다음과 함께 한국 인터넷을 이끌던 NHN (현. 네이버)의 공채소식에 원서를 접수하고 기다리고 있었다. 원서를 넣은지 이삼일쯤 되었나. 다음날 면접을 보러오라고 연락이 왔다. 공식 일정은 한참뒤에 서류 합격자 발표인데 아마 내가 너무 뛰어나서 특별한 경우로 다루나보다 하고 들뜬 마음을 안고 면접 장소인 역삼동 스타타워 (현. 구글코리아가 있는 곳)로 향했다. 면접관은 한명이었고 다음에서의 경험을 이야기하고 문을 나섰다. 너무 쉽게 가는 느낌? 면접실을 나오자마자 합격통보를 받았고 계약서를 쓰면 된다고. 그런데, 계약서를 보니 제니스라는 회사 소속의 계약직으로 일하는 것이라고 하였다. 얼마전에 별 생각 없이 인력회사에 이력서를 건낸적이 있었는데, 그것이 연결된 것이라고.. 난 계약직으로는 일할 생각이 없으니 미리 일러주지 않은 담당 직원을 탓하며 문을 박차고 나왔다. 
 얼마 후 공채탈락 소식을 듣게 되고, 생계가 막막해지던 순간, NHN으로부터 연락이 온다. 제니스가 아닌 NHN소속 단기계약직 제안. 기간도 기존 3개월에서 6개월. 그 기간동안 적당히 일을 하면서 준비하여 "구글"에 다시 도전하면 되겠다고 생각하고 이를 수락했다. 

 첫 출근 후 아주 짧은 오리엔테이션을 마치고 나를 인계 받은 컨텐츠서비스 개발3팀 전욱표팀장이 사무실을 구경 시켜주고, 앞으로 업무에 대해 이야기 해주었다. 다음에서 일하면서 네이버는 항상 2등이라고 생각했는데, 스타타워 사무실의 화려함은 다음을 초라하게 만들 정도. 어마어마 하게 넓은 사무실을 둘러보곤 분위기에 압도되었다. 

 네이버 부동산

 내 업무는 부동산 서비스의 게시판 서비스 개선. 팀장님은 나에게 진심어린 조언도 잊지 않았는데, "다음"이란 큰 회사에서 왔다고 자만하지 말고, 계약직으로서 주어진 기간동안 할 일만 하라는 것. 네이버는 서울대나 카이스트 출신이 아니면 대우받지 못하니 욕심부리지 말라는 것이었다. 나름 "다음" 출신이라는 자존심에 약간 상처받았으나, 어차피 계약기간 이상 있을 생각도 아니었으니 크게 마음에 두지 않았다.

NHN에서의 내자리
 네이버는 당시 PHP로 제작되어 있었고,  코드는 생각보다 조악했는데, 입사일이 약간 빨랐던 동갑내기 고희경 대리(현. 카카오)에게 도움을 받아 어느 정도 파악할 수 있었다. 애드뱅크에서 PHP를 다루어봤던 경험도 도움이 되었다. 다음에서 배웠던 MVC 를 내가 하는 프로젝트에 활용해보고 싶어, 당시 선임개발자였던 윤성민 과장(현. 라인)에게 허락을 구하고, Mojavi 라는 PHP MVC Framework 를 적용하여 착착 개발해 나갔다. 
 제주에서 올라온 뒤 난 분당 정자동의 신축 오피스텔 인텔리지라는 곳에 입주하여 분당선 지하철을 이용하여 출퇴근하고 있었다.  입사한 지 약 한달쯤 뒤 NHN 전체 조직이 이사를 하게 되었는데, 이사갈 빌딩이 분당 정자동의 SK C&C 타워라는 것이다. 바로 인텔리지와 구름다리로 연결되어 있는 건물. 덕분에 기상에서 출근까지 빠르면 5분이내에 가능하였다. 하루 종일 밖에 나가지 않고 생활한 날도 많았을 정도. 가끔 야근을 했던 날은 집에 가서 낮잠을 자고 오기도 하였다.

 내가 생소한 기술을 적용한다는 이야기가 퍼져나가 당시 팀내 스타개발자였던 강문식 대리 (현. Tapjoy)로부터 여러 반응을 들을 수 있었고, 윗선인 김주관 랩장 (현. 캠프모바일)에게 까지 전달되어 긍정적인 평가와 함께 우려도 들을 수 있었다. 여러 의견을 수렴하여 새 게시판 코드는 부동산 커뮤니티에 적용되어 서비스에 반영되었고, 다음 프로젝트는 주소 입력 개선이었던 것으로 기억된다.
 어느 날 랩 전체회의에서 얼마 후 표준 개발 Framework 선정을 앞두고, Java 와 PHP가 경합중인데, 우리는 PHP를 밀자고 의견이 통합되고, 부동산 서비스를 새 Framework 으로 리뉴얼하자고 하였다. 어느새 내 단기계약은 마무리 되어가던 시점.  계약직이라 대충 주어진 일만 할까 싶다가도 그래도 내 이름 걸고 하는 일인데, 부끄럽지 않게 해보자라는 마음 가짐으로 하다보니, 다른 준비는 전혀 할 여유가 없었다. 앞이 깜깜했지만 여전히 주어진 일에 최선을 다하고 있었다. 당시 우리 팀(컨텐츠 서비스 개발 2팀. 3팀은 2팀에 통합)에는 계약직이 꽤나 있었다. 약 50% 정도의 개발자는 외주이거나 계약직이었던 것으로 기억. 계약직들은 대부분 정규직 전환 기회가 있었다. 말이 전환 기회이지, 사실상 정규직으로 다시 지원하여 채용과정을 모두 거쳐야 했지만. 어쨌건 나에게도 기회가 주어졌고, 2006년말 계약기간이 끝나고 정규직으로 전환되었다. 이미 팀원으로서 인사에 대해 어느 정도 정보가 있었기 때문에 유리한 고지에서 처우협상을 하였고, 직급은 대리 말년, 최고수준 연봉으로 협상을 완료할 수 있었다. 내가 팀에 있는 동안 계약직에서 정규직으로 전환된 사례는 내가 유일했다.

정규직

 정규직으로 전환은 되었지만, 하던 일에 큰 변화는 없었다. 다음에서 블로그와 다른 서비스간 스크랩 프로토콜로 사용했던 XML-RPC를 사용하여 주소 입력을 JSONP Ajax (당시엔 이런 이름을 몰랐음)로 구현했고, 결국 새 부동산 서비스를 MVC 로 리뉴얼 하기로 결정. Mojavi 경험이 있던 내가 개발을 지휘하게 되었고, 강한 의견으로 PHP Zend Framework 을 사용하기로. 

 이듬해에 NHN 사무실안에서 "다음"에서 스크랩 프로토콜 작업때 협업했던 강규영님을 만났다. 김창준님과 함께 "애자일"을 하는 회사를 만들어서 NHN에 애자일 컨설팅을 하러 왔다고... 알고보니 애자일은 XP의 다른 이름이더라. 정확하게는 기억나지 않는데,  김창준님이 애자일 컨설팅과 더불어 개발자 효율 향상등 여러모로 NHN 개발조직에 관여하셨었다. 애자일 이야기가 나와서 말인데, 이때 창준님이 주도하는 XP를 시작으로 애자일 전반을 공유하는 Xper 라는 그룹을 알게되었고, 오프라인 모임에도 가끔 참석하였다. XP의 아버지 Kent Beck을 만나는 영광을 얻기도 했고. 내가 곁눈질하여 배웠던 TDD 와 플래닝포커, 짝프로그래밍, 코드공동소유 등등에 대한 이론적 배경과 다양한 의견. 나아가서 건축가 크리스토퍼 알렉산더의 Nature of Order 에서 영감을 받은 사고법. 여러가지 커뮤니케이션 기법등 애자일에 한정되지 않고 인생을 살아가는 지혜를 배운 계기.

 새로운 개발문화를 시작하는 일환으로 창준님 주도로 2006 NHN 개발자 컨퍼런스를 기획하는데, 나도 약간은 사적인 인연으로 함께 하게 된다. 이것이 훗날 Deview 라는 현 네이버 개발 컨퍼런스의 시초가 되었다고 전해 들음. 나는 "웹서비스와 Ajax"라는 주제로 발표하였는데, 오늘날 주로 사용되는 REST 를 언급하였음에도 불구, XML-RPC 가 NHN형편에 더 맞는다는 다소 창피한 결론을 내리며 발표하였다. 컨퍼런스 기간 통털어 가장 많은 인원이 들은 세션이었다고 한다.

2006 NHN 개발자 컨퍼런스 내 발표의 청중
 그 즈음. 과장으로 승진하였다. 내 나이 27살. NHN 최연소 과장이었다는 얘기도 들었다. 일정기간만 채우면 되는 것이라 큰 의미는 없었지만.
 Zend Framework 을 적용한 부동산 서비스 리뉴얼 프로젝트는 나, 고희경 대리, 김홍수 씨 셋이서 고군분투하여 어느새 대망의 오픈을 앞두고 있었다. 학습 기간이 있어 초기 개발은 더뎠지만, Eclipse IDE 를 사용하고 여러가지 Best Practice 를 만들었다. 오픈 전 기능 점검도 완료되었고, 리뉴얼에 따라 영업도 활발히 진행되고 있었다. 리뉴얼의 골짜가 네이버에서 직접 부동산 매물 등록을 받는 것이었기 때문이다, 즉 직접 매출 발생. 결과는 대 실패. 서비스를 개시하자마자 먹통이었다. 진행된 부동산 업체들과 계약은 파기되거나 조정되어 회사에 수십억 단위의 엄청난 손해를 끼치게 되었다.
 업자들이 매물을 상위에 노출시키기 위해 계속해서 초단위로 갱신한다는 요구사항을 받은 후 많은 Write Query 를 처리하기 위해 당시 야후에서 성공적으로 시도했던 방식인 MySQL Ring Topology 를 구성했는데, 당시 서버구성을 담당하던 외주사인 IBM의 담당 시스템엔지니어가 Load Balancer 설정을 제대로 하지 못해 일어난 일이었다. 개발을 책임지던 내가 시스템 부분을 간과한 탓. 
 시말서를 제출하였으나, 부서와 여러 경로로 내가 책임질 것을 강요받았고, 사고와 직접적인 연관이 없었던 Zend Framework 까지 도매금으로 묻히게 되었다. 아마 NHN이 후에 Java Web MVC Framework (Webwork)으로 간 데는 이 까닭도 있을 것이다. 계속된 압박에 나는 수습할 기회도 없이 팀을 떠나게 되었다. 다행히 내부 채용공고에 몇 자리가 있어, 재빠르게 면접을 본 후 옮길 곳을 찾을 수 있었다. 조금만 늦었다면 회사를 떠나야 했을지도. 팀에 남아 뒷수습을 했던 희경과 홍수씨에게 항상 미안한 마음을 가지고 있다.

통합검색서비스개발팀

 새로 옮긴 팀은 검색본부 산하 검색컨텐츠관리개발팀 (후에 검색관리솔루션 개발팀, 통합검색서비스 개발팀으로 명칭 변경). 검색본부는 내가 들어간지 얼마 안되어서 규모 확장에 따라 분당 서현동에 있는 퍼스트타워로 이주했는데, 당시 내가 살던 수내동 두산위브센티움 오피스텔로부터 걸어서 5분거리. 집앞에 있는 분당구청을 가로 질러가면 위치하고 있었다. 또 한번 운 좋게 단축한 출퇴근 거리.
 동영상 검색 컨텐츠 관리도구를 만드는 것이 내 첫 과제였다. 네이버의 검색 중 통합검색부분은 사실 굉장히 원시적이다. 운영인력이 관리도구를 이용하여 키워드와 내용을 입력하면 그것이 주기적으로 검색 색인에 반영되어 노출되는 식. 즉 사람이 입력한 정보가 나오는 것이다. 동영상쪽도 크게 다르지 않았는데, 동영상 파일과 관련정보를 입력 받는 도구를 만들면 되는 것이었다.
 이전 팀과 비교하면 업무 강도와 난이도가 낮았으나 한 일에 비해 성과는 매우 잘나왔다. 그렇다. 네이버는 검색서비스가 주였고 거기서 주로 매출이 발생했기 때문에 관련 인원에 대우를 잘해주었다. 바쁠 틈이 없는 여유로운 근무 환경. 어느 정도였냐하면 아침 10시가 되기 직전 출근 (10시가 넘으면 아침식사가 나오지 않음)하여 대략 11시까지 할 일을 한 후에 회의가 없다면, 집으로 가서 동거중이던 여자친구와 점심을 먹고 영화를 보거나 스타벅스에서 커피를 마시며 같이 인터넷을 하던지 데이트를 즐기다 4시쯤 사무실로 돌아와 업무를 마무리하고 6시에 칼퇴근.
 이전 팀에서의 불미스러운 일에대한 기억은 어느새 희미해졌고, 평화롭고 단조로운 날들의 이어졌다. 어느날엔가 회식자리에서 한 동료가 나에게 부러움을 표시하며, 네이버에서 나처럼 성공하고 싶다고 하였다. 강과장처럼 실력있는 개발자가 되어 고속 승진하고 인정 받고 싶노라고. 다음에서처럼 강한 목표의식을 가지고 있지도 않았고 흘러가는 대로 제자리에 머물러 있다고 생각했는데, 뒤돌아보니 조금은 앞으로 와있었다. 입사때 들었던 전욱표팀장의 충고는 별 의미없음을 증명하기도 하였고...
 다음으로는 인물 참여 검색이라는 프로젝트를 김연정 과장, 민웅기 대리의 기획으로 진행하였다. Wiki 의 컨셉을 차용하여 인물 검색 DB (이 또한 관리도구로 생성)에 대하여 본인 또는 본인에게 허락받은 대리인이 직접 편집을 할 수 있도록 하는 서비스.
 새로 바뀐 전사 개발 표준에 따라 개발환경이 Java로 바뀌었다. Lucy 라는 자체 프레임워크는 Webwork + Spring IoC + Hibernate 의 조합이었는데 다음 시절 손에 익은 Struts 계열과 크게 다를 게 없어 이제 막 Java 를 익혀가는 다른 개발자들보다는 훨씬 앞서 나갈 수 있었다.
  여유로운 일정이었음에도 불구, 이 서비스를 구현한 성과급은 사상최대였다. 연봉을 훨씬 상회할 정도.

검색관리솔루션개발팀 단체 사진
이어서 차세대 통합 검색 관리도구, XP 라는 프로젝트에서는 파트장을 맡게 되었고, 검색 서비스 전반에 큰 영향을 줄 수 있는 프로젝트라 조금은 고무된 반면, 파트장으로서의 역할은 관리자에 가까웠다. 파트원들은 나와 동갑인 강범석씨가 최연소자였고, 모두 나이가 한참 많았다. 언젠가 한 번은 회식자리에서 그 부분에 대해 직설적으로 불평을 듣기도 하였다. 관리자의 길은 관심도 없고, 자질도 없었기에 매일 매일 고민이 많았다.

LG 텔레콤 해킹 사건

 일과 결혼 준비에 한창 바쁘던 2008년 봄의 어느날 사무실로 경찰이 들이닥친다. 수사의 주인공은 나. 그길로 서울 지방경찰청 사이버수사대로 연행된다.
 아직 기억할 사람이 있는지 모르겠지만, 당시 옥션 해킹사건이후 대형 서비스들이 줄줄히 해킹 당하면서 연일 언론에 보도 되었다. 나는 LG 텔레콤 고객 정보 유출 사건의 해커 지목되어 공중파 모든 뉴스, 모든 주요언론을 장식하게 되었다.
 어느날 오랜 친구 근식이로부터 날아온 여자친구의 개인정보(주민등록 번호 등)의 출처를 물어 알게된 어느 벨소리 서비스 웹사이트의 결함. 그것이 LG 텔레콤의 하자임을 알고 이를 알리고자 내가 할 수 있는 방법으로 이를 알린 것이었는데, 경찰은 오히려 나를 원인으로 지목한 것이었다.
 사건이 발생하자마자 NHN은 나를 인사팀으로 대기발령시킨다. 잘못한 것이 없다고 팀장에게 소명해보았지만, 왜 하필 자기가 팀장일때 자신을 힘들게 하냐며 외면하였다. 사내 채용공고를 통해 신설 컴퍼넌트개발팀 김기영팀장(현. 페이스북)이 나를 구제해줄 의사를 보였지만, 법무/인사팀은 허용하지 않았다. 이내 내 출입카드는 정지되었다. 보안 요원에게 쫓겨나는 수모까지. NHN은 철저하게 나를 외면하였다.
 그로부터 긴 법정공방 끝에 결국 개인정보 유출 부분에 대해 무죄를 받은 것은 상대적으로 알려지지 않았다.
 그렇게 대기발령 상태로 2008년 6월 14일. 사랑하는 지금의 와이프와 예정대로 결혼식을 올리고 그리스 산토리니로 2주 넘게 긴 신혼여행을 다녀온 후 내 일생에서 가장 오래 다닌 회사를 공식적으로 떠나게 된다. 자발적인 퇴사였다.
신혼여행지에서 마음의 짐을 내려놓다.

오픈마루

 NC 소프트의 CEO 직속 신사업 부서인 오픈마루 스튜디오. 다음에서 친분이 있던 이광호님으로부터 설립단계부터 몇 번의 러브콜을 받았으나, 크게 마음에 두지 않았지만 인터넷업계에서의 존재는 인지하고 있었다. 대기발령중에 마침, 역시 다음 출신으로 건너 알게된 곽기봉님으로부터 멀티미디어(스트리밍)서비스를 혁신해보자는 제안을 받는다. 오픈마루 스튜디오 설립자인 김범준님과 1:1로 기술면접 보았다. 연결리스트를 뒤집어보라는 요구를 받았는데 (솔직히 연결리스트가 무슨 말인지도 몰랐음), 시작도 하지 못하고 아무 답도 못하여 당연히 탈락한 줄 알았는데, 다음날 합격통지서를 받았다.
 지금은 일반화된 스트리밍 서비스이지만 당시에는 없던 것을 만들던 것이라 아주 큰 파일들을 어떻게 효율적으로 다룰 것인지 매일 토론하였는데, 이 때 나누었던 대화가 훗날 빅데이터를 다루며 Hadoop 과 HDFS 를 이해하고, 온라인 스토리지 서비스를 만드는데 큰 도움이 되었다.
 하지만 사정이 있어 삼성동 테헤란로에 위치한 NC 타워에서 신규입사자 교육을 마친 지 얼마 안되어 입사 두 달여만에 퇴사하고 말았다. 당시 알게된 같은 팀의 윤상배, 정일영님과는 지금도 여러 경로로 연락을 하고 지내고 있다. 나보다 약간 뒤에 입사한 하성민님은 캐릭터가 독특했는데, 짧은 기간 많이 부딪혔지만, 지금은 유쾌한 기억으로 남아있다. 몇년후 샌프란시스코 길을 거닐다가 만났기도 했고...

블리자드 엔터테인먼트

 실은 오픈마루에 입사하자마자 세계적인 게임회사 블리자드로 부터 합격통보를 받게 되어, 월급을 연봉의 1/13로 지급하는 것을 핑계삼아 회사를 그만두고 싶다고 김범준님께 이야기 하였다. 말도 안되는 억지임을 깨닫고 떠나기 직전에 이실직고 하였지만...
 많은 지인들이 LG 텔레콤 사건으로 NHN을 떠난 것으로 알고 있지만, 사실은 대기발령 전 소질에 없던 관리자를 떠맡게 된 것과 도전적이지 않은 근무환경에 지루함을 느꼈고, 한국 밖은 어떨까하는 호기심에 블리자드에 입사지원을 해두었었다. 오픈마루 입사 제안을 받기 전에 면접을 보았지만 연락이 없어 떨어진 줄 알고 있었는데, 뒤늦게 연락이 온 것이다.

블리자드 입사 기념 선물
 청담동에 위치한 블리자드 엔터테인먼트 코리아 유한회사의 온라인 서비스 팀에서 웹소프트웨어 엔지니어로 Mac Kwon 님에게 보고하는 것으로 입사 서류에 서명하였다. 이때 Mac 님께 한국 사무실 입사를 교두보 삼아 향후 캘리포니아 얼바인의 본사에서 일하고 싶다고 포부를 밝혔는데 의외로 얼마간 성과를 잘내면 적극 지원해주시겠다는 이야기를 하셨다.
 입사후에도 Mac 님과는 꽤나 격의 없이 지냈는데, 언젠가 개발자들의 업무 효율에 대해 이야기를 하면서 애자일 방법등에 대해 이야기했을때 즐겁게 의견을 주고 받았고, 팀에 이를 적용하는데 지지를 받았다. 그때 언급했던 내 오랜 소장도서 "피플웨어"를 선물하기도.
 팀은 네이버출신인 나에게 아주 기대가 컸지만, Java와 Webwork, Spring, Oracle 을 사용하는 개발 환경은 너무나도 익숙하고 안락했고, 걱정했던 본사 직원과의 의사소통은 영어가 능숙한 PM들의 중재하에 별다른 어려움없이 일 할 수 있었다. 가끔 PM의 검토를 거치지 않고 엉망진창 영어로 이메일을 보내기도 하였는데, 그들이 알아듣고 반응하는 것이 신기하였다. 이를 계기로 어쩌면 내가 미국에서 일을 잘할 수도 있지 않을까 하는 기대를 해보기도 했다.
 리치왕의 복수 출시 기념 마케팅 이벤트를 시작으로, 월드오브워크래프트 웹사이트의 계정, 결제 관련 부분 작업. 스타크래프트2 출시를 앞두고 배틀넷 계정 통합 관련 업무 등등을 했다.

3개월의 공백

 2008년 12월. 갑작스런 사고로 오른쪽 손목이 부러져 분당 제생병원에 입원하게 되었다. 뼈가 완전히 으스러져수술을 하더라도 복구를 장담할 수 없다고. 입원한 지 며칠 뒤 생명에 지장이 있더라도 병원의 책임은 없다는 서류에 서명하고 수술실로 향했다. 전신마취 후 8시간의 대수술을 거쳐 병실로 와서 회복되길 기다렸다. 10cm 되는 봉합 부위를 매일 소독하는 것도 고통스러웠지만, 나아질 기미가 안보이는게 절망스러웠다. 손가락이 살짝 움직이는데 2주 정도 걸린 것 같다. 한창 신혼인데 두어달가까이 남편 간호하느라, 그리고 얼마전 암이 재발하여 서울에 있는 병원에 입원해 계신 장인어른을 돌보느라 와이프도 몸과 마음이 지쳐갔다. 그러던 중 2009년 새해가 밝은지 몇 주 지나지 않아 장인어른이 별세하시게 되었고, 치료보다 처가를 돌보아야 했기에 그 길로 퇴원하고, 처가가 있는 전북 완주로 향했다. 장인어른은 암이 완치 된 상태였다 갑자기 재발하여 돌아가셨기에 주변 정리가 전혀 되지 않은 상태였고, 사업적으로 여러 금전 관계등이 얽히어 상황을 정리하고 처분하느라 약 한달 정도가 소요되었다.

 그렇게 해가 바뀐 3월 크게 바뀐 것 없는 사무실로 돌아와 일에 전념했다. 앞서 NHN에서 한가했다고 이야기했었나? 블리자드는 그것 이상이었다. 블리자드는 게임 출시 스케줄이 연장되는 것으로 유명한데, 그렇게 공백이 발생할때마다 게임외 부서는 일을 억지로 만들어하는 경향이 있었다. 덕분에 여러 글로벌 코드기반을 리팩터링 해보기도 하고, 내 업무와 직접 관련이 없는 사내의 다른 코드들을 살펴보며 배우기도 하였다.

 여름에 싱가폴에 잠깐 여행을 다녀왔는데, 온라인 서비스 팀 매니저가 본사에서 온 디자이너 출신 배효진님으로 바뀌어 있었다. 급작스러운 변화라 기대반 걱정반이었는데, 아니나 다를까 부딪히는 부분이 많았다. 그 중 가장 어이가 없었던 것은 내가 다음에서부터 체득하여 블리자드에서도 팀원들과 함께 익혀왔던 애자일 습관을 부정하고 새로운 개발 방법론으로, 본사에서 전수받은 "폭포수 방법론"을 적용하겠다고 선언하였던 것. 이외에도 본사에서 내 이야기를 들었다며, 본사의 지인들을 이용하여 분란을 일으키지 말라는 황당한 이야기도 하였다. 본사에 단한명의 아는 사람도 없으며, 파벌 및 정치등에 혐오감을 가진 나를 전혀 알지 못하고 한 이야기. 기다리고 기다리던 본사로 가게 될 기회가 왔다. 개발팀장이었던 광범님이 한국 사무실에서 진행했던 일과 관련하여 본사와 협업을 해야 할 일이 있는데, 광범님이 나를 추천하여 거의 확정상태라는 것. 하지만 효진님은 내가 근무기간이 짧은 것과 국내 업무에 더 적합할 것이라는 이유를 들어 다른 팀 동료가 대신 가는 것으로 결론 났다.
 이에 큰 상심을 하였으나, 어려운 시기에 많은 배려를 해 준 회사이기에 다음 기회를 노려보겠노라 마음을 다 잡고 있었는데, 국내의 한 게임회사에서 강력한 러브콜이 왔다. 나의 국제적인 감각을 활용하여 새로운 프로젝트를 처음부터 시작할 수 있는 기회와 함께 파격적인 연봉 인상. 하지만 그 시점에 그만두면 업무에 상당한 공백이 우려되어 후임을 찾느라 거의 매일 많은 사람들을 면접봤지만, 내 아이디어로 도입한 코딩 인터뷰를 통과하는 이가 없어 난감 했던 상황. 중앙정보기술, 어헤드모바일에서 함께 일하고 나에겐 스승에 가까운 정원희씨에게 가까스로 바톤을 넘기고 다시 한 번 이직을 하게 된다.

네오플

 솔직히 네오플이라는 회사의 존재조차 몰랐다. 넥슨이 최근에 인수하여, 많은 투자를 하고 있다는 이야기를 넥슨의 임원과 면접을 보며 전해들었다. 조종실에서 함께 일할 서광운 실장님은 열정이 넘쳐보였고 팀원들도 밝고 즐거워보여 좋은 에너지를 느꼈다. 전반적으로 젊고 활기찬 분위기의 회사. 비록 주력 게임이었던 던전앤파이터나 당시 개발중이던 사이퍼즈에 매력은 느끼지 못했지만, 사람들이 좋으니 즐겁게 일할 수 있을 것이라 기대되었다.
조종실 단체 사진
 조종실은 PHP를 주로 사용하였는데, 네이버에서 PHP에서 Java 로 옮겨간 원인을 그대로 안고 있어, 해당 부분에 대한 개선을 염두에 두었다. 배틀넷 전투정보실과 유사한 형태의 던전앤파이터 캐릭터 검색 기능을 Apache Solr로 구현하며, 네이버와 중앙정보기술에서 익혔던 검색엔진 관련 지식을 써먹기도. 글로벌 규모로 계획한 액션 포털은 지금의 게임 플랫폼으로서의 페이스북과 비슷한 기획이었다. 네오플, 나아가 넥슨의 회원기반을 이용하여 독립 액션 게임 개발사들에 퍼블리싱 플랫폼을 제공하자는 것. 다음 출신인 임수진님의 아이디어였다. 내가 가진 모든 역량을 집중하여 설계하였지만, 구현은 박진국과장과 대학교 친구이자 내 결혼식 사회자였던 강태욱(현. 쿠팡)을 입사시켜 떠 넘기게 되었다.

 애초에 넥슨에 인수될 때 네오플의 독립경영을 보장했다가, 내가 있을때 넥슨이 본격적으로 개입하며 다수의 네오플 OB들이 퇴사를 결심하는 바람에 회사 분위기가 붕 뜨고 만다. 대부분 위메이크프라이스 행을 결정지은 상태.
 마침 미국에서 사업을 하던, 기가옴쇼 진행자 출신으로 유명한 천재 조이스김이 한국에 들어올 일이 있으니 만나자고 해서 청담동의 한 커피숍에서 만나 그의 화려한 언변 반, 실리콘밸리에 대한 나의 동경 반에 6개월의 네오플 생활, 한국에서의 프로그래머로서의 경력은 마무리한다.

맺으며

긴 세월에 걸쳐 짧은 글에 내가 프로그래머로서 지나온 길을 담아보았다. 어느 시점에서 내가 컴퓨터 프로그래머가 된 것인지 규정하기 힘들지만 결국 되긴 한 것 같다. 좌충우돌 했던 과정들을 투박하게 나열했는데, 이것이 같은 길을 가고 있는 이들에게 공감이 되었으면 한다. 내가 규정하는 컴퓨터 프로그래머는 현실세계에 존재하는 문제들을 사람이 이해할 수 있는 해결책을 (주로 기획자로부터) 전달 받아 컴퓨터가 이해할 수 있도록 코드를 작성하는 사람. 그래서 상명하달의 수직 구조에서 가장 끝에 있는 직군이다.
 결국 난 좋은 프로그래머가 되진 못한 것 같다. 아는 만큼 보인다고 강하게 믿어왔기에 문제 인식으로부터 해결까지 내가 주축이 되어 하고 싶다는 욕심에 많은 이들과 부딪혔다. 거기에 젊은 날의 만용이 더해져 정착하지 못하고 남들보다 조금은 더 방황하며 30대를 맞이하였다.
 다행히 지금은 이런 내가 더 환영받는 세상에서 프로그래머보다 더 적합한 직업을 찾았다. 바로 소프트웨어 엔지니어이다. 언제가 될 지 모르겠지만, "소프트웨어 엔지니어가 되기까지..." 로 이야기를 이어나가겠다.


댓글

  1. 소프트웨어 엔지니어는 무엇이라 규정하시는지 궁금합니다!

    답글삭제
    답글
    1. 짧게 답하자면, 소프트웨어 문제에 있어서 창의적인 생각과 더불어 주도적으로 해결하는 사람이라고 정의하고 싶습니다. 아래 미국 노동통계청의 정의도 참고하시면 좋을 것 같습니다.

      컴퓨터 프로그래머: https://www.bls.gov/ooh/computer-and-information-technology/computer-programmers.htm

      소프트웨어 개발자: https://www.bls.gov/ooh/computer-and-information-technology/software-developers.htm

      삭제

댓글 쓰기

이 블로그의 인기 게시물

단위테스트를 위한 주민등록번호 생성

낡은 방식으로 PHP를 사용하고 있는 조직의 개발환경 개선 방안 구상

프로그래머가 되기까지...