IBM®
메인 컨텐츠로 가기
    Korea [국가변경]    이용약관
 
 
   
        제품    서비스 & 솔루션    고객지원 & 다운로드    회원 서비스    
한국 developerWorks   >  dW Interview  > developerworks

“개발자의 역량을 넓힐 다양한 경험이 중요”



이번 인터뷰의 주인공은 텍스트큐브의 추천 시스템을 개발한 이동하 님입니다. 이동하 님을 만나 데이터 마이닝과 기본기로서 컴퓨팅 기술의 중요성, 그리고 아들을 개발자로 키우고 싶은 작은 소망에 대해 들어보았습니다.

이동하 | 구글 코리아 소프트웨어 엔지니어



 
  이동하 어떤 계기로 데이터 마이닝 연구를 시작하셨나요.
당시에는 데이터 마이닝이란 이름이 아예 없었습니다. 1991년에 대학원에 진학해 인공지능 연구실에 들어갔습니다. 그 즈음 연구실에서 데이터베이스 관련 과제를 하게 되어서, 인공지능과 데이터베이스를 같이 연구하게 되었습니다. 원래 대용량 데이터베이스와 인공지능 처리 기법이 만나는 부분을 데이터 마이닝이라 할 수 있는데 그 당시에는 이름도 확정되지 않았지만 공부하다 보니 재미있었고 괜찮은 학문이었던 거죠. 처음 시작할 때는 새로운 학문 분야라고는 생각하지는 못했고 ‘연구의 최근 흐름을 공부하는구나’ 정도로만 여겼고 이것이 새로운 분야인지, 기존 것의 변형인지는 알 수 없었습니다.

현재 서비스 중인 연구 내용을 현실에 적용하셨던 게 넷스루 시절에 개발하셨던 솔루션인 것으로 알고 있습니다. 당시 이론과 실제 사이에는 어떤 차이점이 있었나요.
심하게 말하면, 대학원 시절에 만들었던 프로그램은 장난감에 비유할 수 있습니다. 장난감이 겉보기에 예쁘고 아이들이 조작할 수 있는 형태만 있으면 되는 것처럼 대학원에서 만든 소프트웨어는 논문 결과를 내고 프로젝트 결과 시연에 쓸 정도이면 됩니다. 하지만 제품으로 팔리는 프로그램은 튼튼해야 하고 돈을 받은 책임이 따릅니다. 1~2년 이상 사용해야 하고 엉뚱하고 가끔 무리한 고객 요구에 대응해야 할 수도 있고, 그야말로 전장이죠. (웃음) 그래서 학교에서 만들었던 프로그램은 다 버리고, 다시 만들어야 했습니다.

이 분야에서 일하신 지 10년 정도 되어 가는데 그 동안 눈에 띄는 변화를 꼽는다면...
데이터 마이닝 분야를 정확히 정의하기는 어렵지만, 국내외적으로 데이터 마이닝이란 용어가 널리 쓰이고 유명해졌다는 것이 지난 20년 사이의 변화 중 가장 큰 변화 같습니다. 사람들이 데이터 마이닝을 이렇게까지 중요하게 여길 줄은 몰랐으니까요. 사실은 데이터 마이닝이란 것이 요즘 논의되는 것보다 덜 중요할 수도 있다고 생각합니다. 텍스트큐브의 추천 시스템을 예로 들면 추천 시스템의 기본은 데이터베이스나 통계이고 데이터 마이닝은 그 위에 추가적인 일부분일 뿐입니다. 사람들은 통계만을 이용한 추천에 충분히 만족할 수도 있거든요. 어찌 보면 장신구 같은 것이죠. 잘 어울리는 옷, 구두와 머리 치장을 하고, 장신구로 마무리하는 것과 비슷합니다. 없어도 되지만, 있음으로 해서 전체를 빛나게 만드는 것이죠. 데이터 마이닝이 유명해지다 보니 분야를 가리지 않고 쓰이는 유행어가 되어 버린 느낌이 있는 건 좀 아쉽습니다. 기술적으로는 그동안 다양한 시도를 통해 거의 모든 분야에 적용될 수 있는 데이터 마이닝 기술이 개발됐다고 해도 과언이 아닙니다. 요즘은 기초과학 연구, 테러리스트 감시, 게임 등 새로운 응용 분야에 적용하려는 경향이 눈에 띕니다. 앞으로는 아주 새로운 기술이 나오기보다는 적용 분야가 더욱 다양해지거나, 대용량 분산 시스템처럼 하드웨어의 지원을 받는 연구가 이뤄지지 않을까 예상합니다.

개인의 기호나 성향을 분석하는 시스템의 경우 사생활 침해에 관한 논란이 있었는데 그러한 데이터로부터 개인 신상 정보가 노출될 위험은 어느 정도인가요.
거의 초기부터 관련된 연구가 있었습니다. 예를 들어 어느 지역에서 어떤 상품을 구매한 연령별 데이터에서 20대가 한 명뿐이라고 하면 그 20대가 누구인지는 금방 알 수 있게 됩니다. 그렇게 노출되지 않도록 가리는 기술이나 전략이 있습니다. 또, 고객 입장에서 얼마나 고민했느냐 하는 서비스 설계 능력이라고 할 수 있습니다. 다만 그런 기술이나 전략을 반영하는 데는 비용이 드는데 일부 기업들은 그 비용을 들이려 하지 않고 관련 법규가 불충분해 강하게 규제하지 못하는 문제가 있습니다..

넷스루에서 비즈니스 솔루션 성격의 소프트웨어를 개발하시다 서비스 소프트웨어 분야로 옮기신 계기는 무엇인가요.
첫 직장이 1999년에 세워진 넷스루라는 대학원 연구실 동료들과 만든 회사인데 처음에는 인터넷 서비스로 시작했습니다. ‘자동 로그인, 자동 경품 응모’ 서비스였는데 도중에 솔루션 기업으로 바뀌었습니다. 국내 시장 규모가 작아 잘 알려지지 않았지만 웹 사용자 행동 분석이나 개인화, 추천 분야에서 선두 기업으로 제자리를 찾아서 제가 자리를 옮겨도 큰 문제가 없다고 생각했고 인터넷 서비스를 배우고 싶었습니다. 당시 태터앤컴퍼니(TNC)가 시작한 지 1년 6개월쯤 됐을 때였는데 좋은 성과를 내고 있었습니다. TNC에서 블로그에 개인화, 추천 기술을 적용하려던 시기여서 함께 일하자는 제안을 받았고 6개월 이상 고민하다 옮겼습니다. 새로운 것을 많이 배울 수 있다고 생각했죠. TNC가 구글에 인수되면서 또 변화가 있었는데요. 개발이 재미있고 개발을 좋아했지만 이전 회사에는 주로 연구•기획 쪽 일을 많이 했는데 구글에서는 다시 개발에 집중해 개발자로서 다시 시작하는 셈입니다.

출강을 하기도 하셨는데 ‘똑똑한 학생들이 전산을 배우려 하지 않는다’는 이야기를 실제로 체감하셨나요.
지난 학기까지 출강을 했고 데이터베이스와 데이터 마이닝을 주로 가르쳤습니다. 타과는 잘 모르겠지만 전산과 학생들이 스스로 문제를 해결하는 능력이 떨어진 것 같습니다. 제 개인적인 생각일 수도 있지만 학원에서 주입식으로 공부하고 대학에서도 인터넷에서 자료를 찾아 대충 짜깁기해서 보고서를 제출하는 것에 익숙해서인지 실제 시켜보면 잘 못하더군요. 제가 학교 다닐 때도 잘하는 친구들은 드물긴 했지만 요즘은 더 드문 것 같고 스스로 하려는 자세가 부족해 보입니다. 3, 4학년을 가르칠 때 보면 그나마 상위권은 대기업에 인턴 등을 통해 미리 취직되어 가는데 대기업에서는 개발을 직접 하기보다는 관리를 더 많이 합니다. 그런 식으로 되다 보니 중소기업에서는 개발할 사람을 뽑지 못하고요. 대기업에 가려고 전공보다는 학점 관리나 영어 공부에 신경을 쓰거나 공무원 시험을 준비하는 학생들이 많으니, 넷스루 시절 면접을 보면 1학년 때 배우는 기초적인 내용을 모르는 개발자들이 대부분입니다. 인력 공급 왜곡으로 볼 수 있는데 ‘공생전’(http://rind.egloos.com/4757830)의 내용과 닮아가고 있다는 걱정이 됩니다. 상황이 더 나빠지면 사회 전반적으로 저질 소프트웨어를 비효율적으로 쓰게 될지도 모르고요.

모두가 이공계를 외면(?)하려는 추세와 달리 스몰토크 창시자 앨런 케이처럼 아이에게 수학•과학을 가르치는 데 관심이 많으신 이유는 무엇인가요.
아이가 수학•과학을 잘 공부해서 기초가 튼튼한 개발자가 되면 좋겠다는 바람이 있습니다. 또 제가 개발자로 사는 걸 스스로 행복하다고 생각하고 그래서 아이도 같은 길을 가면 괜찮을 것 같습니다. 고생하는 개발자가 많지만 그렇게 고생하지 않고 더 나은 길로 인생을 사는 법을 이제는 아이에게 가르쳐줄 수 있을 것 같습니다.

다행히도 아이가 수학•과학에 흥미를 느끼는 걸 보고 어떤 기분이 드셨나요.
어떤 선입견이 생기지 않도록 재미있게 배울 수 있는 분위기를 만들어 주면 아이들은 수학•과학을 좋아할 거라고 생각합니다. 제 기대보다 수학•과학을 더 좋아하는 것을 보면 뿌듯합니다.

어떤 식으로 흥미를 유도하셨나요.
그 또래에 재미있어 할 만한 책을 사다 주었습니다. 같이 놀아주기도 하고요. 예를 들어 열 마디로 된 수 막대라는 게 있는데 이걸 가지고 놀다 보면 십진수 개념을 알게 됩니다. 톱니가 있는 조립 완구를 가지고 놀면서 톱니 비율을 알려주기도 하고요. 아이들은 원래 배움에 대한 본능이 있는데 그 시기에 아주 어려운 걸로 질리게 하거나 반복 학습을 시키면 안 되죠. 제 스스로 생각한 원칙이 몇 가지 있는데 대표적인 게 초등학교 때 문제집을 사주지 않은 것입니다. 서점에 가면 초등학생들이 열심히 푸는 단계별 문제집이 있는데 그런 것을 풀면 처음에는 재미있어 할지 몰라도 아이가 나중에 수학을 반복적인 것으로 여길까봐 아예 풀지 못하게 했습니다. 대신 흥미를 잃지 않도록 수준을 봐가며 여러 가지 책을 사주었습니다. 문제 풀이보다는 개념을 이해할 수 있게 수학 동화나 교양 서적류를 사주었는데 당시 국내에 나온 책을 거의 다 훑어본 것 같습니다. 다만 두께나 가격에 비해 내용이 없고 짜깁기한 책들이 있어서 주의해 골라야 합니다. 아이가 지금도 그런 책을 재미있게 보는데 제 역할은 그 정도였습니다.

아이를 개발자로 키우시려는 계획은 어떻게 실행 중이신가요.
아이가 재미있어 하면 스스로 공부하지 않을까 생각합니다. 전에 아이에게 프로그래밍 언어를 보여줬는데 아직은 영타도 느리고 어려워서 그런지 큰 관심을 보이지는 않더군요. 그래서 나중에 배워보자고만 했습니다. 나중에 흥미를 가지게 될 때가 되면, 좋은 책이 많으니 언어나 운영체제에 상관없이 적당한 언어를 배우면 될 것 같습니다. 좋은 프로그래머가 되려면 수학•과학에 대한 기본도 필요하고, 그 외에 다양한 경험을 하는 게 중요하다고 봅니다. 수학도 단순히 계산만 하면 계산 기계가 되듯이 경험이 부족하면 생각할 줄 아는 능력이 떨어지는 것 같습니다. 평소에 다양한 것을 접하면서 생각하는 연습을 하는 게 필요합니다. 이런 연습은 나중에 개발자가 되지 않더라도 필요한 것 같고요. 그 외에 제가 어린 시절 이 분야에 관심을 갖는 데 영향을 준 것들을 아이가 경험해 보게 하고 있습니다. 요즘은 제가 어렸을 때 보던 애니메이션을 많이 보게 하는데, 그런 것들이 상상력이나 영감이 될 것이라고 기대하고 있습니다.

블로그에 '내게 필요했던 공학 교육'(http://www.kunno.net/146)이란 글을 쓰셨는데 구체적으로 어떤 내용을 생각하셨는지 소개 부탁드립니다.
지난 4월 10일에 공학 교육을 어떻게 할 것인지에 대해 고민하는 교수님들의 모임에서 그 주제로 발표를 했습니다. 사실 학생 대상 발표인 줄 알고 준비했는데 아니더군요. (웃음) ‘학생 때 어떤 생각으로 공부를 하는 것이 좋을까’하는 내용으로 준비한 발표였지만 실제 내용은 컴퓨터 공학이 재미있고 좋은 것이니 열심히 하자는 것과 여러 가지 경험을 쌓고 생각을 많이 해야 좋은 컴퓨터 공학자가 될 수 있다는 것이었습니다. 예전에는 컴퓨터 공학이 다른 분야에 비해 덜 중요한 학문이었지만 지금은 컴퓨터 공학이 마치 농경 사회의 농사 기술처럼 기본 기술이 되어 간다는 생각이 들었습니다. 이렇게 사회의 기본 소양이 되기도 하지만 한편으론 수학이나 물리처럼 컴퓨터 공학이 학문의 기본이 되는 경우도 있습니다. 최근 생물학이나 의학, 물리학, 수학의 일부 분야의 연구에서 컴퓨터 공학이 중요한 역할을 하고 있는 것이 그 예입니다. 거의 모든 분야가 자기 분야 외의 것을 많이 알고 일을 해야만 일을 잘 할 수 있는 세상이 되어가고 있는 것처럼 컴퓨터 공학도 다른 분야에 대한 지식이 많이 필요합니다. 예를 들어 제 경우 평소에 인터넷 쇼핑도 많이 하고, 마케팅에도 관심을 가지고 있는데요, 그러다 보니 인터넷 쇼핑몰의 상품 추천 시스템을 더 잘 만들 수 있었다고 생각합니다. 다양한 분야를 접하고 고민하면 더 잘 할 수 있고, 그러기에 재미있는 학문이 컴퓨터 공학이라고 봅니다.

실현(또는 구현)해 보고 싶은 개인화•지능형 서비스의 형태는 무엇인가요.
지능은 크게 두 가지에서 나옵니다. 하나는 좋은 알고리즘이죠. 데이터 마이닝이나 기계 학습 기술을 통해 구현되는 것인데 기술의 한계가 있을 수 있습니다. 또 하나는 데이터가 충분히 많으면 알고리즘이 약간 허술해도 지능적으로 보이는 경우도 있습니다. 지금은 알고리즘보다 데이터가 더 많은 시대입니다만, 이 두 가지의 균형을 잘 맞추면 뭔가를 만들 수 있을 것입니다. 지능형 시스템이 추구하는 것은 여러 가지가 있는데 5~10년 정도 시간이 주어진다면 사용자를 행복하고 편하게 해주는 지능형 시스템을 만들어보고 싶습니다. 개인을 완전히 "이해"하고, 개인 정보를 충분히 보호해 주면서도 개인이 필요한 정보를 제공하는 시스템이죠. 블로그에 한정해 본다면 제가 읽으면 좋아할 것을 미리 알려준다든지 제 글을 읽으면 좋아할 사람에게 글을 보여준다든지, 검색 결과를 더 좋게 만들어 주는 것을 예로 들 수 있습니다.

[이동하 소개] 2000년 포항공대에서 데이터 마이닝 연구로 박사 학위를 받았고, 연구실 동료들과 넷스루를 창업해 개인화 추천, 데이터 마이닝 분야의 일을 하다, 태터앤컴퍼니를 거쳐 구글 코리아의 소프트웨어 엔지니어로 있다. 블로그 서비스 텍스트큐브의 통계, 개인화 추천 시스템을 개발 중이다.



이 문서 북마킹 하기

mar.gar.in mar.gar.in naver naver eolin eolin del.icio.us del.icio.us

[지난 인터뷰 보기]



위로


뉴스레터
 
  
자바스크립트가 작동이 중지되었습니다. 이 기능을 수행하시려면 브라우저에서 자바스크립스트를 작동시켜 주시거나 이곳을 클릭해주세요.
사이트 여행

dW 커뮤니티
포럼 | 블로그 | Spaces
dW Student Community

로컬 컨텐츠

행사 및 세미나

기획 기사

개발자 입문

튜토리얼 및 교육

TOP 10 인기자료

SW 다운로드

RSS 피드


Special offers
Screencast
IBM SOA Sandbox 시험판
dW Student Community
로보코드
코드 트레이닝


    IBM 소개 개인정보 보호정책 문의