개발자가 좋아하는 프로그래머
KTH MIS팀 하호진 과장
미물의 개발 세상
www.mimul.com/pebble
하호진 과장의 블로그는 개발 소스와 코드, 노하우가 많이 담겨있어 개발자들에게 인기가 좋다
뉴스, 사진, 실시간 검색, 만화 등 포털 사이트는 수많은 웹 서비스로 구성되기 때문에 고정적인 개발인력이 풍부한 편이다. 그 가운데 개발자의 현실에 관해 말해 줄 사람을 찾자 모두가 하호진 과장을 추천했다. 웹 서비스 분야에만 10년째 몸담고 있는 그는 하나의 웹 서비스가 만들어지는 과정을 상세히 들려주었다.
오해. 개발자는 만능이어야 한다?
“이왕이면 만능 개발자가 좋다”
하호진 과장은 개발자가 여러 가지를 잘하면 더욱 좋다고 주저없이 대답했다. 노래나 운동 등이 아니라 개발과 관련된 분야를 말하는 것이다. 요즘은 협업이 잘 이루어져 있어 한분야만 공략해도 서비스를 만드는 데 무리가 없지만 규모가 작은 기업들은 기획부터 디자인까지 모두 해내는 수퍼맨을 원한다. 작곡가가 피아노도 칠 수 있고 노래도 잘한다면 연주자와 가수의 요구를 어느 정도 수용할 수 있는 것처럼 프로그래머가 본연의 개발 업무 외에 서비스를 만들고, 디자인을 이해할 수 있는 능력까지 갖추면 ‘좋은 개발자’가 되는 것이다. 전반적인 흐름을 알고 있으면 프로그램을 만드는 데 도움이 된다.
“웹 서비스를 만들 때 기획자가 전체 프로젝트를 이끈다. 기획에 따라 세부적인 업무를 진행하다보면 프로그래머는 늘 기획자와 디자이너 사이에 놓인다. 여기서 프로그래머까지 내 분야의 효율만 주장하면 웹 서비스는 산으로 가고 만다. 중간에서 기획자의 의도와 디자이너가 원하는 그림을 어떻게 나타내는 것이 가장 효율적인지 파악해 프로그램을 만들어야 한다.”
처음 몸담았던 곳은 PC 통신 시절 인기를 끌었던 하이텔이다. 하이텔의 멤버십 서비스 개발을 거쳐 한미르 금융 서비스, 한미르와 하이텔의 회원을 모으는 파란 회원 통합 시스템 등이 그의 손에서 태어났다. 인터넷 서비스가 시작된 초창기부터 프로그래밍에 뛰어든 그는 어쩌다 보니 KT계열사에 계속 몸담게 되었고, 지금도 KTH MIS팀에서 파란 고객관리인증 서비스와 아이디스크 서비스 인프라 등을 관리하고 있다.
전반적으로 개발자에 대한 대우가 좋지 않다는 인식에 조심스럽게 “분야마다 다르다”고 말한다. 포털 사이트는 웹 서비스를 주기적으로 만들어내는 곳이기 때문에 일정이 덜 빡빡하다. “다른 곳은 어떤지 모르겠지만 우리쪽 개발 지원자 수는 점점 늘어가고 있다”며 근무환경에 대한 불만이 없음을 내비쳤다. 다만 이는 “지극히 개인적인 견해일 뿐”이라고 덧붙였다.
웹서비스 개발과정
진실. 프로그래밍 언어만으로는 2% 부족
“프로그래머가 해야 할 일이 딱 정해져 있는 것은 아니다. 구글 같은 외국기업은 개발자들도 직접 아이디어를 내 테스트 프로그램을 만든다. 아이이어가 통과되면 구체적인 디자인과 의견을 반영해 실제 서비스로 내놓기도 한다. 즉 개발자가 서비스 만들 수 있는 능력을 가지면 완성도가 높아질 수 있다는 말이다.”
다른 것은 ‘나 몰라라’ 하고 오직 프로그램 설계에만 힘을 쏟는 개발자는 기피대상이다. 특히 인터넷은 빠른 변화가 이루어지기 때문에 기본적으로 웹 비즈니스에 대한 이해가 필요하다. 두 번째가 ‘프로그램 언어에 대한 이해도’다. 개발자에게 컴퓨터 언어는 일반인들에게 우리말처럼 기본적인 말이다.
“프로그램을 이해할 수 있는 컴퓨터 언어는 물론 서비스를 만드는 데 필요한 아키텍처 설계 능력은 기본이다. 의사가 되려면 수술 도구나 용어를 알아야 하고, 변호사가 되려면 법률 용어를 알아야 하는 것과 마찬가지다. 정확한 뜻과 쓰임새를 알아야 알맞게 적용할 수 있다. 웹 서버, WAS서버, DB서버에서는 무엇을 선택할 것인지, 외부 연동 인터페이스가 필요할 때 어떤 프로토콜(SOAP, REST, JSON, TCP/IP 등)을 써야 하는지 고를 수 있는 노하우도 필요하다.”
이 외에 개발 과정에 필요한 산출물들을 관리하는 “형상관리, 이슈 관리, 품질관리 등 개발 환경에 필요한 시스템을 구축하는 요령도 필요하다”고 귀띔했다. 주의할 것도 있다. 개발자들의 습관 중에 하나인 ‘Copy & Paste’(복사해서 붙여넣기)는 “순간은 모면할 수 있어도 한 단계 높은 발전은 이룰 수 없다.”
“다른 개발자들이 만든 프로그램이나 코드를 보고 복사할 생각을 하는 것보다 어떻게 이런 것을 만들어냈을까 분석하고, 연구하는 것이 좋다. 그 과정이 자기 계발에 중요한 발판이 될 것이다.”
그는 앞으로 개인정보를 기반으로 하는 묶음 서비스인 ‘IDaaS(Identity as a Service) 서비스’를 만들어 볼 예정이다. ‘생필품 가격 비교 사이트’란 재밌는 서비스 계획도 덧붙였다.
“백화점, 대형 마트, SSM(기업형슈퍼마켓), 재래시장 등을 지역별로 구분해서 가격 비교 자료를 올려 소비자들이 쉽게 판단할 수 있는 채널을 만드는 것이다. 재래시장을 살리고 싶은 분들에게, 저렴한 가격으로 쇼핑을 하고 싶은 고객에게 좋은 정보가 될 것이다.”
한미르와 하이텔을 하나로 합친 파란 서비스 회원 통합 작업도 그의 솜씨다.
개발자가 좋아하는 블로그
하호진 과장의 블로그는 개발에 관심 없는 사람이라면 읽기 힘들 정도로 어렵다. ‘C/C++ Tech’ ‘Digital Identity’ ‘오픈 프레임워크’ ‘Tools For Developers’ 등 카테고리부터 전문 개발자의 냄새가 느껴진다. 2003년 8월 블로그를 처음 열었을 때는 단순히 새로운 서비스 체험 수준이었기 때문에 사진 위주로 가볍게 운영했지만 2005년 2월부터는 본격적으로 개발 관련 내용들을 다루며 개발자 블로그로 거듭났다.
“내가 현장에서 얻은 지식을 올리면 다른 개발자들이 좀더 편해 질 거라 생각했다. 어쩔 때는 남들에게 알려주기 아까울 만큼 어렵게 얻어낸 비법도 있어 고민하기도 했지만 내가 힘들었을 때를 생각해 꾸준히 올렸다. 그러다보니 방문자도 점점 늘어났고, 만족감도 같이 높아졌고, 자연스럽게 블로그에서 보내는 시간이 늘어났다.”
그의 블로그가 유명세를 타니 사내에서도 모르는 사람이 없다. 개발자 블로그 이야기에 모두가 그를 추천했다.
“개발자들이 겪는 문제나 참고사항을 개발 언어, 비즈니스, 웹서버, DB, 개발 툴, 웹서비스 등 카테고리별로 나누어 포스팅하고 있다. 해당 내용이 전문적이라 구독자들은 대부분 개발자들이다. 그래서인지 구독자 수가 일정하다.”
“가족과의 대화시간이 줄어들 정도”로 블로그에 투자하는 시간이 늘은 것이 단점이라며 투덜거렸지만 오히려 자랑처럼 들린다. 구독자 수를 유지하려면 지속적인 포스팅이 필요한데 “포스팅을 작성하려면 다양한 자료 조사가 필요하고 자연스럽게 자기 개발이 이루어진다”는 이유에서 “블로그를 놓을 수가 없다”고 한다.
“앞으로 좀더 적극적으로 블로그를 운영할 계획이다. 블로그를 통해 우리나라에서 많이 쓰는 오픈소스(Java 기반의 블로그 툴)를 배포할 예정이고, 개발 전문 지식 외에 구독자의 폭을 넓힐 수 있는 다양한 내용도 준비 중이다.”
개발에 관한 살아있는 정보가 궁금한 사람이라면 하호진 과장의 블로그에 놀러가보자. 간단한 개발 오류의 해결책은 물론 예상치 못한 노하우를 얻어가는 행운을 잡을 수도 있다.
개발 지망생에게 한마디
대한민국 개발자는 늘 업무에 치인다. 주어진 일을 처리하는 데 많은 시간을 투자해야 하고 새로운 기술을 얻기 위한 열정을 지녀야 한다. 혼자 공부하다가 시행착오을 겪는다면 개발자 커뮤니티 활동을 하는 것이 좋다. 도움을 받을 수 있을 것이다.
또 겸손을 지녀야 한다. 직접 만든 코드가 최고일 순 없다. 자기 것만 고집하면 오히려 고립될 수도 있다. 오픈소스나 다른 사람들이 만든 알고리즘이나 코딩 습관들을 보고 익혀서 내 것으로 만드는 것도 역량을 키우는 일이다. 그런 뒤 스스로 완성도 높은 서비스를 내놓으려고 노력하면 좋은 결과를 얻을 수 있을 것이다.
기획은 개발의 시작
엠게임 기획개발실 김혜현 팀장
살아남기 위한 시간들은 신화가 되고 지켜내기 위한 시간들은 희망이 된다
blog.naver.com/scarletkh2
모든 것은 게임의 소재가 될 수 있다. 김혜현 팀장은 특별히 블로그의 주제를 정해놓지 않았다. 앞으로는 게임 뒷이야기를 실을 예정이다.
와우나 리니지 같은 온라인 게임을 하나 만들려면 전체적인 이야기부터 캐릭터 디자인, 인터페이스 등 체계적인 구성이 필요하다. 사람들이 개발자라고 하면 대부분 프로그래머를 말하는 줄 아는데 전체적인 틀로 개발의 시작을 여는 기획자 김혜현 팀장은 섭섭하다. 프로그래밍을 전공하고 기획자의 길로 뛰어든 그는 개발과 기획은 한 몸이라고 강조한다.
오해. 개발자 = 프로그래머?
게임을 만들고자 하는 사람은 많다. 하지만 정확히 어떤 역할을 할 것인지 고민하는 사람은 많지 않다. 사람들은 흔히 개발자라고 하면 컴퓨터언어를 이용해 코드를 완성하는 프로그래머라고 생각한다. 완전히 틀린 말은 아니지만 ‘개발’은 혼자 할 수 일이 아니다.
“개발자는 하나의 게임을 만들어내는데 관여하는 모든 사람을 뜻한다. 게임 안에서 보고 듣고 느끼고 행하게 되는 모든 것들이 개발자의 계획과 구현에 의해 완성되는 것이다. 다시 말해 한사람이 모든 것을 처리하는 것이 아니라 기획에서 어떤 콘텐츠 혹은 시스템을 넣겠다는 계획이 구체화되면 디자이너가 필요한 그래픽 리소스를 준비하고 프로그래머들은 게임에서 그것들이 실행될 수 있도록 작업을 진행하는 것이다.”
김혜현 팀장은 개발팀에서 전체적인 게임의 틀을 잡는 기획자다. 엠게임에서 9월 말 베타 서비스를 앞두고 있는 하이브리드 MMORPG인 <아르고>의 기획과 개발을 맡고 있다. <아르고>는 고대 신화의 영웅들이 모험에 타고 나갔던 함선 이름이며 멀지않은 미래의 모험 이야기가 기본 뼈대다. 그는 주로 콘텐츠 설정하는 일을 하고 있는데 게임 캐릭터와 NPC, 몬스터 등의 이름이나 성격, 외형 등에 대한 가이드라인을 제시하고 아르고의 주요활동 무대가 되는 필드와 던전, 전장을 설계한다.
아르고는 종전 캐주얼풍의 MMORPG 또는 무협 MMORPG 전문으로 굳어있던 ‘엠게임’의 이미지를 바꿀 작품으로 내부에서도 기대가 높다. “부담이 없다면 거짓말이다. 하지만 즐겁게 완성하려고 노력한다. 아르고를 만들면서 가장 힘들었던 건 각 분야의 의견을 조율하는 일”이라며 게임 개발은 절대 혼자서 할 수 없는 일이라는 것을 다시 한 번 강조했다.
그는 기획자의 길을 걷고 있지만 프로그래밍을 전공했다. 덕분에 어떤 부분에서 프로그래밍을 강조해야 더 효율적인지 가늠할 수 있다. 틈날 때마다 즐기는 온라인 게임 덕분에 그래픽 분야에도 조예가 깊다. 여러 팀원의 의견을 조율하려면 두루두루 아는 것이 많아야 한다.
진실. 게임을 즐겨야 만들 수 있다
대부분의 게임 개발자는 하루종일 게임을 만들면서 집에 가면 또 다른 온라인 게임에 빠져산다. 때문에 다른 사람들은 ‘게임에 미처야 할 수 있는 일’이라며 별세계 직업으로 분류하기도 한다. 하지만 나름대로 의미가 있다. 첫 번째는 공부다. 초보 연기자가 다른 배우의 작품을 보면서 배우는 것과 마찬가지로 다른 사람이 만든 게임을 보면서 분석하는 것이다. 두 번째는 즐거움을 전달하기 위함이다.
“즐거움은 이론적인 접근으로는 만들 수 없다. 게임을 개발하는 사람 스스로가 게임이 주는 즐거움이 무엇인지 보고 듣고 느낄 수 있어야 하고, 그것을 통해 게임에서 줄 수 있는 재미 요소를 분석하거나 새롭게 가공할 수 있는 능력을 키워야 한다.”
김혜현 팀장은 ‘게임을 만들고 있지만 게임은 좋아하지 않아’라고 이야기하는 개발자는 “배우가 ‘연기를 하지만 영화나 드라마를 좋아하지는 않아’라고 하거나 작가가 ‘글을 쓰지만 책 읽는 것을 좋아하지 않아’라고 말하는 것과 똑같다”며 스스로 즐겨야 한다고 다시 한번 강조했다.
가장 좋아하는 게임이 뭐냐고 묻자 홍보실 직원 눈치를 한번 살피더니 블리자드의 <월드 오브 워크래프트>를 꼽았다. 게이머를 이끄는 탄탄한 세계관과 캐릭터는 “게임 개발자들의 로망”이라며 그런 게임을 만들기 위해 지난 3년간 <아르고>에 총력을 기울였다고 덧붙였다.
“클로즈베타를 앞두고 무척 떨린다. 남들 앞에 자신있게 대표작이라고 말할 수 있는 작품이다. 처음 만든 게임이나 MMORPG의 세계에 입문하고 성장할 수 있게 해준 게임들도 기억에 남지만 프로젝트 단계부터 함께 하기 시작한 것은 <아르고>가 처음이다. 게임이 공개될 시점이 다가올수록 기대나 흥분보다는 두려움이 크지만 그만큼 아르고에 대한 관심과 애정이 크다.”
와우를 뛰어넘을 만큼 탄탄한 세계관과 시나리오를 가진 MMORPG를 만드는 것이 그의 꿈이다. 아르고를 준비하면서 이 부분에 신경을 많이 쓰고는 있지만 그런 것들을 잘 만든다는 것, 그리고 시스템에 자연스럽게 녹여 낸다는 것이 결코 쉬운 일은 아니다.
굉장히 귀엽고 아기자기한 그래픽을 가진, 누구나 쉽게 접근할 수 있는 MMORPG도 계획하고 있다. 타깃은 그와 같은 여성이다. 예전과는 달리 많은 여성 유저들이 게임을 즐기고 있지만 여전히 남자가 더 많다. 더욱이 MMORPG를 즐기는 여성들을 찾기란 쉽지 않다. 김혜현 팀장도 친구들과는 온라인 게임 이야기를 거의 하지 않는다.
“기껏해야 카트라이더 정도다. 관심분야인 MMORPG는 아는 이가 없다. 나중에는 여자가 재밌게 할 수 있는 게임을 만들어 보고 싶다. 공략하기 쉽지는 않지만 분명 가능성은 있다.”
김혜현 팀장이 처음부터 끝까지 기획해 대표작으로 내세우는 <아르고>. 9월말 클로즈 베타 서비스를 앞두고 있다.
“게임 뒷이야기를 기대하세요”
작곡가는 길을 걷다가 갑자기 악상이 떠오르면 휴대폰에 흥얼거리며 멜로디를 저장하고, 작가들은 좋은 문구가 떠오르면 커피숍에서 휴지에 메모하기도 한다. 김혜현 팀장에게 블로그는 작곡가의 휴대폰이요, 시인의 휴지다. 그냥 지나치는 것도 게임에서는 현실감을 살려주거나 개성있는 아이템이 될 수 있기 때문이다. 두서없는 블로그 포스팅도 이 때문이다. ‘살아남기 위한 시간들은 신화가 되고 지켜내기 위한 시간들은 희망이 된다’는 그의 블로그 제목도 게임 개발자라는 직업에 무척 잘 어울린다.
“맛있고 예쁜 요리 정보라든지 맛집에 대한 자료들을 담기도 하고, 굉장히 좋아하는 김연아 선수에 대한 정보를 스크랩하기도 한다. 요즘에는 아르고와 관련된 내용들을 포스팅 하는데 아직 많은 부분들이 비공개라 자제하고 있다.”
첫 직장이 이글루스라는 블로그 개발 회사였기 때문에 자연스럽게 블로그를 시작하게 됐다. 그러다 이글루스 블로그를 닫고 지금의 블로그로 이사했는데, 웹서핑을 하다가 눈에 띄는 자료를 담아두는 용도로 이용하고 있다. 어떤 자료든 게임의 소재가 될 수 있다. 덕분에 분야가 다양해서 두서없기도 하지만, 최근에는 아르고에 대한 이야기가 많이 기사화 되면서 뒷이야기 몇 개 담아놓은 포스팅을 보려는 방문객들이 늘고 있다.
그는 ‘정보공유’를 블로그의 장점이자 단점으로 꼽았다. 원하는 정보를 언제 어디서든 쉽고 빠르게 찾아볼 수 있고 가져올 수 있지만 “누군가 고민을 많이 하고 노력을 들여 작성한 자료들을 너무 쉽게 가질 수 있다”는 것이 때로는 씁쓸하다. 그래도 도움을 받았다거나 재밌다는 댓글을 보면 뿌듯하다.
“앞으로 아르고에 대한 자료들을 하나씩 공개할 생각이다. 지금은 아르고가 공개된 시점이 아니라 보여드릴 수 있는 것들이 별로 없지만 조만간 아르고 홈페이지라든지 포럼에서는 볼 수 없었던, 예를 들면 캐릭터가 가지고 있는 미공개 이야기 혹은 몬스터가 탄생의 비화 등을 포스팅할 예정이다.” 아르고를 개발하면서 있었던 재미있는 혹은 눈물 나는 에피소드를 많이 공개할 예정이라니 기대해 보자.
개발 지망생에게 한마디
게임 개발자가 되고 싶다면 온라인 게임을 즐겨라. 많은 사람들이 게임을 즐기다가 실제로 만들기를 시작하면 질려 버리곤 한다. 배우가 다른 사람의 연기를 보지 않고 삶을 이해할 수 없듯이 여러 게임을 보지 않으면 발전이 없다.
게임은 ‘오락’이다. 말 그대로 스트레스를 풀거나 쉬어가기 위한 도구다. 남에게 즐거움을 주고 싶다면 내가 먼저 즐거워야 한다. 게임으로 즐거움을 주고 싶다면 게임 죽돌이와 죽순이가 되는 것은 어쩔 수 없다.
‘개발’의 현주소를 날카롭게 짚어낸다
이븐모어 개발팀 수석연구원 곽중선
써니의 一生牛步行
sunnykwak.egloos.com
‘써니’라는 닉네임으로 5년째 운영해오고 있는 블로그. IT 관련 경험과 지식을 담고 있어 블로거들 사이에는 유명하다.
15년째 소프트웨어 개발에 몸담고 있는 곽중선 연구원은 ‘써니’라는 아이디로 잘 알려진 유명 블로거다. 개발자의 임무와 과제, 비전, 연봉 등 현실을 솔직하게 담아낸 포스팅이 그의 인기다. 스스로를 ‘엔지니어라는 꼬리표를 단 평범한 직장인’이라고 하지만 개발 지망생이나 초보 개발자에게 그의 삶은 살아있는 정보다.
오해. 개발자는 전문직이다?
곽중선 연구원은 “개발자 지망생은 물론 개발자 다수가 무척 전문적인 일을 한다는 착각 속에 빠져있다”며 ‘전문직이라서 대우가 좋아야 한다’는 오해에 대해 입을 열었다. 전문직이란 말 그대로 나만이 할 수 있는 일을 말하는 데 국내 개발자들은 창의적인 일보다 이미 만들어놓은 틀을 자신이 속한 회사에서 이용할 수 있는 소프트웨어로 바꾸는 일이 대부분이라는 지적이다.
“물론 독창적인 서비스를 개발한다면 그에 대한 올바른 대우를 받아야 하는 것이 맞다. 하지만 IT 분야는 절대로 전문 직종이 아니다. 다들 안다고 하면서도 내심, 단순 월급쟁이가 아닌 척 쿨하게 굴려고 한다. 내가 벤처와 대기업 주변부를 돌아다니며 IT 분야에서 돈 버는 실력자들이 있지 않을까 싶어서 여러모로 정보 수집을 해봤지만, 결국 얻은 답은 봉급 생활자는 거의 비슷하다는 결론이다.”
자기가 몸담고 있는 조직이나 환경에 따라 달라진다는 말이다. 일부 프리랜서들은 정해진 기한에 맞추어 일을 해야 하기 때문에 남들보다 야근이 잦을 수도 있다. 외국 회사라고 연봉을 많이 주는 것도 아니다. 야근은 시키지 않지만, 성과에 대한 평가는 야박하다. 회사는 물론 분야도 잘 골라서 직장을 선택해야 한다. 인터넷 초창기인 하이텔 시절부터 공공기관용 전자문서 유통/관리 시스템, 은행 인터넷 뱅킹 시스템 웹 서비스 구축, 쿡 인터넷 전화 등의 소프트웨어 솔루션을 개발하며 15년 동안 몸으로 느낀 현실이다.
“소프트웨어 개발은 한편의 소설을 쓰는 것과 같다. 우리말을 모르는 사람은 많지 않다. 하지만 글을 쓸 줄 안다고 모두 소설을 쓸 수 있는 것은 아니다. 올바른 띄어쓰기와 뜻, 쓰임새에 맞는 적당한 단어를 찾는 것도 중요하다. 프로그래밍도 마찬가지다. 기본적인 컴퓨터 언어를 배운 뒤 하드웨어라는 틀에 맞는 소설을 쓰는 것이다. 작가를 보면 같은 주제로 글을 쓰더라고 그들의 느낌을 나타내는 각자의 개성적인 문체를 가지고 있다. 프로그래밍도 개발자의 독창적인 능력을 발휘해서 만들어내는 것이다.”
장편소설 쓰는 작가들이 그러하듯이 하나의 프로그램을 만드는 개발자의 노력도 엄청나다. 곽중선 연구원은 “많은 사람이 알다시피 개발자의 세계는 그리 녹록치 않다”며 실력과 함께 필요한 것 몇 가지를 꼽았다. “IT 분야가 실력 위주의 사회라고는 하지만 아무리 실력이 좋아도 신참에게는 중요한 역할을 거의 맡기지 않는다.” 팀 단위로 일하려면 실력과 성과도 중요하지만, 의사 전달 능력과 팀 내부 갈등 조율, 그리고 고객과 상부 조직의 의지를 잘 파악하는 ‘눈치’도 중요하다.
“프로그래머는 코드로 말하는 것이 당연하지만 의사나 공무원처럼 시험을 통과해서 자격을 얻는 직업이 아니라서 혼자 노력하는 건 바보짓이 될 수 있다. 결국, 개발자도 인간관계가 좋아야 한다는 얘기다. 프로그래머들은 전부 방구석에서 코딩만 하는 오덕후들이라는 편견을 가졌다면 그건 정말 오해다. 인간관계 나쁜 개발자 중에 성공하는 사람 별로 못 봤다.”
진실. 스타 개발자를 꿈꾸는 사람들
마이크로소프트의 빌게이츠, 애플의 스티븐 잡스, 안철수연구소의 안철수 등 국내외 유명한 IT업계 성공주역을 꼽아보면 하드웨어보다는 소프트웨어 분야가 많다. 이매진컵 같은 크고 작은 소프트웨어 경진대회도 적지 않은 편이라 기술을 선보일 기회가 얼마든지 열려있다. 컴퓨터 공부하는 사람에게 독창적인 소프트웨어 개발은 로또와 같은 인생역전의 기회이기도 하다. 예전에는 소프트웨어 기업들이 기술을 외부로 유출하지 않았지만 최근엔 기술 개발을 위해 공유해야 한다고 주장하는 사람이 늘어나면서 오픈소스가 많아졌기 때문에 여건도 더욱 좋아졌다.
“우리나라가 IT 분야에서 짧은 시간에 놀라운 발전을 하기는 했지만 선진국에 비하면 아직 걸음마 수준이다. 발전 가능성이 아직도 많다는 얘기다. 스타개발자를 꿈꾸며 개발에 입문하는 사람도 적지 않다.” 곽중선 연구원은 개발자 지망생이 많아지는 이유를 이렇게 설명했다.
소프트웨어는 진입 장벽이 낮은 편이다. 트위터도 영어권 블로그지만 한글로 이용하는 데 전혀 무리가 없다. 재료와 공장 등 장비가 필요한 하드웨어 개발과 달리 소프트웨어는 창의적인 생각과 PC만 있으면 혼자서 원하는 서비스를 만들어 낼 수 있다. 구글 앱스토어가 대표적인 예다. 개발자들이 자기의 실력을 뽐낼 수 있는 공간은 계속 늘어나는 추세다.
“진정한 개발자가 되고 싶다면 최신 기술을 빨리 습득하는 것이 중요하다. 해외에 발표된 최신 기술이 한글화되기만 넋놓고 기다리면 늦는다. 직접 기술 자료를 찾기 힘들다면 개발자 블로그나 온라인 커뮤니티 이용을 권한다.”
그는 앞으로도 모바일기기를 더 편하게 이용할 수 있는 임베디드 소프트웨어 개발에 주력할 예정이다. 그룹웨어와 문서 관리 시스템에도 관심이 많다.
“내 미니 홈피나 블로그가 싹 날아가 버리면? 국내 문화에 맞게 개인 기록을 보관할 수 있는 시스템을 만들어 오픈 소스로 사람들과 함께 나눌 예정이다.”
곽중선 연구원이 개발한 소프트웨어가 들어가 있는 인터넷 전화. 앞으로 모바일 임베디드 소프트웨어에 더욱 주력할 예정이다
거침없는 블로그 포스팅
곽중선 연구원의 블로그에는 개발자의 현실이 날것 그대로 묘사되어 있다. 물론 그의 개인적인 견해지만 현실을 모르는 지망생이나 초보들에게는 15년 선배의 좋은 고마운 충고다. 4년간 이글루스를 쓰다가 최근 소프트웨어 지식을 집중적으로 다루는 분점 블로그를 설치했다. ‘써니’의 잡담이 싫은 사람들은 지식만 얻어 가면 된다.
‘써니의 일생우보행(一生牛步行) 블로그’의 수많은 포스팅 가운데 눈에 띄는 것은 초보 개발자들이 가장 궁금해 하는 ‘삶과 연봉 이야기’ ‘소프트웨어 개발자 채용과정’이다. 대기업의 공채 과정이야 몇 단계를 거친다는 것을 익히 들어 알고 있지만 대기업보다 작은 기업들은 어떻게 소프트웨어 개발자를 뽑을까?
“제원도 따지지만 실무 능력을 좀더 중요하게 여기며, 같이 일하게 될 팀원들이 직접 면접 볼 때가 많다. 공채를 추진할 여력이 안 되는데 좋은 인재를 채용하고 싶어하는 기업들이 선호하는 방법은 ‘사내 추천’이다. 사내 개발자? 팀장들이 학연? 지연? 프로젝트 경험 등 다양한 인간관계를 통해 알게 된 사람들을 추천하는 것이다. 좋은 회사를 가고 싶다면, 개발자 카페나 온라인 커뮤니티, 세미나 같은 기회들을 놓치지 않길 바란다. 만약 서류에 통과되더라도 별내용없는 면접을 봤다면, 진지하게 고민해야 한다. 몇 달 혹은 몇 년 후에 개발자 커뮤니티 사이트에 ‘한국 소프트웨어 개발자 인생은 막장’이라는 글을 올리는 자신을 발견하게 될지도 모른다.”
이외에도 ‘개발자 포트폴리오, 함부로 위험한 거 제출하지 마세요’ ‘코드가 먼저냐, 설계가 먼저냐’ ‘개발자에게 설계 마인드 심기 참 어렵다’ 등 코드와 관련된 전문적인 포스팅 말고 현실을 담아놓은 이야기가 많아 일반인들도 재미있게 읽을 수 있다.
블로그에 애정을 가지고 있고 얘깃거리가 넘쳐나지만 포스팅을 쉴 때도 있다. 정보를 나누는 것이 목적이지, 블로그 유지가 목적이 아니기 때문이다. 그럴 때는 긴 포스팅보다는 미투데이에 간단하게 아이디어를 정리하는 편이다. 그렇다고 관리를 소홀하게 하지는 않는다. 독학의 어려움을 겪은 그는 자료의 중요성을 잘 알고 있어 블로그를 통해 많은 사람들과 함께 자료를 나누려고 한다.
“해외에서는 개발자들이 개발 관련 지식을 인터넷에 공개하는 것을 중요하게 생각한다. 그런 문화가 좀더 활성화돼야 지식이나 아이디어가 더 발전할 수 있다.”
그의 블로그 소개글에는 ‘프로그래밍 경험을 쌓고 싶으신 분은 연락 주시길 바랍니다. 웹 개발, 윈도와 리눅스 애플리케이션 제작, 분석과 설계, 디자인 패턴, 객체지향 기법, 개발 방법론 등 다양한 주제를 가지고 토론과 학습하는 것을 좋아합니다’라고 쓰여있다.
개발 지망생에게 한마디
스티브 잡스는 “성공을 위해 준비하는 기간이나 열매를 맺은 이후에, 늘 겸손하고 늘 새로운 것을 갈구하고 창의적인 사람이 되려고 애써야 한다”고 말했다. IT 분야는 변화가 빠르기 때문에 조금이라도 자만하면 금세 경쟁에서 밀려나니 기술을 익힘과 동시에 겸손하게 자기의 길을 가야한다. 유행에서 좀 벗어나 이미 성공한 기술에서 교훈을 찾아야 한다. 푸시 서비스가 등장해 촉망 받다가 사라졌지만 현재 RSS 피드나 위젯 등의 형태로 바뀌어 나타나고 있다. 5~10년 후에도 살아남으려면 잘 변하지 않는, ‘엔진’에 해당하는 기술에도 관심을 가져야 한다.