[개발人] 전병완 “변화에 민감하라”

가 +
가 -

무에서 유를 만들어내는 과정이 마음에 들었다. 고민하고, 탐구하면 그 결과물이 나오는 것도 맘에 들었다. 1990년대 중반, 닷컴 열풍이 한창 불었을 때다. 고등학교 3학년 담임선생님은 앞으로 전산학과가 유망할 것으로 보이니 해당 학과로 진로를 정하는 것도 나쁘지 않다고 하셨다. 전병완 솔박스 솔루션개발본부 과장이 개발에 발을 들이게 된 계기는 이처럼 밋밋했다.

“그 당시엔 치킨 수렴 공식이 없었을 때였습니다. 컴퓨터를 다루는 직업에 대한 관심이 어마어마했지요. 키보드를 가지고 무언가 뚝딱 만들어내는 과정이 매력적으로 다가왔습니다. 교양과목보다 전공과목이 훨씬 재미있게 느껴졌을 정도니까요.”

전병완 과장이 학창시절을 보냈던 2000년대는 국내에 닷컴 열풍이 한창 불 때였다. 당연히 컴퓨터를 다루는 학과에 대한 인기가 높았다. 이 당시 전산학과를 공부한 이들이 닷컴 주역으로 불리기도 한다. 학과 생활 내내 전공과목을 파며 개발자의 꿈을 키우는 이들이 많을 때였다. 전병완 과장도 그 중 하나였다. 그는 아주 자연스럽게 발을 들이고, 자연스레 개발에 빠졌다.

solbox dev

# 리눅스 개발자에서 스트리밍 개발자로

“전 리눅스에 빠져 있었습니다. 이와 관련된 시스템 프로그래밍을 하고 싶었거든요. 근데, 제가 졸업할 당시 대부분 기업에서는 윈도우나 PHP를 다루는 개발자를 선호하더군요. 이때부터였을 거예요. 멀티미디어에 관심을 가지고 스트리밍 분야 개발을 하게 된 게.”

전병완 과장이 졸업할 무렵 촬영용 디지털 비디오 레코드(DVR)를 개발하는 한 업체에서 리눅스 개발자를 찾았다. 그 회사 개발 플랫폼이 리눅스였기 때문이다. 전병완 과장은 처음엔 리눅스에 끌려 회사에 입사했다. 그러나 아무래도 DVR를 다루는 업체인만큼 리눅스 외에도 영상을 압축하고 저장하고 재생하는 기술을 터득해야만 했다. 자의 반 타의 반 멀티미디어를 다루는 기술을 배우다보니, 스트리밍 기술에 관심이 생기기 시작했다.

“사실 리눅스와 스트리밍은 직접적인 관계가 없습니다. 리눅스는 그냥 하나의 언어로, 도구에 불과하지요. 근데 관심이 생겼어요. 멀터미디어 분야는 데이터가 실제로 얼마나 이동하냐는 정량적인 분야 외에도, 멀티미디어가 얼마나 잘 재생되는가 하는 정성적인 분야도 함께 배워야 합니다. 디지털과 아날로그 기술 모두 알고 있어야 하지요. 이 부분에 흥미가 생기더라고요.”

졸업 후 첫 직장에서 전병완 과장은 어떤 언어를 다루는 개발자가 될 것이냐보다는, 어떤 분야를 다루는 개발자가 되는 게 더 중요하다는 걸 배웠다. 처음엔 리눅스 프로그래머로 시작했지만, 다양한 플랫폼을 배우고 경험하는 것도 나쁘지 않다고 생각했다. 리눅스, 윈도우 운영체제를 접하고 C, C++, 자바와 같은 프로그래밍 언어를 접하면서 점점 이 환경 위에서 작동하는 스트리밍 분야 기술에 대한 욕심이 생겼다. 이 일을 계기로 전병완 과장은 인코더, 플레이어, 스트리밍 서버와 관련된 분야로 진로를 좁혔다.

“2000년대 초반 IPTV 얘기가 나오면서 이와 관련된 기술이 유망하다고 얘기가 나온 것도 제가 스트리밍 분야 기술에 관심을 보이게 된 데 한몫했지요. 그리고 전 멀티미디어가 촉각과 후각, 미각을 제외한 모든 감각을 동원하는 도구를 다루는 기술이라고 생각했어요. 이를 제대로 전달하면 얼마나 강력한 도구가 할까 하는 생각도 있었고요.”

# 막노동이 시작되다

배움의 과정은 쉽지 않았다. 스트리밍 분야는 웹을 제외하고 가장 많은 변화가 일어나는 분야다. 단순히 동영상을 전달하기는 기술에서 그치지 않았다. 스마트폰이 등장하면서 iOS, 안드로이드, 윈도우폰 등 다양한 기기 조건도 만족시키면서 원활하게 스트리밍 서비스를 제공해야 하는 문제도 생겨났고, 동시에 태블릿과 PC 등 다양한 사용자 환경을 충족시켜야 하는 문제도 불거졌다.

“N스크린의 등장이었지요. 사실 스트리밍은 어떻게 하면 멀티미디어 콘텐츠를 잘 전달해 줄 것인가에 중점을 둔 기술이 많습니다. 문제는 이 안에 자막이나 접속자 제한과 같은 부가 기술도 함께 녹아들어 있다는 데 있지요. 스트리밍은 기기 종류에 따라 변하기도 하니까 살펴봐야 할 부분이 많습니다.”

전병완 과장 설명에 따르면 기기 하드웨어 사양에 따라 스트리밍되는 방식이 제각각이라고 한다. 기기에 사용되는 칩도, 펌웨어도 다르기 때문이다. 그렇기에 스트리밍 기술을 공부하려면, 이 모든 기기를 체험하는 경험이 가장 중요하다고 한다. 시험할 기기를 정하고, 해당 기기에서 직접 멀티미티어 콘텐츠를 감상하면서 어떤 문제가 일어나는지 습득해야 한다는 얘기다.

“물리적으로 반드시 실험을 거쳐야 합니다. 스트리밍은 다운로드 기술과 달리 실시간으로 멀티미티어 콘텐츠가 전송되는 기술이기에, 반드시 해당 콘텐츠가 재생되기까지의 모든 과정을 체험해야 하지요. 가끔은 SK텔레콤이나 KT 기기 체험관에 가서 실험하기도 합니다.”

전병완 과장은 이 과정을 ‘막노동’이라고 표현했다. 그만큼 손이 많이 가는 물리적 노동이란 뜻이다. 솔박스는 현재 동영상 콘텐츠 재생 서비스인 ‘푹(pooq)’의 스트리밍 서비스를 맡고 있다. 전병완 과장은 이 서비스를 위해 사무실 벽 한쪽을 모니터로 가득 채워 각 채널별로 영상이 제대로 전송되고 있는지 확인한다.

“물론 사용자들이 많이 체험하는 기기를 대상으로 우선 실험하는데, 아무래도 힘들지요. 그렇지만 어쩌겠어요. 사용자들이 가장 많이 접하는 서비스이기도 한데 말이지요. 가끔은 단말기가 아니라 콘텐츠를 만드는 도구에서 문제가 생길 때도 있습니다. 인코더부터 서버와 플레이어까지 모두 살핍니다.”

디버깅 시, 디버깅 도구로 어떤 변수의 문제를 찾아내는 것과 달리 스트리밍 기술 분야는 로그도 실시간으로 살펴봐야 하고, 전송되는 데이터도 실시간으로 비교해봐야 하고, 어쩔 땐 실제로 영상을 감상하면서 문제점을 찾아내야 한다. 영상이 어떤 환경에서 끊기는지, 소리와 영상이 분리되는 현상은 안 일어나는지, 소리만 전달되는 경우는 없는지 등을 말이다. 현존하는 수만가지의 기기를 일일이, 그것도 다양한 상황을 가정해 실험해야 한다. 말로만 듣기에도 쉬운 일은 아닌 듯하다.

“스트리밍 업계쪽 일을 하고 싶다면, 딱 한 가지를 주문하고 싶군요. 변화에 민감해야 합니다. 바이블이 아닌 튜토리얼을 보면서 대강의 흐름을 알고 그때마다 융통성을 발휘해 적용할 수 있는 능력이 중요합니다. 이 분야 공부하고 싶은 개발자라면 말이지요.”