[접속] 제가 한번 개발자를 만나 봤습니다. - S1 E04
지난 2월 21일, 네 번째 인터뷰를 진행하기 위해
Q 우선
잘 모르는 분들을 위해 본인 소개부터 해주세요.
A 2010년에 스마트스터디를 창업하였다. 스마트스터디는 모바일 플랫폼 상에서 유아동 교육 앱(핑크퐁) 외에 앱툰과 게임 등 600 여종의 다양한 앱을 제작하고, 유저 성향을 분석한 후, 다시 업그레이드 된 서비스를 제공하는 회사이다. 창업 직후에는 아이패드 등을 이용한 학습지 시장을 목표로 하였는데, 시기 상조라는 판단에 삼성출판사가 기존에 가지고 있던 유아동 컨텐츠를 이용한 앱 제작을 기반으로 삼게 되었다. 동영상 서비스를 위한 플랫폼이라고 보면 된다. 최근에 동남아 및 미국 시장으로 확대되고 있다. 온라인 게임을 서비스 하던 시절에 비해 고객의 반응을 실시간으로 분석해야 하는 것들이 많다 보니 의외로 고도화된 기술을 필요로 한다고 느끼는 중이다. 이전에는 한게임의 사업조직 중에서 새로운 게임을 창작하는 조직에서 근무했는데, 성공한 프로젝트도 없었고 매출이 좋지도 않아서 조직이 분해되는 분위기였다. 솔직히 말하자면 해당 조직의 분사 후, 연봉이 3년 동결되면서 창업을 결심하게 되었다. 그 때에는 커리어에 대한 고민도 있었다.
Q 프로그래머가 된 계기랄까, 언제 프로그래머가 되야겠다 결심하게 되셨어요?
A 초등학교 때, 너무 내성적인 성격이라 부모님께서 여러 학원을 보내셨는데 대부분 적응을 못하다가 컴퓨터 학원에서만 적응을 잘 했다. 그때부터 학원에서 프로그래밍을 배우기 시작했다. 정보올림피아드에도 출전하고 하이텔 게임제작 동호회에서 주최한 게임 제작 대회에서 수상을 한 것이 계기가 되어, 대학교 입학을 앞둔 겨울방학 때 한게임에서 같이 일하자고 연락이 왔다. 대학 때 처음에는 아르바이트로 일을 하다가 1학년을 마친 후 휴학하고 입사하게 되었다. 당시 회사의 다른 팀에서는 포커나 고스톱 같은 보드 게임을 주로 개발했는데, 보드 게임이 아닌 캐주얼 게임을 만들어보고 싶다는 회사의 의견과 잘 맞아 새로운 게임을 제작하였으나, 대부분의 게임이 실패를 하였다. 왜 실패했는지에 대해 궁금해 하다, 게임 로그 분석에 관심이 생겨 자체 로그 서비스를 만들기 시작하였다.
Q 프로그래밍 공부는 어떻게 하셨어요???
A 일단 시작하고 모르는게 생길 때마다 찾아본다거나, 다른 사람의 소스를 본다거나 하면서 공부했다. 문서를 정독하기 보다는 경험을 통해서 습득하는 스타일이라 기초가 늘 부족한 것이 문제다. 다양한 분야에 관심을 갖고 접근할 수는 있지만 원인 파악이나 인과관계 분석에는 부족했다. 하이텔 동호회 시절에도 퀵베이직으로 프로그램을 만들었는데, 그때도 다른 사람들이 쓰지 않는 구식 기술을 썼던 이유는 다른 사람들이 만든 저수준 확장 라이브러리들을 빠르게 적용하는 것에 익숙해져 있어서였다. 엉성하고 조잡할 수 있지만 애초에 좋은 구현보다는 빠른 결과물 창출 후 피드백을 받고 업데이트 하는 방식을 좋아한다. 그러고보니 말씀도 빨리하시는 편이다
Q 업계에 들어와서 가장 영향을 받은 개발자를 꼽으라고 하면 어떤 분을 꼽으시겠어요???
A 시기적으로 한두 명 있는데, 지금 한 명 딱 꼽자면
Q 개발자로 일하면서 가장 힘들 때는 언제인가요???
A 개발자로서 힘든 점이라기 보다는 개발자로 창업을 하고 힘든 점을 이야기해보겠다. 오~~~ 이 주제도 재미있겠어요!!! 개발자로써 창업하고 제일 위험한 것이, ‘우리는 다른 조직이나 기존 조직보다 기술이 있기 때문에 더 민첩하게 대처할 수 있어’라는 착각이다. 성공한 회사들이 어떤 기술을 썼기 때문이라기 보다는 전략이나 회사 목표의 방향성 등이 성공으로 이끄는데 더 도움이 되었다고 본다. 처음에는 게임만 잘 만들면, 혹은 내가 이 기술을 잘하니까 성공할 수 있을 거라고 생각했지만 그건 그저 하나의 바탕일 뿐이지 성공의 요건은 아니다. 장기적으로 좋은 환경이 도움이 되긴 하겠지만 성공의 포인트는 아니다. 오만함이 가장 위험한데, 기술에 대한 자만심이 오만함을 부른다. 시장에 대한 이해는 부족한 상태에서 기술에 대한 자만감만 있었고 그걸 깨달았을 때 힘들었다.
이 부분의 음성파일이 잘 안 들려서 왜 이 질문을 드리게 됐지만 모르겠지만 아마도 어릴 때부터 회사에 다닐 때까지 게임에 관심이 많으셨던 것 같아서 게임을 그만 만들게 된 배경을 여쭤봤었다. 하드코어적이고 게임을 잘 하는 사람만이 이길 수 있는 게임만 만들려고 했는데 그것은 좋은 게임도 재미있는 게임도 아니라는 것을 깨달았다고 하시며, 이기든 지든 게임을 하고 나서 참 재미있었단 느낌을 느끼게 하는 것이 중요하다고 말해주셨는데 이 말을 들으면서 무언가 느껴지는 것이 많았다.
Q 함께 일하기 싫은 프로그래머가 있나요???
A 예전의 나는 대답을 하실 때마다 이 표현을 많이 쓰셨는데 조금은 애늙은이 같은 느낌이 들었다. 스펙을 따지고 규격을 맞추고 원인을 분석하는 프로그래머와 함께 일하는 것을 싫어했지만 지금의 나는 그렇지는 않다. 서로 보완이 되는 사람들이 함께 해야 한다고 본다. 팀이나 서비스를 위해서 ‘타협’이 어느 정도 가능해야 하는데 타협이 안 되는 사람과는 일하기 힘들다. 개발자들끼리는 개발 방법론이나 취향을 두고 싸우는 경우가 있는데, 어느 것이 좋다고 말할 수 없기 때문에 너무 강하게 주장하는 사람들은 힘들다. 창업을 하고 나니, 피드백이 너무 느린 개발자와는 일하기 힘들더라. 자신의 일에 흐름을 방해 받는 것도 싫겠지만 협업의 책임적인 부분이라고 생각한다. 코어개발은 잘할 수 있겠지만 대 고객 서비스를 하고 있는 회사에서는 쉽지 않은 상황이다.
Q 직원을 뽑기 위해 인터뷰어로도 많이 활동하셨을텐데, 그 때 가장 중요하게 생각하는 것은 어떤 것인가요??? 또 그런 것들을 파악하기 위해서 어떤 방법을 쓰시나요???
A 기술을 당연히 우선적으로 보지만, 자세를 가장 중요하게 본다. 다른 것이 아니라, 새로운 것이나 내가 싫어하는 것을 만났을 때 대응하는 자세 말이다. 자기 분야 외에 것도 관심이 많고 새로운 것을 배워가는 과정을 재미있어 하는 사람도 선호한다. 사전 스크리닝을 어느 정도 하는 편이다. 홈페이지에 있는 문제스마트스터디 홈페이지에는 이런 문제들이 공개되어 있다. 신기했다~를 우선 주고 풀게한 다음, 그 사람이 관심있어 하는 분야에 대한 질문을 많이 한다. 이전 직장의 다른 직군의 사람들과의 관계에 대한 질문도 한다. 초창기에는 지인을 뽑거나 추천받은 사람을 뽑을 수밖에 없었는데 그 후에는 깃헙이나 온라인(커뮤니티, 트위터)을 통해서 그 사람의 프로젝트나 성향을 보면서 채용을 한다. 오랜 시간을 들여서 이야기를 많이 하려고 한다.
Q 이 일(직업)의 매력은 무엇이라고 생각하십니까???
A 내 시스템을 만들고, 내가 의도한대로 동작을 하고, 그렇지 않다면 분석을 해서 다시 고쳐나가면서 나의 세상(계)을 만든다는 것이 가장 큰 매력이다. 그랬을 때의 즐거움은 어마어마하다. 사람들에게는 자기가 원하는 세계를 만들고 의도한대로 동작할 수 있게 만드는 것에 대한 즐거움이 있다 — 동호회, 조직 등도 포함될 수 있다. 특히나 그런 것들이 직접적으로 보이기 때문에 만족감이 더 큰 듯하다. 나의 세상을 만든다라… 신이 된 느낌일까???
Q 요즘 인문학에 대한 이야기가 많이 나오고 있습니다. 프로그래머에게 정말 인문학적인 소양이 필요한 것일까요???
A 인문학이란 자체가 고전이나 교양을 말하는 것은 아니다. 다른 사람에 대한 이해나 세상에 대한 이해가 liberal art라고 보기 때문에 나와 다른 것들에 대해서 닫혀있지 않은 생각과 마음을 가지고 있으면 된다. 나는 코딩 외에도 많은 관심사를 가지고 있는데, 내 직무에 대해 직접적으로 도움을 주지는 않았지만 다른 사람을 이해하는 데는 도움이 되었다고 생각한다. 다른 사람의 코드를 이해하는 능력과 미술 작품을 이해하는 것과 크게 다른게 없다고 말씀해주셨는데, 참 좋은 표현이라는 생각이 들었다.
Q 사용자나 고객을 이해하기 위해 개발자에게 필요한 것은 무엇이라고 생각하시나요???
A 오십 명의 직원이 있지만 팀은 없고, 물론 대표 직무는 있지만 누구나 기획하고 의견을 제시할 수 있다. 직원들이 개인 앱을 만들고 서비스하는 것을 권장하고 있다. 그런 것들을 통해서 사용자를 이해할 수 있도록 노력한다. 다른 직군의 것을 경험해볼 수 있도록 노력한다. 사용자를 이해하기 위해서는 자신의 서비스나 결과물에 대해서 많이 오픈하고 피드백을 자주 받아야 한다고 생각한다. 내가 만든 제품이나 서비스와 나를 동일시하지 말고 조금 더 열린 마음을 가지고 이야기를 많이 나누고 들어야 한다. 메일이나 텍스트만의 피드백은 오해를 불러올 수도 있기 때문에 오픈 커뮤니케이션이 중요하다.
Q 개발자로서 사회 생활(회사 생활)에 대한 조언을 주신다면 어떤 말을 해주고 싶으신가요???
A 옛날에 생각했던 것들을 지금 생각해보면 치기 어린 것들이 너무 많아서 말하기가 부끄럽다. 지금 제일 후회되는 일이 뭐냐면, 지금 당장 하고 싶은 일이 있을 때 그 일을 바로 하는 것도 좋지만, 그 일을 통해서 다음에 내가 무얼 할 수 있는지에 대한 고민이 너무 없었다. 이건 나뿐만 아니라 나와 함께 하는 팀원들에게도 아쉬움일 수 있다. 애초에 정해진 것은 아무 것도 없으니 대전제(큰 목표)를 놓고 다음에 할 일에 대해 고려를 하면서 여러 가지를 해볼 수 있었으면 좋겠다. 물론 대전제 또한 바뀔 수도 있다는 것을 감안해야 한다. 다양한 도구를 학습하는 것은 좋은데 그걸 통해서 궁극적으로 이루고자 하는 것을 잊어서는 안 된다. 나의 경우는 다음이 없었기 때문에 실패를 통해 얻는게 별로 없었다. 목표 설정을 위해서도 다른 사람들과 소통을 많이 해서 정말 자신에게 맞고 필요한 것들을 많이 접하는 것이 중요하다.
이 질문에 대한 이야기를 나누면서 왜 자꾸 ‘예전의 나는’이라는 표현을 많이 쓰시는지 이해하게 되었다.
Q 프로그래머가
되지 않았다면 어떤 일을 하셨을 것 같으세요???
A 하고 싶은 것을 하고 있기 때문에 생각해본 적이 없다. 단 한번도 없었냐고 여쭤봤는데 없다고 말씀하셨다. 만약 한 가지 능력이 주어 진다면… 영어!!! 커뮤니케이션 능력!!!
Q 취미가 있으신가요???
A 오픈소스 컨트리뷰션이 최근 취미다. 으잉??? 어떻게 이게 취미가 될 수 있지??? 작곡이나 녹음도 해본 적이 있고 그것이 취미인적도 있었지만 지금은 못하고 있다. 게임을 만들 때는 그 목적에 부합되는 모든 것들이 취미였다. 그러면 취미도 일과 관련되었다는 이야기로 들렸는데, 재미있는 것을 하고 그걸 통해 더 큰 즐거움을 느끼는 것이 취미이기 때문에 일이 아니고 취미라고 ㅠ.ㅠ 개발자들 이해하기 힘들어~ 주말에 가끔 아내와 딸이 처가에 가 있을 때, 혼자 카페에 앉아 디버깅 할 수 있는 것을 발견하고 문제를 해결했을 때 최고로 행복하다.
Q 스트레스를 푼다거나 재충전은 어떻게 하시나요???
A 회사 일이 아닌 코딩을 할 때, 특히 최근에는 오픈소스가 재충전!!! 이 일이 직업이라기 보다는
내가 좋아하는 일이라고 생각하기 때문에 일 자체에 대한 스트레스가 없다. 스트레스는 거의 사람 사이의
일 때문에 받기 때문에 컴퓨터 앞에 있으면 해소가 된다. 아~~
Q 최근에 가장 관심있게 보는 것은 어떤 것이 있으세요???
A 원격근무와 회사업무의 조화에 대해서 관심이 있다. 리모트(REMOTE: https://37signals.com/remote/) 도서를 읽으면서 그런 근무형태, 고전적인 회사 형태에서 벗어나서 조금 더 편안하게 일할 수 있는 방법에 대해서 관심을 가지고 보고 있다. 동기부여에 대해서도 고민 중이고, 더 행복하게 일할 수 있는 방법에 대해서도 고민 중이다. 꼭 외국에서만 가능한 것이 아니라 우리나라에서도 가능하다는 것, 좋은 환경의 회사를 만들 수 있다는 것을 보여주고 싶다.
Q 최근에 가장 짜릿한 경험을 하신 적이 있다면 언제인가요???
A 오픈소스 디버깅을 통해 새로운 것을 발견하고 그걸 컨트리뷰트 할 때!!! 으아~~~ 이것도 오픈소스 관련 답을 주시다니… 어쩌면 보기보다는 천상 개발자이신가??? 더 자세하게 말하자면 몇 년 전에 만든 C 라이브러리를 파이썬에서 사용할 수 있도록 바인딩을 작성하는데, 알 수 없는 이유로 제대로 작동하지 않았다. 디버거(pdb)를 통해 스크립트 언어와 바이너리 라이브러리 사이에서 원인을 발견하고 문제를 해결했을 때 가장 짜릿했다.
Q 본인 스스로 어떤 개발자라고 생각하시나요???
A 전문분야가 없는 개발자. 딱풀!!! 프로그래머로서는 능력이 부족하고, 디자이너로서는 형편없고, 음악가로서도 부족하지만, 얕게나마 이것저것에 관심을 가지고 있기 때문에 여러 가지 이야기를 들어줄 수 있는 개발자이다. 프론트 엔지니어랑 백엔드 엔지니어 사이에서도 풀같은 역할을 하고 있지만, 본드는 아니라 잘 떨어진다. 딱풀이라니… 진짜 재미있는 표현이다. 본드가 아니라서 잘 떨어지기 때문에 딱풀이라고 하실 때 나도 모르게 ‘아~~~’하면서 박장대소를…
Q 후배 개발자들에게 꼭 해주고 싶은 말이 있다면 어떤 건가요???
A 남들이 알아주지 않아도 자신만의 것을 만들기 위해서 계속 노력해야 한다. 처음 데이터베이스에 대해 공부할 때, 도움을 받았던 사이트가 있어서 그 후 그곳에서 다른 사람들에게 도움을 주기 위해 노력했는데, 그건 아무도 알아주지 않아도 혼자서 고민하고 노력했던 과정이기 때문에 몇 년 후에 나에게 도움이 되더라. 너무 시대에 뒤쳐지지 않는 선에서 자신만의 것을 위해서 시간을 가지고 깊이 있게 파고드는 노력이 필요하다.
프로그래머는 일하는 과정 자체가 컨텐츠가 되고 결과물도 컨텐츠가 되기 때문에 이러한 것들을 보다
쉽게 다른 사람들과 공유할 수 있다는 것만으로도 좋은 직업이라고 생각한다. 내 것을 공개함으로써 내가
더 동기부여가 되고 업그레이드 되는 것들은 다른 직군도 가능하겠지만, 프로그래머가 더 활발하다고 생각한다. 재미는 동기부여의 일환이고 그걸 위해서 업무 환경의 변화가 필요하다.
대회에서의 수상은 누가 조금 더 먼저 시작했냐, 경험했냐에 따라서 어릴 때는 다를 수 있지만 나이가 들다 보면 누가 더 오래 깊이 했냐가 중요하다. 학생시절 나는 비록 기초가 없어도 다양한 프로그램 개발 경험이 많다는 오만함으로 오히려 공부를 안 했는데, 당시에는 부족했지만 꾸준히 공부했던 친구는 지금 나보다 월등한 프로그래머가 되어 있다. 게임을 만들면서 자연스레 익힌 다양한 알고리즘에 대한 경험이 있었기 때문에 그 당시에는 조금 더 앞서가는 것처럼 보였지만 어쩌면 그때뿐이었다.
인터뷰 후 소감…