[공개SW 개발자 인터뷰/서주영 구글 매니저] "코딩도 소통... SW 실력 늘려면 공개SW 활동해야"
"코딩도 소통... SW 실력 늘려면 공개SW 활동해야"
구글서 근무 서주영 매니저 조언
방은주/지디넷코리아 솔루션 팀장/ejbang@zdnet.co.kr
구글의 유명한 인공지능(AI) 소프트웨어 '텐서플로'는 140만 개가 넘는 소스코드로 구성돼 있다. 특히 '텐서플로' 탄생에는 공개SW(오픈소스 SW)에서 활동하는 1300명이 넘는 컨트리뷰터(코드 수정권자)가 있어 가능했다.
만일 텐서플로를 독자 개발했다면 400년 넘는 시간이 걸렸을 것이다. 그만큼 공개SW는 중요하다. 최근 IBM이 40조 원이라는 세계SW업계 사상 최고가를 제시하며 레드햇을 인수한 것이나, 지난 6월 마이크로소프트(MS)가 약 8조 원에 깃허브를 인수한 것도 공개SW가 탐이 났기 때문이다. 올해 탄생 20년을 맞은 공개SW는 이제 세계 어디서나 사용하는 '큰 존재'로 성장했다.
"소프트웨어(SW) 개발 실력을 높이는 방법이요? 오픈소스 컨트리뷰션(기여 활동)을 하면 됩니다. 세계의 수많은 고수들한테 '코드 리뷰'를 받다 보면 개발 실력이 자연스럽게 올라갑니다. 영어 실력도 늘고요. 구글 같은 글로벌 IT기업에서 '잡 오퍼(취업 제의)'도 받을 수 있습니다. 실제로 제가 그랬습니다. 오픈소스 컨트리뷰션을 하면서 개발 실력이 크게 늘었고, 지금 구글에서 일하고 있는 것도 오픈소스 덕분입니다."
서주영 씨는 미국 구글에서 일하고 있는 개발자다. 삼성전자에서 일하다 구글에서 제안을 받고 이직했다. 그는 12살 때인 초등학교 6학년 때부터 개발을 했다. 이후 "천직이 개발"이라며 딴 데 눈길을 돌리지 않았다. 최근 비즈니스 업무차 한국을 찾았다.
"오픈소스를 만나기 전까지 꽤 실력이 좋은 개발자인 줄 알았습니다. 하지만 착각이었습니다. 나는 우물 안 개구리였고, 오픈소스 때문에 새로운 개발 세상에 눈을 떴습니다." 서주영 씨는 모든 개발자는 '코드 리뷰'를 받아야 한다고 강조했다. 아울러 "좋은 개발자가 되려면 소통을 잘해야 한다"고 덧붙였다. 아래는 그와의 일문일답.
현재 유튜브에서 하고 있는 일은 무엇인가요?
유튜브에서 개발한 오픈소스 애플리케이션 플랫폼인 '코발트'를 세계에 확산시키는 일을 하고 있다. 유튜브 산하 '리빙룸 파트너 엔지니어링'팀에 속해 있다. 팀원은 나를 포함해 8명이다. 이중 두 명이 한국인이다. 나 외에 다른 한 명은 한국에서 일한다.
스마트 TV와 셋톱박스, 게임 콘솔, IPTV, OTT 박스, 블루레이 디스크 플레이어 등 거실(리빙룸)에 있는 전자기기에 코발트를 탑재하는 일을 한다. 공식 직책은 시니어 파트너 테크놀로지 매니저다. 우리나라로 치면 부장급이다.
구글에 입사한 지는 3년 7개월 정도 됐다. 그동안 한국에서 일하다 최근 미국으로 옮겼다.
구글에 가기 전 한국에서는 어떤 일을 했나요? 그 일 때문에 오픈소스 세계에 발을 들여놓았다고 하던데요.
삼성전자 SW센터에서 일했다. 삼성 등이 관여하고 있는 오픈소스인 '타이젠(Tizen)'의 개발을 담당하는 테크니컬 리더로 일했다. 애초 '타이젠'의 명칭은 삼성리눅스플랫폼(SLP)이었다. 2011년에 삼성이 인텔과 같이 이를 오픈소스화하면서 '타이젠'이라고 명칭이 바뀌었다. 구글에 오기전에는 한국에서 타이젠의 UI 프레임워크를 담당했다. 이 일을 하면서 오픈소스 세계를 알게 됐다. 지금은 오픈소스의 열렬한 지지자다.
한국인 최초로 오픈소스인 '인라이튼먼트/EFL(Enlightenment/EFL)'의 커미터에 선정됐다고 들었습니다. 좀 더 자세히 설명해주세요.
'인라이튼먼트'는 오픈소스 윈도 매니저다.
1996년에 만들어졌다. EFL은 Enlightenment Foundation Libraries의 약어로 인라이튼먼트를 지원하는 SW다. 약 30개 정도 라이브러리로 구성돼 있다. 인라이튼먼트보다 5년 후인 2001년에 나왔다. 삼성에서 EFL를 관리하며 개발했다.
EFL을 만든 사람이 '칼슨 하이츨러(Carsten Haitzler)'라는 독일계 호주인이다. 그는 최근까지 삼성전자에서 근무했고, 지금은 ARM이라는 회사에서 일하고 있다. 개발을 하다 보면 코드를 자주 고쳐야 하는데, 하이츨러에게 자문을 구했다. 그가 나에게 오픈소스를 알려주었다. 회사 내에서만 코드를 고치지 말고 고친 걸 공개SW에 올리라고. 그러면 개발 기간을 단축할 수 있는 등 많은 이점이 있다고 했다. 개발을 초등학교 6학년 때부터 해왔지만 이전까지만 해도 오픈소스에 대해 잘 몰랐다. 하이츨러 덕분에 오픈소스와 인연을 맺게 됐고, 오픈소스는 새로운 세계였다.
오픈소스에 매력을 느껴 열심히 활동을 하다 보니 커미터가 됐다. 2011년 2월 10일이다. 2월 10일이 내 생일이기 때문에 날짜까지 기억한다. 당시, 여자친구(지금의 아내)를 만나러 가는 퇴근 버스 안이었다. 커미터로 추천되고 수락되는 과정을 IRC(채팅창)로 지켜봤다. 날아갈 듯 기뻤다. 당시 나는 오픈소스에 미쳐 있었다. 잠자는 시간 4시간을 제외하곤 오픈소스만 생각했다. 당시 나 혼자만 커미터가 된 게 아니다. 타이젠팀에서 같이 일하던 박춘언이라는 친구도 같이 커미터가 됐다. 정확히 말하면 인라이튼먼트 커미터가 된 최초 한국인 중 한 명인 거다. (웃음)
인라이튼먼트 커미터 활동을 2016년까지 열심히 했고, 지금은 인라이튼먼트 보다 구글의 '코발트'를 확산하는 일에 매진하고 있다.
어떻게 개발자의 길을 걷게 됐나요? 초등학교 때 이미 게임 프로그램을 짤 정도였다고 하던데요.
초등학교 6학년인 1992년에 개발을 처음 시작했으니 한 25년 정도 된 거 같다. 어느 날, 친구가 잡지에 난 프로그래밍 페이지를 찢어와 같이 만들어보자고 했다. 그게 개발의 시작이었다. 그 친구랑 독학하며 프로그램을 배웠다.
텍스트로 된 게임을 만들어 친구들한테 주기도 했다. 친구들이 좋아했다. 내가 만든 SW를 다른 사람이 재미있게 쓰다니, 이게 너무 재미있고 신기했다. 그래서 초등 6학년 때 내 진로를 정해 버렸다. 이후 한 번도 바뀐 적이 없다.
중학교 때도 계속 프로그램 공부를 했다. 고등학교 때는 대학 입시 때문에 잠시 소홀했다. 대학(아주대)에 들어가 컴퓨터공학을 전공하면서 물 만난 고기처럼 신나게 SW와 놀았다. 석사도 컴퓨터로 했다. 대학 다닐 때 홈페이지 제작이 유행이었는데 아르바이트로 웹 개발을 하면서 돈도 많이 벌었다. 학비를 하고도 남을 정도였다. 그때 만든 솔루션이 쇼핑몰 제작 SW였다. 당시 창업은 생각하지 못했다. 지금 돌아보면 후회가 된다. 한살이라도 젊고, 혼자일 때 창업을 했어야 하는데, 지금은 가족이 있어 하라고 해도 못한다. (웃음)
개발자와 오픈소스는 어떤 관계가 있나요? 개발자들이 왜 오픈소스 커뮤니티 활동을 해야 하나요?
무엇보다 개발 실력을 높일 수 있다. 나는 초등학교 6학년 때부터 코딩을 했다. 그래서 개발을 잘하는 줄 알았다. 하지만 착각이었다. 우물 안 개구리였다. 이를 오픈소스 커뮤니티 활동(이하 ‘오픈소스 활동’)을 하고 나서야 알았다. 오픈소스 활동을 해보니 나보다 실력 좋은, 대단한 개발자들이 차고 넘쳤다. 인라이튼먼트를 만든 하이츨러가 대표적이다.
오픈소스를 몰랐다면 이걸 지금도 몰랐을 거다. 나보다 잘하는 사람한테 코드 리뷰를 받고, 때로는 공격도 당하며 자문을 받으니 실력이 늘 수밖에 없다. 좋은 게 또 있다. 오픈소스 활동을 열심히 하다 보면 유명한 기업에서 잡 오퍼를 받는 경우도 있다. 나도 그런 경우다. 내 오픈소스 활동을 보고 구글에서 연락이 왔다. 자연스레 영어가 느는 것도 오픈소스 활동의 장점이다.
오픈소스와 코드 리뷰는 어떤 관계가 있나요?
'코드 리뷰'는 쉽게 말하면 고수 개발자한테 받는 공짜 '코딩 과외'다. 이걸 안 할 이유가 있나. 코드 리뷰를 해야 개발 실력이 늘어난다. 코드를 실제로 짠 고수 개발자가 코치해주니 실력이 좋아진다. 나도 코드 리뷰를 통해 많이 배웠다. 이 세계에 나이 많은 사람이 꽤 된다. 열정도 대단하다. 이들한테 받는 자극도 오픈소스의 또 다른 묘미다.
보통 코드 리뷰는 코드를 올리는 데서 끝나는 게 아니다. 왜 그렇게 짰는지 설명을 해야 하고, 반박이 들어오면 이에 대응도 해야 한다. 이런 과정을 통해 개발 실력과 영어가 늘어난다.
정말 실력이 뛰어난, 내가 죽을 때까지 못 따갈 것 같은, 세드릭 바일이라는 동갑내기 프랑스 친구가 있다. 어느 날 이 친구에게 창피를 무릅쓰고 "너는 어떻게 그렇게 개발을 잘하냐"고 물은 적이 있다. 그 친구는 17살부터 오픈소스 활동을 했다고 하더라. 나는 30살 때부터 했다. 나보다 13년이나 먼저 오픈소스 활동을 했다. 오픈소스 활동을 하면 좋은 코드를 볼 수 있는 '보너스'가 있다. 프랑스 친구는 나보다 13년이나 먼저 '좋은 코드'를 보고, 연마했다. 그 격차가 클 수밖에 없고, 내가 죽을 때까지 그 친구를 따라가지 못하는 이유다.
주니어 개발자들이 가장 빨리 성장하는 방법도 코드 리뷰라고 생각한다. 나는 모든 개발자들이 코드 리뷰를 받아야 한다고 생각한다. 모든 코드는 리뷰가 필요한 것이다. 특히 공개SW는 수많은 사람이 코드를 보내기 때문에, 코드를 리뷰를 하지 않으면 안 된다. 질 나쁜 코드가 섞일 수 있기 때문이다. 코드 리뷰를 위한 툴도 있다.
코드 리뷰가 그렇게 중요하면 어릴 때부터 의무적으로 하게 하면 어떤가요? 또 코드 리뷰 시 주의점은 없나요?
한살이라도 젊을 때 코드 리뷰를 받는 게 좋지만, 그렇다고 과목에 넣어 의무화하는 건 반대한다. 사교육 시장 형성 등 부작용이 생긴다. 하지만 대학교는 다르다. 본인이 과목을 선택할 수 있다. 대학생 개발자들은 하루라도 빨리 코드 리뷰를 해야 한다.
오픈소스 숫자가 엄청나다. 하지만 잘 관리되는 곳은 많지 않다. 리뷰가 잘되고 잘 돌아가는 오픈소스에서 코드 리뷰를 받아야 한다. 아무래도 기업들이 운영하는 오픈소스는 관리가 잘 된다. 오픈소스를 모아놓은 깃허브에서 별점이 많은 곳을 택하는 것도 한 방법이다. 간혹 공모전에서 상을 받은 오픈소스가 버려지는 경우가 있다. 이는 상을 받기 위한 오픈소스로, 이런 건 지양돼야 한다.
오픈소스는 세계에 총 몇 종이나 있나요? 또 한국인이 창안해 유명한 것도 있나요?
오픈소스의 총합은 무제한에 가깝다. 오픈소스가 세계에 몇 개 있는지는 아무도 모른다. 누구나 만들어 공개하면 그게 오픈소스다. 초등학생도 만들 수 있는 게 오픈소스다.
물론 초등학생보다 더 어린 사람도 만들 수 있다. 계량이 불가능하다. 한국 사람이 만든 유명한 오픈소스가 '제플린'이다. 빅데이터를 다루는 솔루션이다. 구글과 트위터, 넷플릭스도 쓰는 오픈소스다.
'세계 톱 20' 오픈소스에 들어간다. 이문수라는 분이 만들었다. 이외에 네이버 클러버팀에서 일하는 김성훈(성킴) 홍콩 과기대 교수님도 이 세계에서 유명하다. 김 교수님 강의는 머신러닝을 공부할 때 누구나 들어야 하는 강의다. 김 교수님도 자기만의 오픈소스를 많이 만들었다. 윤진석이라는 분도 세계적으로 유명한 오픈소스 개발자다.
내가 만든 오픈소스도 있다. 인라이튼먼트와 깃허브에 있다. 하지만 일반적으로 쓰는 건 아니고, 나만 쓰는 것 같다. (웃음)
사회가 복잡해지면서 소통과 공감이 점점 중요해지고 있습니다. 개발자도 같지 않나요?
혼자 개발하는 프로젝트가 요즘은 거의 없다. 소통과 커뮤니케이션이 안되면 좋은 SW나 제품을 만들 수 없다. 소통을 못하는 한 명의 개발자 때문에 프로젝트가 와해될 수도 있다.
코딩도 일종의 소통이다. 다른 사람이 이해할 수 없는, 나만의 코드를 짜면 안 된다. 수많은 사람이 코드를 같이 짜는데 컨벤션(지침)을 따르지 않으면 안 된다. 개발자들끼리의 소통은 물론 협업하는 다른 팀과의 소통도 중요하다.
우리나라 개발자들이 오픈소스에 기여하려면 영어를 좀 해야 합니다. 영어 문제는 어떻게 극복했나요? 비결을 알려주세요.
언어 문제 때문에 우리나라 개발자가 가치를 덜 인정받는 건 맞다. 한국에서 3년간 일한 외국인 내 친구도 그런 말을 했다. "한국 개발자들은 실력이 좋은데 영어 때문에 실력만큼 알려지지 않은 것 같다"고 하더라.
오픈소스 활동을 하다 보면 영어가 느는 게 사실이다. 하지만 저절로 느는 건 아니다. 전략적 접근이 필요하다.
나는 욕을 먹어도 자신 있게 접근했다. 영어 때문에 스트레스받지 말고 그냥 써라. 또 하나 중요한 건, 개발자들이 쓰는 문장이 한정돼 있고, 패턴이 있는데, 이걸 갈무리해 응용하면 좋다. 나도 남의 메일에 있는 좋은 문장을 통째로 가져와 활용했다. 그러다 보니 실력이 늘었고, 점점 더 좋은 문장을 찾게 됐고, 이것이 선순환이 되면서 개발과 영어가 동시에 늘었다.
방향을 잘 잡고 전략적으로 학습하는 게 중요하다. 코드 리뷰도 마찬가지다. 코드 리뷰를 받으면 틀린 부분을 정리한 나만의 오답노트를 만드는 것도 한 방법이다. 물론 스피칭은 다른 문제다.
어떻게 글로벌 오픈소스 SW엔지니어가 됐나요?
오픈소스 SW엔지니어 앞에 글로벌이라는 말을 붙이는 게 불편하다. 오픈소스는 자체가 국적이 없는 SW다. 글로벌 개발자가 되겠다고 마음먹어서 된 게 아니다. 오픈소스 세계에서는 내가 올린 코드를 브라질이든 아프리카든 세계 누구나가 보고 리뷰, 피드백을 해준다. 알림창에 어떤 나라 개발자가 갑자기 "우리 냉장고에 EFL이 들어가 있다"고 하고, 또 어떤 개발자는 "우리 내비게이션에 EFL이 들어가 있다"고 한다. 이런 내용을 보며 희열을 느꼈고, 점점 오픈소스에 빠져들었다. 오픈소스 활동을 한참 할 때는 자는 시간 4시간을 제외하고는 오픈소스에 빠져 살았다. 그러다 보니 인정을 받게 된 거다.
구글은 우리나라와 개발 문화가 어떻게 다른가요?
구글은 오너십, 즉 책임과 권한이 개발자에 많이 있다. 한국과 달리 시키는 일만 하지 않는다. 우선순위를 자기가 정할 수 있고, 자기가 원하는 코드를 짤 수 있다. 한국은 그렇지 않다. 시키는 일을 먼저 해야 한다. 그러면 좋은 코드를 짤 수 없다. 한국은 급하게 "이거 오늘까지 해달라"고 한다. 이러면 코드 질(퀄리티)이 떨어진다.
구글에 들어와 놀란 또 하나는 소통 문화다. 커뮤니케이션 문화가 오픈소스와 같다. 메일링 리스트 같은 팀메일을 개발팀만 보지 않는다. 개발팀뿐 아니라 비즈니스와 법무 등 모든 부서가 공유하고 사용한다. 메일을 개인뿐 아니라 팀 단위로 주고받는다. 같은 팀 안에서도 둘만 공유하는 게 아니라, 좋은 정보는 팀 메일로 공유한다. 같은 팀 내, 또 다른 팀 간 정보 공유가 매우 잘 된다.
공개SW 프로젝트를 성공시키려면 무엇이 필요할까요?
성공을 어떻게 정의하는냐에 따라 다를 것 같다. 정부와 개인이 생각하는 성공이 다르다. 무엇보다 코드 퀄리티가 좋아야 한다. 이를 위해서는 오픈소스 활동을 통해 실력을 키워야 한다. 커뮤니티를 활성화하는 것도 중요하다. 코드를 올려도 누가 리뷰를 안 하면 안 되니 소통도 잘 해야 한다. 코드는 사람을 끌어들이는 수단일 뿐이다. 그 안에서 일어나는 활발한 활동은 또 다른 문제다. 코드로 모였지만, 리뷰와 디스커션이 활발히 일어나게 관리를 잘 해야 한다.
우리나라가 공개SW에 더 많은 기여를 하려면 어떻게 해야 할까요?
우선 공개SW를 왜 해야 하는지를 지속적으로 알리는 홍보와 이벤트가 필요하다.
해커톤도 그중 하나지만 가장 좋은 건 현재 정보통신산업진흥원(NIPA)의 공개SW개발자센터에서 진행하는 '글로벌 오픈프론티어 프로그램'처럼, 지금 공개SW에 기여하는 사람들을 적극 지원해주는 거다. 기여에 참여하고 싶은데 생업 때문에 못하는 개발자들도 있는데, 이런 사람들을 지원해줘야 한다. 이들을 해외 콘퍼런스에 보내 성공사례를 발표하게 하고, 또 이것이 기사화되는 등 이런 선순환 노력이 필요하다.
NIPA 공개SW역량프라자에서 마련한 지금 이 자리처럼 다양한 사례를 통해서 공개SW의 장점을 알리고 개발자들에게 참여, 공유, 개방, 협업의 오픈소스 문화를 전파하는 과정도 필요하다.
현재의 AI 발전은 오픈소스가 큰 역할을 했습니다. 어떤 역할을 했다고 생각하나요? 또 블록체인과 오픈소스에 대해서는 어떻게 생각하나요?
그렇다. 만일 오픈소스가 없었다면 지금의 AI가 없었을 거다. 수많은 오픈소스로 된 AI 프로젝트가 있고, 이걸 가져다 쓰면서 AI 기술이 갈수록 발전했다. 지금도 AI 관련 논문이 하루에도 수십, 수백 개 나온다. 논문으로 나온 알고리즘을 일일이 구현하고 테스트해야 하는데, 오픈소스가 아니라면 이런 작업이 힘들다.
예를 들어, 요즘은 AI 논문이 나오면 텐서플로를 활용해 이들 논문을 하루 만에 깃허브에 올린다. 이걸로 유명한 사람이 우리나라 사람인 김태훈이란 사람이다. 그는 AI 논문이 나오면 바로 구현해 오픈소스에 올린다. 미국에 스카우트 받은 걸로 알고 있다. 텐서플로를 공개한 구글이지만 진짜 핵심 기술은 공개하지 않는다는 말이 있는데, 동의하지 않는다. 블록체인과 오픈소스 간 관계는 잘 모르겠다. 블록체인 지식이 없어서 뭐라 말할 게 없다.
마지막으로 5년 후나 10년 후 모습을 그려보면요?
아마 구글 안에서 다른 프로젝트를 맡고 있지 않을까 한다. 개발팀 매니저로. 내가 만든 오픈소스를 더 많은 사람이 사용하게 하는 일을 그때도 하고 있을 것 같다. 구글은 성장 기회가 많은 회사다. 아마 5년 안에는 움직이지 않을 것 같다. 언젠가는 한국에 돌아올 거다. 실리콘밸리에 온 지 5개월 됐는데, 아직 가족들이 적응하느라 고생이다. (웃음)
구글에서 일하는 서주영 매니저
- 유튜브 리빙룸 파트너 엔지니어링팀 / 시니어 파트너 테크놀로지 매니저 |
* 본 공개SW 활용 성공사례는 정보통신산업진흥원(NIPA) 공개SW역량프라자와 지디넷코리아가 공동 발굴한 기사입니다.
번호 | 제목 | 조회수 | 작성 |
---|---|---|---|
281 | [공개SW 개발자 인터뷰/서주영 구글 매니저] "코딩도 소통... SW 실력 늘려면 공개SW 활동해야" file | 2916 | 2018-10-30 |
280 | [공개SW 활용 성공사례 237] 한국도로공사 - 공개SW 기반 데이터 중계 파일럿 시스템 구축 | 2502 | 2017-12-19 |
279 | [공개SW 활용 성공사례 236] 국립중앙청소년수련원 - 공개SW 기반 내부전산환경 구축으로 관리 효율화 향상 | 2516 | 2017-12-12 |
278 | [공개SW 활용 성공사례 235] 퓨전데이타 - 공개SW 기반 HCI 솔루션 개발로 기업경쟁력 강화 | 2606 | 2017-12-06 |
277 | [공개SW 활용 성공사례 234] 노크 - 안드로이드 기반 디지털사이니지 솔루션 개발 | 2893 | 2017-08-22 |
276 | [공개SW 활용 성공사례 233] 대성에너지 - 공개SW기반 통합 배관망 분석시스템 구축 | 2934 | 2017-07-05 |
275 | [공개SW 활용 성공사례 232] 경기도 - ‘따복공동체’ 사업에 블록체인 도입으로 직접 민주주의 실현 | 2902 | 2017-06-07 |
274 | [공개SW 활용 성공사례 231] 병무청 - 개방형OS 기반 심리검사시스템 구축 | 2936 | 2017-05-23 |
273 | [공개SW 활용 성공사례 230] 네이버 Yona Project - 21세기 협업개발플랫폼 ‘Yona’ | 3892 | 2017-04-12 |
272 | 공개SW 도입 성공 사례집 2권(2016년판) 발간 file | 3740 | 2017-03-08 |
0개 댓글