brunch

You can make anything
by writing

C.S.Lewis

by 마르코 Mar 27. 2016

커뮤니티가 우리를 자유롭게 하리라

[인터뷰]차세대 모바일 데이터베이스 Realm 자바 개발자 김용욱님

계속해서 처음 개발에 입문하는 사람을 위한 글을 쓰면서 아쉬웠던 점은 내 경험이 전체 개발 분야에서 극히 일부분에 치중되어 있다는 것이었다. 비전공자에서 시작해서 가장 대중적인 언어인 자바를 배우고, 스프링을 거쳐, 안드로이드와 아이폰까지 개발을 하게 되었지만 분명히 전공자가 선택할 수 있는 개발의 분야에 비해서 굉장히 제한이 있는 것은 분명해 보였다. 그리고 개발의 경력의 길이가 개발자의 실력을 가늠하는 척도가 될 수 없다는 사실을 분명하게 인지하게 되었지만, 분명히 오랫동안 개발자로 있었던 사람이라면 다양한 회사와 다양한 프로젝트를 통해 경험한 것이 많을 것이라는 건 분명했다. 그리고 워낙 다양한 분야가 있기 때문에, 한 개발자가 모든 것을 다 경험하기는 사실상 불가능했기 때문에 최대한 사람을 통해서 간접 경험해보고 싶다는 욕구가 생기기 시작했다. 그러면서 다양한 위치에서 일하고 있는 개발자 분들의 인터뷰를 기획했다.



첫 인터뷰는 요즘 안드로이드와 아이폰 애플리케이션 내부의 오픈소스 데이터베이스를 개발하고 있는 Realm(램)에서 자바 개발자로 일하고 계신 김용욱 님으로 연락드렸고, 감사하게도 흔쾌히 인터뷰에 응해주셨다. 다시 한 번 쉽지 않은 선택을 해주신 것을 감사드린다. Realm은 아래와 같이 개발 블로그를 운영하고 있는데, 그 개발 관련 내용이 너무 양질이라 Feedly에 담아서 받아보고 있다.



뿐만 아니라, Realm은 시리즈 B까지 투자받아서 그 기술력을 인정받고 있고, 전 직원이 전 세계에서 흩어져서 근무하는 것으로 유명해서 꼭 내부 인원의 목소리를 들어보고 싶었다. 아래에 인터뷰를 통해서 한국에서 원격 근무로 미국 유명 기술 스타트업에서 자바 개발자로 일하는 분의 목소리를 전하려고 한다.


인터뷰는 행아웃을 통해 화상으로 진행되었다.




곽민수(이하 '곽') : 안녕하세요. 비전공생에서 전향해서 3년 차 개발자로 일하고 있는 곽민수라고 합니다. 최근에 개발자라는 직업에 많은 분들이 관심을 갖고 계셔서 개발에 대한 글을 계속 쓰고 있는데요. 가능하면 여러 분야에서 활발히 개발자로 일하고 계신 분들의 이야기를 들려드릴 수 있으면 좋을 거 같아서 연락드리게 되었습니다. 흔쾌히 인터뷰에 응해주셔서 감사합니다.

김용욱(이하 '김') : 별말씀을요. 제 이야기가 많은 분들에게 도움이 되면 좋겠네요.


먼저 Realm에 입사하게 된 계기와 원격 근무 생활을 여쭤보았습니다. 그리고 오픈소스를 개발하는 회사가 어떻게 운영되는지도 확인하였습니다.


곽 : 크게 인터뷰를 두 부분으로 나눠서 Realm에 일하게 되신 계기와 현재 업무를 먼저 여쭤보고, 그다음으로는 안드로이드 개발자로서 지금까지 커리어를 닦아오신 경험을 물어보고 싶네요. 먼저 어떻게 Realm에 입사하게 되셨는지 여쭤봐도 괜찮을까요?

김 : Realm에서 근무한 지 6개월 정도 되었는데, 그 전에는 스타트업에서 계속 일을 하다가 당시에 국내외 대기업에 취업을 하려고 알아보던 중이었습니다. 마침 지인이신 박민우 님께서 Realm을 추천해주셔서 지원을 하게 되었고, 인터뷰를 통해서 근무를 시작하게 되었습니다.


곽 : Realm은 원격 근무를 허용하는 것으로 유명한데, 무슨 일을 하시고, 어떻게 근무하시는지 궁금합니다.

김 : Realm에서 현재 근무하는 한국인 개발자는 모두 3명입니다. 그중에 제가 두 번째로 입사했습니다. 업무 효율성 측면에서 월요일, 수요일, 금요일은 모여서 함께 일을 하고, 그 이외의 시간에는 각자 편한 장소에서 일을 하고 있습니다. 저 같은 경우에는 집에서 일을 하기도 하고, 가까운 카페에 나가서 일을 하기도 합니다. 한국에 있는 개발자가 하는 일은 주로 개발과 Adoptation으로 구분이 됩니다. Realm이라는 차세대 데이터베이스는 기존의 개발된지 10년도 넘은 Sqlite를 대체하기 위해서 개발되고 있고, 현재 시리즈 B 규모의 투자를 받은 기업입니다. 가장 핵심이 되는 부분은 '코어팀'에서 C++이라는 언어를 통해서 개발을 하고 있고요. 저의 경우 '자바팀'에서 코어 부분을 안드로이드 기기에서 사용할 수 있도록 'binding' 하는 일을 맡고 있습니다. 그리고 이렇게 개발된 내용을 한국의 개발자 분들이 사용하실 수 있게 블로그를 통해서 소개하는 역할도 함께하고 있습니다. 두 가지 일을 함께하다 보니 업무량은 많은 편인데, 저보다 앞서 일하시던 한국인 개발자께서 많이 도와주셔서 큰 도움이 됐고 기술적으로도 많이 배우고 있습니다.


곽 : 원격 근무는 이전에도 경험이 있으신가요? 원격 근무의 장단점은 뭐라고 생각하세요?

김 : 저는 원격 근무가 처음입니다. 장점은 어디서든 원하는 장소에서 일할 수 있다는 점이 큰 것 같습니다. 훨씬 생산적으로 일할 수 있습니다. 단점은 개발자들이 전 세계에 흩어져서 일하다 보니 그에 따른 업무 지연이 발생한다는 점입니다. Realm의 경우 본사는 샌프란시스코에 있고, 유럽에도 개발자들이 있습니다. 코드 관리를 git을 통해서 하고 있는데요. 풀 리퀘스트를 보내고, 동료 개발자의 리뷰가 이뤄져야만 머지(merge)를 하게끔 되어있습니다. 그런데 다들 일하는 시간대가 다르다 보니 제가 작업한 내용이 다음 날 아침에 일어나야 리뷰를 받을 수 있습니다. 그래서 급한 일을 처리해야 할 때는 새벽에 일어나서 다른 개발자들과 근무 시간을 맞춰서 개발하기도 한 적이 있네요. 모든 개발자가 떨어져서 개발하다 보니, 매달 한 번씩 화상으로 전체 직원이 회의를 해서 방향성에 대한 논의를 합니다. 그리고 그 외 각 팀별로는 더 자주 화상으로 미팅을 합니다.


곽 : Realm의 경우 오픈소스 프로젝트로 알고 있는데요. 오픈소스를 개발하는 회사가 어떻게 운영이 되는지 궁금합니다.

김 : Realm은 시리즈 A를 와이컴비네이터로부터 한화로 83억 원, 그리고 시리즈 B를 코슬라벤처스로부터 한화로 234억 가량 투자받았습니다. (1달러=1,170원 기준) 내부에 프리미엄 모델이 있기는 하지만, 투자사 측에서도 더 많이 보급되는 것에 초점을 맞추고 있기 때문에 전혀 당장의 수익 실현에는 크게 관심을 두고 있지 않습니다.


김용욱 님은 구글 인증을 받은 Google Developer Expert로도 활동하신 적이 있는데요. Google Developer Group를 포함한 다양한 커뮤니티 활동과 팁에 대해서 물어보았습니다.


곽 : 이제는 Realm에서 벗어나서 질문을 몇 가지 드리고 싶습니다. 링크드인을 통해서 보니 Google Developer Group의 organizer라고 적혀 있으시던데, 어떻게 활동하게 되셨는지 궁금합니다.

김 : 원래는 아이폰 애플리케이션 개발을 하고 있었는데요. 당시 회사에서 안드로이드 태블릿을 주력 사업으로 정하면서 갑작스레 안드로이드를 개발하게 되었습니다. 당시 자료도 찾기 힘들어서 같이 개발도 하고 공부할 사람을 만나기 위해서, 페이스북 그룹을 만들었고 정기적으로 모임을 갖기 시작했습니다. 그렇게 모임을 진행하고 있는데, 구글에서 "한국의 안드로이드 개발자를 만나고 싶다."고 연락이 왔습니다. 그리고 저희 모임에 Google Developer Group이라는 이름을 줬고, 당시 구글에서 Google+ 를 밀고 있던 터라 저희도 모임을 옮기게 되었는데 사람들이 안 쓰기 시작하더군요.(웃음) 아마 계속 페이스북에서 운영했으면 훨씬 잘 됐을 거라고 생각합니다. 그러다 그렇게 활동하다 보니 구글에서 한국에서 2명의 Google Developer Expert 중에 저를 선정해서 한동안 Expert로 활동했습니다. 지금은 5~6명의 Google Developer Expert를 새로 뽑은 것으로 알고 있습니다.


곽 : 커뮤니티 활동이 개발자 생활에 도움이 많이 되셨나요?

김 : 네, 저는 엄청나게 많은 도움이 됐다고 생각합니다. 우선 좋은 개발자 분들을 정말 많이 만날 수 있었습니다. 특히 당시 GDG 활동을 하면서 만났던, 전병권 개발자님에게 정말 많은 도움을 받았습니다. 그리고 같이 모여서 개발 스터디도 적극적으로 진행하기도 했고요. 커뮤니티 활동을 하지 않았다면, 지금보다 훨씬 못 미쳤으리라는 것을 확신합니다.


곽 : 커뮤니티 활동 팁이 있다면 어떤 것이 있을까요?  

김 : 오프라인 모임이 있는 개발 커뮤니티 활동을 하는 것을 추천해드리고 싶어요. 커뮤니티가 온라인으로만 진행이 되면 조금 진행되다가 흐지부지 되는 경우가 많습니다. 오프라인 모임이 있으면 사람들도 직접 만나고 친해지게 되죠. 특히 뒤풀이가 있다면 술잔을 기울이면서, 서로 지내는 이야기도 하고 개발 이야기도 하면서 친해지는 경우가 많습니다.


개발자의 가장 중요한 능력 중에 하나인 '빠른 학습'을 어떻게 하고 계신지 물어보았습니다.


곽 : 링크드인에 React 쪽 자료를 많이 정리해두셨던데요. React Native를 통해서 안드로이드를 개발하기 위해서 공부하신 건가요? 아니면 개인적인 관심사인가요? 그리고 새로운 기술을 빠르게 습득하기 위한 방법도 궁금합니다.

김 : ReactNative는 개인적인 관심사로 공부를 시작하게 되었습니다. 제가 2013년에 미국에 가게 되었는데, 모든 개발자들이 Angularjs에 대해서 이야기를 하고 있더군요. 그리고 한국에 돌아왔는데 그 이후로도 1년이 지나도록 Angularjs에 대해 관심 있는 개발자를 만나기 쉽지 않았습니다. 그리고 학습도 만만치 않아서 조금은 뒤로 미뤄둔 상태였습니다. 그런데 React가 나오면서 네이티브 앱을 손쉽게, 리프레시 만으로도 변화 내용을 확인할 수 있는 것이 획기적이라는 생각이 들어서 적극적으로 공부하게 되었습니다. 저는 주위에 개발자 분들에 비해서 새로운 기술을 빨리 배우는 사람은 아닙니다. 커뮤니티를 통해서 알게 된 개발자 분들이 주위에 많이 계신데 정말 빨리 새로운 기술을 써보는 분들이 계세요. 그런 분들 숫자가 차츰 늘어나면 그 기술을 배우기 시작합니다. 제가 주도적으로 공부해서 주위 사람에게 알렸던 기술은 RxJava였던 것 같아요. 만약 빠르게 기술을 접하고 싶다면, 트위터나 페이스북의 외국 개발자를 팔로우 해놓는 것을 추천합니다. 보통 트렌드를 이끄는 위치에 있는 개발자들은 말이 많은 경우가 많아서 팔로우 해놓으면 외국의 개발 트렌드를 빠르게 접할 수 있습니다. 한국은 보통 외국에 비해 기술이 1~2년 늦게 들어오는 경우가 많습니다.




이렇게 첫 인터뷰를 잘 마칠 수 있었다. 최근 한 한국형 스택오버플로우 서비스에 안드로이드 코딩 멘토로 이름이 올라가 있으신 걸 봤는데, 앞으로도 더 즐겁게 개발하시는 모습을 기대한다.



매거진의 이전글 안정적인 직장이란 무엇인가?
브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari