한 철 CBS 디지털콘텐츠국 플랫폼개발부장

[인터뷰] 한 철 CBS 디지털콘텐츠국 플랫폼개발부장

333
0

“나는 이런 일을 합니다”


한  철
CBS 디지털콘텐츠국 플랫폼개발부장


IMG_00051

“방송국의 기술, 엔지니어 파트는 매우 다양한 직무와 부서로 구성된다. 영상, 음향, 조명 등 방송제작을 바탕으로 관련 연구개발과 콘텐츠 관리, IT 시스템 및 네트워크 등 어느 한 분야라도 중요하지 않은 곳이 없다. 2023년 방송과기술에서는 다양한 방송기술 관련 직무를 살펴보고자 현직에서 담당 업무를 수행 중인 방송기술인을 만나 관련 업무와 삶, 그리고 도전에 대해 보다 입체적으로 상세히 조명해본다.”

1

간단한 자기소개
안녕하세요, CBS 디지털콘텐츠국 플랫폼개발부장 한 철입니다. 현재는 지속해서 변화하고 있는 디지털 디바이스의 발전을 관찰하며 대중이 보다 쉽게 CBS 방송 콘텐츠에 접근할 수 있는 다양한 디지털 플랫폼을 구축하는 일을 하고 있습니다. 오랜만에 자기소개를 하려니 졸업을 언제 했나부터 생각하게 되네요. 졸업 후 20년이 넘게 소프트웨어만 하고 있는데요, 남은 회사 생활도 프로그램을 개발하며 보내고 싶은 사람이라고 소개드리고 싶습니다.

현재 담당하는 업무
디지털 기기를 사용해서 방송 콘텐츠에 접근할 수 있는 플랫폼의 구축을 모바일앱 개발 정도로 생각하시는 분들이 많을 것으로 생각합니다. 하지만 드러난 빙산처럼 실제 보이지 않는 부분들도 많죠. 플랫폼 구축은 서비스하려는 업무를 소프트웨어 프로그램을 이용하여 수행한다는 개념으로 보면 UI/UX를 고려하는 ‘디자인 업무’, 이를 반영하여 사용자들이 사용할 앱을 만드는 ‘Client 모바일 개발’, 업무 데이터를 보관하고 관리하는 ‘데이터베이스 설계 파트’, 외부 데이터 수집 및 청취자들의 요청을 처리하는 ‘프로그램들(집계 프로그램 등 ) 관리’가 있고, 마지막으로 서비스 사용자들의 반응을 수집하여 분석하는‘ 데이터분석의 영역, 시스템 관리 업무’ 등이 있습니다.
제 업무는 현재 데이터베이스, 서버 프로그램, 데이터분석 이 세 가지 부분을 맡고 있고 전체 개발업무 진행 시 업무들을 조율하는 역할을 수행하고 있습니다.

CBS 플랫폼개발부 소개
CBS 디지털콘텐츠국 플랫폼개발부는 방송 콘텐츠를 모바일 플랫폼을 통해 유통하기 위한 시스템을 개발하는 부서입니다. 구체적으로는 모바일 플랫폼의 기획을 시작으로 개발 및 유지보수 업무와 데이터분석 업무를 수행하고 있습니다. 현재 플랫폼개발부의 구성인원은 모바일 앱, PC 프로그램 등의 Client 개발을 2명이 수행하고 있고, DB 및 서버 개발을 2명이 수행하고 있습니다. 하나의 모바일 플랫폼은 여러 부서의 업무와 시스템과 연결되어 있어서 방송국 내 여러 부서와 의사소통은 필수이고 중간에서 의견을 취합하여 방송 콘텐츠를 널리 알릴 수 있는 플랫폼을 개발하고 있는 부서입니다.

 

부서원들과 한 컷, 왼쪽부터 정은영 차장, 김동희 엔지니어, 한 철 부장, 이정우 엔지니어 (김광성 엔지니어는 외부일정으로 불참)
부서원들과 한 컷, 왼쪽부터 정은영 차장, 김동희 엔지니어, 한 철 부장, 이정우 엔지니어 (김광성 엔지니어는 외부일정으로 불참)

 

부서에서 업무를 수행하기 위한 필요 지식과 자세
현재 CBS 플랫폼개발부의 구성인원은 소프트웨어 개발에 대해 전혀 모르고 있던 인원들도 있고, 소프트웨어를 전공한 인원들은 아닙니다. 오히려 기술국으로 입사해 현업을 하며, 방송 엔지니어로 시작한 인원들입니다. 이런 인원들의 업무를 지켜본 제 소견은 ‘지식적인 측면보다는 자세가 중요하다’라는 것입니다. 물론, CBS 개발부의 구성원들은 방송 엔지니어로서 방송시스템이 어떻게 구성되고 운영되는지에 대해서 기본적인 지식을 보유하고 있어 이에 따른 장점을 가진 인원들입니다. 그렇지만 개발부원으로 개개인이 프로그래밍에 느끼는 업무적, 지식적 진입 장벽이 낮지는 않았을 것으로 생각합니다.

당연히 소프트웨어 개발 업무를 수행할 때 개발 언어를 잘 알고 있다면 큰 장점이 될 수 있습니다. 하지만 개발에 대한 기반 지식보다도 변화하는 기술 환경을 인식하고 능동적으로 변화하려는 자세가 가장 중요하다고 생각합니다. 이러한 업무에 있어 능동적인 자세를 바탕으로 소프트웨어 개발의 장벽을 낮추는 모습을 제가 직접 체험했으니 자신 있게 말씀드릴 수 있죠. 하지만 능동적이라는 말이 쉽기는 한데 본인 스스로 내재화하기에는 쉬운 요소는 아닌 것 같습니다.
업무를 수행하는 직원 중에는 주어진 일을 잘하는 인원도 있고 본인이 일을 만들어 나가는 사람이 있습니다. 주어진 일을 잘하는 인원들을 판단할 때 일을 잘한다는 척도는 성실성이 되겠죠. 물론 이런 방식의 업무도 당연히 필요합니다. 하지만 소프트웨어 개발 업무에서는 본인 일을 본인이 계획하고 찾아 나가는 능동성이야말로 필수적인 요소라 생각합니다. 이러한 능동적 업무 자세가 모여 현재 CBS 플랫폼개발부의 전통을 만들어 나가고 있는 후배들의 노력을 높이 평가하고 싶습니다.

능동적인 자세에 대한 추가 설명과 예
수동적이라는 것은 누구로부터 내가 해야 할 일을 받는다는 것이고, 능동적이라는 것은 내가 일을 해나가는 것이란 측면에서 차이가 있는 것 같습니다. 예를 들어 실시간 게시판 정보 표출 순서를 바꾸어 달라는 간단한 요청이 있을 경우 해당 오류를 수정하는 일은 수동적인 업무입니다. 하지만 같은 표출 순서 변경의 처리를 하더라도 현재 게시판의 전체 구조를 파악하려 노력하고 질문하며, 업무의 목표를 청취자에게 좀 더 도움이 되는 방향으로 생각하고, 좀 더 좋은 의견도 제시하는 업무 방식으로 진보된 개선을 하는 것이 능동적인 업무 처리라 할 수 있을 것 같습니다.
이렇게 본인의 업무로 만들어 능동적으로 처리를 하게 되면 누구보다도 업무를 빨리 파악할 수 있게 되고 기능 하나에도 아이디어들을 만들어 내는 생산성을 갖고 일을 하는 것이니 엄청난 차이라고 생각합니다.

IMG_0029

 

출근 후 일과
오전에 출근하면 기계적으로 고객센터에 접수된 서비스 불만 사항을 확인합니다. 문제점이나 고객 제안을 검토한 후 간단한 스탠딩 스크럼 회의를 진행합니다. 매일 간단한 스크럼 회의를 통해 각 파트에서 문제가 되는 상황을 판단하여 보다 좋은 아이디어를 적용하기도 합니다. 짧기는 하지만 하루에 진행할 업무 협조나 각자 도움을 줄 수 있는 방법을 찾는 중요한 시간입니다.
구성원들이 한해의 중점 사항에 대해 큰 줄기를 이해하고 있고 매주 주간 회의를 통해 이번 주 업무에 대해 스스로 인지하고 있으므로 각자 개발 스케줄은 본인이 맡아서 하고 저는 일정만을 확인하고 있습니다. 그런 후 제가 맡은 개발 항목들을 진행하는데 앞에서 말씀드렸다시피 주로 데이터베이스나 서버 프로그래밍, 시스템 관리 업무 등을 진행하고 있습니다. 가장 우선이 되는 앱 개발이나 타 개발과 연관되어 있는 부분부터 최우선 순위로 개발하고 있으며, 이 이외에도 방송 제작 부서와의 업무 미팅, 외부 업체 프로그램에 대한 미팅에 참석하는 일정을 소화해 나가고 있습니다.

나만의 업무 노하우
글쎄요, 특별한 업무 노하우는 없다고 생각합니다. 다만 회사와 소비자에게 도움이 되는 방향으로 명분을 세우고 그 명분을 공유하여 부서에서 나아갈 방향을 동일하게 만드는 작업부터 진행합니다. 그렇게 되면 나아갈 방향에 대해 부서원들이 모두 알고 있기 때문에 제가 모든 부분에 직접 관여하지 않더라도 완성된 결과물을 산출할 수 있게 됩니다. 인원이 적은 부서이지만 모든 부서원이 능동적으로 일할 수 있을 경우 10명 이상으로 구성된 조직과 유사한 생산성을 얻게 됩니다. 즉, 소프트웨어 개발은 주어진 일을 잘하는 것이 목적인 조직이 아니라 능동적으로 생각하며 새롭게 도움이 되는 일을 한다는 생각을 바탕으로 하는 것이 가장 중요하다고 봅니다.

최근 인상적이었던 프로젝트
쉽게 몇 번의 수정만으로 완성된 소프트웨어보다는 좀 힘이 들어야 인상적이고 기억에 남는 것 같습니다. 가장 최근 2022년에 진행한 라디오 모바일 앱인 ‘레인보우 리모델링 프로젝트’에서 고생했던 기억이 있습니다. 10년 이상 개편 없이 일부 기능 수정만으로 서비스하던 기능들을 서버와의 의사소통 규칙부터 모든 부분을 수정하여 개발한 프로젝트였습니다. 그러다 보니 신규 기능들이 많이 포함되고 디자인도 바뀌는 한편, 개발툴들도 모두 바뀐 상황이었습니다. 특정 부분만 바뀌어도 Side Effect가 발생하는데, 모든 부분을 바꾸었으니 한 번에 정상적으로 동작할 수가 없었죠. 청취자분들의 불만은 고객센터에 계속 쌓여만 가고 정말 회사 나오기 힘들었던 시기였습니다. 고생은 했지만 레인보우 프로젝트를 통해 얻은 부분도 많았습니다. 어떻게 위험 요소들을 관리해 나가야 하는 부분에 대해 좀 더 자세히 검토할 수 있게 되었고, 청취자들의 요구와 반응을 좀 더 얻으려고 하는 개발부원들의 적극적인 자세 등이 저희 개발부에 남은 재산인 것 같습니다.

 

업무 스트레스를 해소하고자 찾았던 북한산
업무 스트레스를 해소하고자 찾았던 북한산

 

에피소드나 기억나는 일
개발 시에는 항상 에피소드가 있고 기억에 나는 일이 있지만 역시나 가장 최근의 일이 명확히 기억이 납니다. 개발 언어를 개편하면서 겪은 에피소드들이죠. 몇 년 전부터 CBS 플랫폼개발부는 생산성 향상을 위해 모든 모바일 디바이스에 공통으로 적용할 수 있는 개발툴로의 전환을 계획했었습니다. 새로운 개발 언어의 후보로 React Native나 Flutter를 선정해 CBS에 맞는 언어를 채택한 것이 지금 사용 중인 Flutter를 이용한 개발 방식이었습니다.
안드로이드, 애플, PC 프로그램 등을 하나의 개발 언어를 사용하여 개발한다는 개념이고 성공만 한다면 많은 장점이 있으리라 생각했습니다. 그래서 모든 개발자에게 새로운 개발 언어의 학습을 요구하였고 현재는 부서원 한 명이 부재중이라 하더라도 문제 발생 시 다른 개발자가 대신 수정도 가능하게 되었으며, 난해한 문제에 대해 서로 의논하여 좋은 방법을 찾아낼 수 있는 환경을 만들었습니다.

하지만 실제 전환을 하면서 또 다른 어려움을 겪은 것도 사실입니다. React Native나 Flutter의 경우 안드로이드, 애플, PC를 공통 지원할 안정된 SDK(Software Development Kit)를 모두 보유하고 있지 않습니다. 즉, 3rd Party 라이브러리들을 사용해야 하는데 이 라이브러리들이 모바일 OS Update 시마다 문제를 일으킨다는 것입니다. 오히려 Native 개발 언어로 개발할 때보다 빈번히 배포해야 할 요소들이 증가한 것이죠. 그럼에도 일반적인 로직은 한 번만 구현하면 모든 디바이스에서 동일하게 동작해서 현재 단점보다 장점이 많다고 느끼고 있습니다. 지난 한 해 많은 질책을 받았지만 개발 환경의 변화는 플랫폼개발부의 미래를 생각할 때 잘한 결정이라고 생각하고 있습니다.

소프트웨어 직무의 현실적인 어려움과 보람
소프트웨어, 이름은 소프트한데 업무로써는 절대 부드럽지 않죠. 가변적인 상황이 너무 많은 부분이 어려움이라고 할 수 있습니다. 업무의 가변성 외에도 시스템의 가변성도 큰 부분입니다. 우리가 안드로이드, 아이폰과 같은 기기에서 동작하는 소프트웨어 프로그램을 만든다면 안드로이드와 아이폰의 SDK를 사용해야 합니다. 이런 디바이스별 SDK는 지속해서 변화합니다. 1년에도 몇 번씩 변화가 이루어지기 때문에 계속 프로그램을 고쳐야 하는 상황이 발생합니다. 이 이외에도 복잡하고 큰 시스템의 경우 외부 시스템과 연결되어 있다면 외부 시스템의 변화로 인하여 프로그램을 수정해야 하는 상황도 발생합니다. 사용자 수의 많고 적음에 따른 서버의 성능에도 프로그램 수정 상황이 발생하며, 통신사의 네트워크 상황에 따라서도 영향을 받는 게 소프트웨어 프로그램입니다. 즉, 소프트웨어는 개발 후 그대로 둔다면 점차 소멸하여 나중에는 동작하지 않게 됩니다. 소프트웨어 공학에서도 개발 비용보다 유지보수 비용을 크게 잡을 수밖에 없다고 이야기를 하고 있습니다. 이렇게 계속 관리해 주어야 한다는 점이 현실적 어려움이라 할 수 있습니다.

반면에 인간의 사고, 즉 알고리즘에 의해 자유롭게 산출물을 만들어 낼 수 있다는 점이 개발자들에게 주어진 특혜라고도 말할 수 있겠네요. 좋은 알고리즘으로 많은 사람이 좀 더 간편하고 시간을 절약해주는 프로그램을 개발하는 것은 에너지 소비를 줄이고 세상을 좋게 만드는 일에 조금은 일조한다고 볼 수 있습니다. 이런 부분이 소프트웨어 개발자가 느끼는 보람된 부분이라고 할 수 있을 것 같네요.

플랫폼개발부가 바라는 미래
기술 발전에 따른 환경이 방송이라는 특화된 시스템을 흔들고 있는 현실입니다. 이러한 콘텐츠의 유통 방식의 변화를 방송에서도 적극적으로 인식하고 스스로를 변화시켜야 하는 시점입니다. 이런 상황에서 소프트웨어 개발의 역할이 필수적인 요소라 생각하고 플랫폼개발부가 가장 적극적으로 변화를 이끌어야 하는 부서라 생각합니다. 즉, 플랫폼개발부는 지금까지의 개발에서 벗어나 플랫폼을 통해 획득한 데이터를 이용해 제작과 유통 현장을 연결해야 하는 책임을 느낄 수밖에 없는 상황입니다.
미래에는 모든 제작과 유통의 시작을 사용자의 의견을 바탕으로 만들어가는 생태계를 만들고 그 안에서 플랫폼개발부가 중심적 역할을 하는 모습을 상상하고 있습니다.

방송국에서 개발업무를 꿈꾸는 예비기술인들에게 전하는 말
최근 콘텐츠에 대한 변화의 방향은 제가 이야기하지 않아도 잘 알고 계실 것으로 생각합니다. OTT, 소셜미디어 플랫폼 등을 이용한 콘텐츠 유통 부분에서 플랫폼의 역할 또한 한 번쯤은 생각해보셨을 것이고요. 변화하는 방송 환경 즉, 가변성이 현재 진행형으로 나타나고 있는 곳이 방송국이라고 생각합니다. 이러한 가변성을 잘 대처하기 위해서는 소프트웨어 프로그램을 사용하는 것은 이미 필수 요소라 할 수 있습니다. 변화의 상황에 수동적으로 머물러 있지 말고 과감히 적극적으로 소프트웨어 기술을 습득하기 위해 본인에게 투자해야 할 시점이라고 생각합니다.

 

한양도성답사를 하며 도성에 대한 역사를 해설 중
한양도성답사를 하며 도성에 대한 역사를 해설 중

 

나의 취미
일만 할 때보다 잘 쉬어야 생산성이 증가하는데 저도 적극 동의하는 편입니다. 저의 개인적인 취미는 역사 공부를 하며 역사적 공간에 대한 답사 다니는 것입니다. 요즘 제가 하는 역사공부는 프로그램 개발을 시작할 때 느끼던 희열과 비슷한 느낌을 갖게 해줍니다.
프로그램에 문제가 발생하면 항상 발생한 원인이 존재하게 되죠. 대부분은 인간인 개발자의 실수 또는 환경이 바뀌었기 때문입니다. 이러한 문제의 원인을 찾아 해결하는 일이 개발자의 업무라 볼 수 있고요. 역사적 사건에도 항상 뒤에 숨겨진 일반인이 잘 모르는 원인이 있습니다. 역사학자들은 마치 개발자들이 원인을 분석하듯이 역사적 원인을 찾고 분석을 해 놓았죠. 저는 단지 복잡한 인과 관계 구조 속에서 희열을 느끼면 됩니다. 역사를 공부하고 역사적 공간을 답사하는 일이 저에게는 개발자로서 업무를 머릿속에서 꺼내어 버리고 유일하게 긴장을 풀어주는 취미입니다.

2023년도 계획 및 목표
2023년에는 보다 안정된 시스템으로 수렴할 수 있는 구조를 만들어야 하는 일이 기본이라고 생각합니다. 또한 소규모의 개발 조직으로 운영되는 CBS에는 산적한 많은 문제가 있고 그것들을 하나씩 해결해 나가야 하는 문제도 있습니다. 한 번에 큰 변화보다는 욕심부리지 않고 차근히 성실하게 한 걸음씩 나아갈 계획을 세우고 있습니다.
2023년에는 서버 프로그램의 고도화를 통해 안정된 시스템 구조로 변화시켜야 하며 콘텐츠 유통에 대한 콘텐츠 소비자들의 반응 결과를 확인할 수 있는 데이터분석 부분에 매진하는 한 해가 될 듯합니다. 감사합니다.

댓글 없음