인터넷 홈쇼핑 사이트 개발에는 어떤 특징이 있나요. 백화점이나 대형 마트를 보면 할인 판매가 굉장히 많습니다. 인터넷 홈쇼핑도 그와 같은 방식으로 기획을 하고 물건을 보여주고 판매하는 페이지들이 굉장히 많이, 빨리 만들어진다는 특징이 있습니다. 모든 것이 '보는 즐거움, 사는 즐거움'이죠.(웃음) 그래서 납기일이 굉장히 짧습니다. 며칠 만에 해야 하는 일들은 양호한 편에 속하고 일을 받고 그 다음날까지 마무리해야 하는 경우도 많습니다. |
|
|
속칭 '와일드 와일드 웹' 시절부터 웹 개발을 하신 것으로 아는데, 최근 웹 분야에서 일어난 변화 중 인상적이었던 것을 뽑는다면. 먼저 웹 개발 분야를 가볍게 보지 않게 됐다는 점을 들고 싶습니다. 초창기 웹 개발 하면 '대충 HTML 알고, 웹 페이지 편집기 좀 쓸 줄 알면, 복사와 붙여넣기 하면서 인터넷에서 예쁜 그림 찾아 갖다 붙이면 되는 것 아닌가'라는 인식이 일반적이던 시절이 있었습니다. 그러나 점차 많은 것들이 웹 브라우저를 통해 전달되면서, 웹 기술 수준도 이전에 비해 매우 높아졌습니다. 특히 Ajax 등장이 그 같은 변화의 전환점이 됐다고 할 수 있고 Ajax 이후로 웹 개발자들도(더 이상 단순 기술이 아닌) 어려운 기술을 다룰 수 있도록 환경이 바뀌었다는 생각이 듭니다. 구글 맵이 그 좋은 예가 되겠네요. 또 서비스를 제공해야 하는 웹 애플리케이션 특성상 사용자 인터페이스가 중요한데 전에는 "웹에서는 안 되는 거에요"라고 했던 것들이 이제는 가능하게 되면서 사용자 인터페이스에 대해 좀더 많이 고민하고 시간을 들여 개발해야 한다는 점이 눈에 띄는 변화라 할 수 있겠습니다. |
|
|
웹 개발 기술이 많이 발전했지만 그만큼 새로운 복잡한 문제들이 계속 생기는 것 같습니다. 기술적 한계로 하지 못했던 일들을 할 수 있게 되면서 개발시 고려해야 할 상황이나 처리해야 할 일이 늘었기 때문입니다. 예를 들어 예전에는 자바스크립트를 이용해 주로 하는 일이 폼 입력 값이 맞는지 확인하거나 메뉴에서 감춰둔 레이어를 보여주거나 하는 것들이었는데 Ajax가 나오면서부터 사용자 인터페이스를 제어할 수 있는 영역이 확장됐습니다. 물론 예전에도 할 수는 있었지만 사용과 유지 보수가 어려웠기 때문에 쓰이지 않았던 것인데 이제는 마우스 움직임, 클릭, 드래그 앤 드롭, 키보드 이벤트 등 사용자 인터페이스에서 일어나는 경우의 수가 많아졌기 때문에 더 복잡해진 거죠. 경우에 따라 하드웨어 환경도 고려해야 하고요. 또 서버-브라우저 간 통신에서 문제가 생겼을 때 그 원인을 찾기가 쉽지 않다는 문제도 있습니다. 이와 같은 복잡성 문제는 Ajax뿐만 아니라 플래시(Flash), 플렉스(Flex) 등 다른 웹 개발 기술에서도 마찬가지인 것 같습니다. |
|
|
유지보수 일을 많이 하셨죠. 웹 개발은 그 성격상 '유지보수가 영원히 지속'될 것 같은데, 개발자들은 어떻게 대처해야 할까요. 소프트웨어를 생명체에 비유하면 SI는 아기를 낳는 과정에, 유지보수는 그 아기를 키우는 과정에 비유할 수 있습니다. 아이가 자라면서 바른 사회인이 되도록 여러 가지를 가르치듯 소프트웨어도 그 소프트웨어가 쓰이는 곳과 사람들에게 이바지하기 위해 계속 키워가는 것이죠. 그래서 실제로는 유지보수라고 해서 꼭 유지보수만 하는 것이 아니라 새로운 기능 개발 업무도 하고 있습니다. 특히나 웹은 한 번 만들고 바꾸지 않으면 사람들이 오지 않습니다. 자꾸 바꿔야 사이트가 살아있다는 느낌이 들죠. 그리고 웹 2.0의 키워드 중 하나인 '베타'라는 말은 완성품이 아니기 때문에 책임을 지지 않겠다는 것이 아니라 고객 요구가 계속 변하기 때문에 그에 맞춰 끊임없이 변하겠다는 것을 뜻합니다. 패키지 소프트에어에서는 그렇게 하기 힘들지만 웹에서는 가능한 개념이죠. 따라서 웹에서는 유지보수 작업이 굉장히 중요하고 큰 비중을 차지함을 인식해야 합니다. |
|
|
개발자 개인의 실력에 대한 포트폴리오는 어떻게 갖추는 것이 좋을까요. 제 경우에는 JSP만 했습니다.(웃음) 전문 개발자들에게 제일 중요한 것은 프레임워크 같은 기술보다는 자신에게 일을 준 사람, 그리고 함께 일하는 사람들의 생각을 이해하는 것이라고 생각합니다. 개발자 개인적인 측면에서 가치를 추구한다면 기본기가 중요하다고 봅니다. 컴퓨터 기술은 급변하는 파도와 같고 프로그래머는 파도를 타는 사람에 비유할 수 있습니다. 기본 원리를 이해하고 몸에 익도록 수많은 훈련을 해야 파도가 어떻게 변해도 훌륭한 서핑 기술이 나오듯 프로그래머도 튼튼한 기본기를 갖춰야 다양한 기술 앞에서 카멜레온처럼 적응할 수 있습니다. 자기 기술에 대한 자부심이 지나쳐 그 기술이 최고라거나 영원할 것이라는 생각은 좋지 않습니다. 컴퓨터 기술 변화는 예측하기 어려우니까요. 그래서 변화에 기만한 프로그래머들이 좋은 프로그래머들이 될 것 같습니다. 켄트 벡, 마틴 파울러, 론 제프리즈 등 고급 개발자들이 프로그래밍에 대한 자신의 생각을 쓴 글이나 책을 읽는 것도 프로그램을 어떤 생각으로 짜야 할지, 자기 계발 계획을 어떻게 잡아야 할지 안목을 기르는 데 도움이 되겠고요. 또 개발 관련 서적 이외의 책들을 읽음으로써 세상이 어떻게 변해가는지 이해하고 변하는 세상에 맞게 프로그램을 짤 수 있게 준비하는 것도 필요하리라 봅니다. |
|
|
okjsp.pe.kr 운영과 오픈소스 프로젝트인 자카르타 서울 프로젝트 참여 같은 커뮤니티 활동이 자신에게 어떤 영향을 미쳤다고 보시나요. 사이트를 운영하면서 업계에 이름을 많이 알릴 수 있었는데 실력에 비해 이름이 너무 많이 올라가 있는 게 아닌가 하는 생각도 듭니다. 그런 평가를 받는 만큼 노력을 해야 하다 보니 사는 게 힘든 것 같습니다.(웃음) 그리고 사람을 정말 많이 알게 됐습니다. 예를 들면 자카르타 서울 프로젝트에서 같이 활동한 이창신 씨(편집자 주: 이창신 씨 인터뷰)처럼 평소에 팬이었거나 존경하던 사람들을 만나고 그 만남을 통해 많은 것을 배우며 성장할 수 있었습니다. |
|
|
말씀하신 것처럼 오픈소스 활동이 개발자 성장에 긍정적인 영향을 미치는 좋은 사례가 꽤 많지만 활발한 수준에 이르지 못한 데는 어떤 원인이 있을까요? 그와 같은 문화가 아직은 자리잡지 못한 것 같습니다. 오픈소스 프로젝트에서는 기술 못지 않게 의사소통 기술이 중요합니다. 아파치 같은 성공적인 오픈소스 프로젝트들을 살펴보면 개발 전 과정에 걸쳐 의사소통 절차나 방식이 잘 정립되어 있을 뿐만 아니라 하나의 자연스러운 문화로서 정착되어 있습니다. 한국의 경우 경험도 짧고 의사소통도 아직은 미숙해, 문화로서 자리잡는 데는 시간이 필요할 것 같습니다. 개인적으로는 3이란 숫자를 좋아하는데 3년 정도 시간이 지나면 가능하리라 생각합니다. |
|
|
프리랜서 생활은 언제부터 시작하셨나요. 2002년에 전 직장을 그만 두면서 프리랜서를 시작했습니다. 그 당시 1년 정도 프리랜서 생활을 하면서 책을 썼던 적이 있었고 GS홈쇼핑에서는 2005년부터 일하기 시작했습니다. 사실상 첫 프리랜서 생활이라고 할 수 있겠네요. |
|
|
정규직과 다른 점이 있다면. 제 경우에는 회사 대 개인 계약으로, 신분상으로는 프리랜서지만 정직원과 비슷하게 생활을 합니다. 프리랜서든, 정규직이든 보수를 받고 하는 일은 책임감이 중요하다고 생각합니다. |
|
|
프리랜서로서 자기 개발이나 경력 관리는 어떻게 하시나요. 개인적으로는 큰 고민 없이 읽고 싶은 책, 다루고 싶은 기술이 있으면 바로 바로 공부하는 편입니다. 경력 관리의 경우 직장을 옮길 때 급여 문제도 중요했지만 하고 싶은 일이 있는데 지금 일하는 회사에 더 이상 그 일을 하지 않게 됐을 때 제가 하고 싶은 일이 있는 회사를 찾는 것이 주요한 고려 사항이었습니다. 먹고 살기 위해 하는 일과 좋아해서 하는 일은 차이가 좀 있다고 생각합니다. 먹고 살기 위해 할 수 있는 일은 어떻게 해서든 찾을 수 있겠지만 하고 싶은 일을 하는 게 가장 낫다고 생각합니다. 지금 일하는 쇼핑몰은 사이트가 자주 변하고 긴박하게 돌아가는 곳이라 고된 면도 있지만 나름대로 재미있고 하고 싶은 일이나 적용해 보고 싶은 기술이 많습니다. |
|
|
최근 관심사와 앞으로 계획이 있다면. 요즘에는 루비와 맥 OS에 관심이 있고 영어 발표 스터디 모임을 하고 있습니다. 계획은 단기적으로는 회사 개발 표준을 정리하고 위키 등을 통해 문서화를 하는 것이고, okjsp.pe.kr 개편도 생각하고 있습니다. 중기 계획으로는 대학원 과정을 밟아보고 싶고 장기적으로는 R&D 쪽 일을 하거나 교수가 되면 좋겠다는 생각을 하고 있습니다. 회사 생활을 해봤기 때문에 학생들에게 직장 생활에 대한 조언을 많이 해줄 수 있을 것 같습니다. |
|
|
전에 쓰셨던 책 자기 소개글에 '평생 개발자라는 허황된 꿈도 꾸고 있다'라고 쓰셨는데 그 허황된 꿈이 지금도 유효한지요. 이제는 허황되지 않다고 생각합니다. 제 팔자지요. 걱정하지는 않습니다.(웃음) 컴퓨터로 무언가를 할 수 있다는 것이 여전히 재미있습니다. 프로그래머는 끊임없이 자기 혁신을 해야 하고 재미있는 것을 찾아 모험을 떠나야 합니다. 그렇게 사이버 세상을 만들어나가는 것이 매력이고요.
[허광남 소개] OKJSP 사이트를 운영하고 있으며, 현재 GS홈쇼핑에서 프리랜서로 일하고 있다. 가치 있는 프로그램을 짜는 것을 고민하면서 고되지만 즐겁게 살고 있다.
NEXT> 허광남님의 인터뷰 대상자 추천 김태영(Taeyo.NET 운영자) 추천 이유: okjsp.pe.kr을 만들 때 모델로 삼았던 사이트인 Taeyo.NET의 운영자로 ASP 개발 분야에서 다양한 강좌와 서적 집필로 유명한 분입니다. 어떻게 지내시는지 근황이 궁금하네요. |