월간 지앤선

지앤선과 함께 <코딩의 신: 과학편> 책을 집필하신 김병부 님과 인터뷰를 진행했다. 대기업, 중견기업, 스타트업을 모두 경험하고 이미 여러 권의 책을 집필하신 병부님의 다양한 경험에 질문을 던져보았다. 

간단히 자기소개를 부탁드려요!

안녕하세요. 현재 한 가정의 남편이자 아빠이고, 개발 직군에서 일하고 있는 김병부라고 합니다. 

 

현재 어떤 일을 하고 계신가요?

NHN에서 두레이(Dooray)라는 협업 도구를 개발하고 있습니다. 두레이는 협업을 쉽고 편하게 할 수 있도록 돕겠다는 목표를 갖고 있습니다. 그래서 개발자, 기획자, 디자이너 모두 쉽게 사용할 수 있습니다. 여러 가지 기능들, 즉 메일이나 드라이브, 위키, 메신저와 같은 도구를 프로젝트와 통합한 제품이라고 생각하면 됩니다. 그중, 저는 메일 서비스를 담당하고 있어요. 메일 서비스를 개발한 지 약 2년 정도 되었는데요. 생각보다 챌린지도 많고 개발 및 운영 난이도가 꽤 높더라구요. 전 세계 메일 개발자들에게 존경심이 생깁니다. 아차! 아마 협업 개발 도구라고 하시면 아틀라시안의 JIRA, 구글 Gsuite 혹은 잔디를 생각하실 텐데요. 소리 소문 없이 이 영역에서 강자가 될 예정입니다. 많은 관심 부탁드립니다.

 

대기업, 중견기업, 스타트업을 모두 경험하셨다고 들었어요. 각각 규모가 다른 회사를 경험하며 좋았던 점은 무엇이었나요?

먼저, 조심스러운 질문이긴 한데요. 제 경험으로만으로 단정하기는 어려운 부분이 많아요.

크게는 자신이 할 수 있는 혹은 하는 일의 영역이 다른 것 같아요. 예를 들어, 제품을 개발한다고 생각해봐요. 그러면 설계, 개발, 운영 등의 일을 할 거예요. 그런데 규모가 큰 기업일수록 일이 나눠져 있고, 해당 분야에 전문적인 지식을 가진 분들이 많습니다. 하지만 규모가 작은 기업은 일을 나누기엔 여러 가지 제약사항들이 있지요. 사람도 상대적으로 적고, 시간도 없고요. 그래서 한 사람이 여러 가지 일을 하는 경우가 많아요. 영역의 크기가 다른 건 개인 성향에 따라 장점이자 단점이 될 수 있는 것 같아요. 

비교적 규모가 작은 회사에서 가장 좋았던 것은 하나의 서비스를 런칭하고 종료하는 모든 과정을 다 경험해봤다는 거예요. 인도네시아 텔콤과 같이 협업하는 프로젝트였어요. 시스템 통합을 위한 회의부터 IDC 셋팅 그리고 개발까지 제가 주도적으로 진행했어요. 낮에는 미팅하고 말도 안 통하는 개발자들끼리 다이어그램을 그려가며 회의를 했죠. 그리고 밤에는 호텔방에서 혼자 리뷰하고 다음날 미팅에서 생길 수 있는 일도 생각해 보고요. '좌충우돌 우당 탕탕이라는 말이 이런 거구나'라고 생각했습니다. 그리고 결국 계약 문제로 서비스를 종료할 때까지 서비스의 모든 라이프 사이클에 관여했던 것 같아요. 어디서 이런 경험을 해보겠어요. 이때의 경험이 저에게는 잊지 못할 추억이 된 것 같아요. 아마도 해외 프로젝트여서 외화를 버는 산업역군 같은 자부심 때문일 수도 있어요. 그래서 본인의 꿈이 크고 주도적으로 서비스를 개발하고 싶은 분이라면, 스타트업에서 일해보는 것도 좋을 것 같습니다. 

지금 회사는 비교적 큰 회사입니다. 이곳에서 장점은 일에만 집중할 수 있게 하는 여러 가지 제도들이 있어요. 예를 들어, 아침/점심/저녁을 제공하는 사내 식당이나 여러 가지 개발 교육 프로그램들을 제공받고 있어요. 교육은 스프링 프레임워크 교육, 데이터 베이스 쿼리 튜닝 등 다양하게 매 분기마다 준비되어 있죠. 그래서 관심있는 사람은 적극적으로 참가해서 교육을 듣고, 다시 업무로 돌아와서 일을 하면 됩니다. 

 

반대로 안좋았던 점 혹은 고려해야 할 점은 무엇이 있을까요?

회사 규모로 안 좋았던 점이라고 단정 짓기보다는 회사의 규모와 상관없이 회사를 잘 선택하는 게 중요할 것 같아요.

먼저 회사가 어떤 목표를 갖고 있는지 중요하고, 그 목표가 조직원들과 잘 공유되는지가 중요할 것 같아요. 물론 밖에서 이러한 정보를 잘 알기는 어려워요. 그래서 밋업이나 혹은 커뮤니티에서 여러 정보를 얻는 것도 좋습니다. 그리고 채용정보에서도 꽤 많은 정보를 얻을 수 있어요. 기술이라든가 혹은 서비스를 어떤 목표로 더 발전시킬지 말이에요. 그 회사에서 내가 무엇을 해야 하는지 그리고 회사는 나에게 무엇을 줄 수 있는지 잘 판단해야 합니다. 회사가 줄 수 있는 게 돈과 같은 물질이 전부는 아니라고 생각해요. 어떤 회사는 조직원에게 서비스를 어떻게 키우는지 알려줄 수 있고, 어떤 회사는 조직원에게 스스로 일을 할 수 있는 기회를 줄 수도 있지요. 또한 개발 문화를 적극적으로 만들어가는 회사도 있어요.  이런 무형의 것들이 많아요. 사람들마다 가치가 다르기 때문에, 회사를 고르는 기준은 여러분이 반드시 만드셔야 해요. 단지 남들이 좋다고 혹은 이름만 좋다고 하는 회사는 본인이 들어가서도 힘들 가능성이 매우 높아요. 그리고 회사와 본인을 결코 동일시해서는 안될 것 같아요. 많은 주니어 개발자들이 이를 혼동하는데요. 그래서 우리가 개인이 이뤄야 하는 목표가 무엇인지. 그리고 목표를 이루기 위해서 지금 회사에서 무엇을 해야 하는지 꼭 생각해 보시길 바랍니다. 대기업이라고 내가 [대 개발자]는 아닌 것 같아요. 이런 생각을 하는 사람을 볼 때마다 참 안타까워요.

 

최근 관심을 갖고 있는 기술은 무엇인가요?

최근은 아니고, 한 2년 전부터 아직까지 계속 관심있는 부분은 비동기와 MSA입니다. 특히 MSA에 필요한 혹은 관련되어 있는 모든 부분은 조금씩 관심이 있어요. 예를 들어 분산, 이벤트 드리븐 아키텍처라든가 혹은 TDD, DDD 등이요. 이런 것들을 실제로 어떻게 적용할지 고민하는 일에 많습니다.

 

병부님만의 새로운 기술을 습득하기 위한 노하우가 있으신가요?

제 주변에는 저를 위해 공부(?)해서 알려주시는 분들이 많아요. QCon이라든가 유튜브라든가 혹은 제 주변 동료들이요. 다행히도 현재 조직에서는 동료 개발자분들의 많은 경험을 기반으로 자주 이야기하고 영감을 얻어요. 아! 스프링 캠프 같은 컨퍼런스들도 있네요. 이런 걸 들으면서 제가 모르던 부분이나 혹은 제가 고민하고 있던 부분에 대해 해결 방법도 얻습니다. 혹은 비슷한 상황을 고민하던 사람들은 어떻게 다른 방식으로 해결했는지도 생각해봅니다. 일단 공부할 분야가 이렇게 결정되면, 주로 Getting Started나 기본 문서를 읽습니다. 

 

함께 일하는 개발자 동료에게 특별히 기대하는 것이 있으신가요? 이런 점을 보유한 동료들과 일하고 싶다?

Manner makes a man. (콜린 퍼스 억양으로 읽어야 제대로 인데요.. ^_^) 기본적인 매너를 기대합니다. 우리 주변에는 많은 장점을 가진 개발자들이 있어요. 새로운 기술을 빠르게 익히는 개발자, 혹은 특정 기술에 대해서 깊은 수준까지 온전히 알고 있는 개발자, 혹은 다른 사람들의 의견을 잘 조율하는 개발자 등등. 하지만 매너가 없는 개발자들과 일하기는 참 어려운 것 같아요. 아무리 수평적 문화인 조직이라도 우리는 항상 동료들과 ‘협업’해요. 협업에서 매너는 팀웍의 기본이라고 생각합니다. 아무리 뛰어난 개발자라고 해도 매너 없는 분과는 일하기 힘들 것 같아요.

 

이번에 지앤선과 함께 작업하신 <코딩의 신: 과학편>을 집필하게 된 계기가 듣고 싶어요!

코딩의 신 시리즈는 팀 동료였던 이상민 수석님이 주 저자에요. 저는 보조 작가(?) 그 정도입니다 : ) 결론은 이상민 수석님이 제안하셔서 쓰게 됐어요. 이상민 수석님이 제안하셨을 때, 딸아이에게 읽힐 책 한 권 정도 만들어주자라는 마음으로 시작했던 것 같아요.

 

코딩의 신: 과학편의 목표는 무엇인가요?

아무래도 아이의 아빠이다보니, 그냥 코딩이라는 목표가 아닌 재미있게 넓고 얕은 지식을 쌓아주고 싶었어요. 저도 코딩을 10년 넘게 하고 있지만, 결국 기본 지식이나 기초 지식이 풍부한 사람이 상대적으로 더 나은 산출물을 만드는 것 같아요. 우리 아이도 코딩을 하는 게 목적이 아닌 컴퓨터의 역사라든가 혹은 왜 2진수가 컴퓨터에 필요한지 알려주고 싶었어요. 

 

이번이 첫 집필이 아닌 것으로 알고 있어요. 책을 꾸준하게 집필하게 된 계기가 있나요?

일단 책을 쓰게된 건 학교 선배님의 제안이 계기였습니다. 그분은 이미 몇 권을 쓰신 분이고 프로그래밍 능력도 좋으셔서 그에 대한 동경심이 컸죠. 그래서 나도 저분을 따라 해 보자. 그러면 나도 저분처럼 될 수 있을 거야 라는 마음으로 시작했어요. 마침 그분이 공동 저자 제안을 해주셔서 덥석 응했어요. 그래서 초반에 쓴 책들은 다 그 분과 공동 저자예요. 지금은 넷마블 몬스터에서 일하시는 김세연 님이세요. 

저 스스로 자존감이 낮다고 생각해요. 이 자존감을 높이기 위해서 항상 노력하죠. 자존감을 높이기 위한 방법으로는 내가 좋아하는 일을 하거나 혹은 즐거운 일을 하면서 완성했을 때 그 성취감을 느끼는 거에요. 책을 쓰는 과정은 매우 지루하고 고통스러워요. 특히 가정이 생긴 후에는 더 힘든 것 같아요. 그 힘든 만큼 성취감도 크지요. 아마 이 성취감이 맛보고 싶을 때, 책을 쓰고 싶어 하는 것 같아요. 사람이 망각의 동물이라, 괴로워하고 즐거워하고 괴로워하고 즐거워하는 것 같아요. 

 

직접 집필하신 책 외에, 최근에 가장 와닿았던 책은 무엇이었나요?

기술 관련 책은 아닌데요. <엄마가 모르는 나의 하루하루가 점점 많아진다> 입니다. 개인사와 엮여 있어서 매우 마음에 와 닿는 책이었어요.

 

병부님의 롤모델은 누구일까요?

롤모델이 한 두 분이 아니라.. 하하하. 넷마블 몬스터에서 일하시는 김세연 님과 줌 인터넷에서 일하시는 김태기 님 그리고 지금 같이 일하는 NHN의 정지범 수석님이요. 김세연 님은 출판계에 데뷔(?) 시켜주신 분이기도 한데요. 그분에게서는 논리적인 사고방식과 합리적인 생각을 본받고 싶어요. 때로는 인생의 선배로서 때로는 친구같이 저에게 여러 가지 조언도 해주시고요. 멘토와 멘티 같은 관계가 맞을 것 같아요. 김태기 님은 전 회사에서 같이 일했던 분인데요. 팀 빌딩에 탁월한 능력과 기술 경험이 많은 분이세요. 정지범 수석님은 지금 같이 일하시는 분인데요. 어떻게 하면 40대 후반까지 프로그래머로 일할 수 있는지 몸소 보여주고 계세요. 저도 최대한 프로그래머로 일하고 싶은 사람이라, 행동 하나하나 본받으려고 노력 중입니다. 

세 분의 공통점은 하나예요. 타인의 말을 잘 들어주고 본인의 일에 대해서는 프로페셔널하다는 거죠. 이분들을 통해서 많이 배우고 노력하고 있습니다.

 

책 집필 외에도, 앞으로 꼭 해보고 싶은 일이 있으신가요?

우선 책은 더 써보고 싶어요. 스프링 관련 주제로 꼭 한번 더 쓸 겁니다. 

 

마지막으로 한 말씀해주세요! 같은 업계의 동료 혹은 후배들에게 한 말씀해주셔도 좋아요!

제가 누군가에게 조언할 정도는 아니지만.. 주니어 개발자들에게 말씀드리고 싶어요.

기술은 실전이라고 이야기해주고 싶어요. 아무리 글자로 많이 읽어도 그걸 실제로 구현해보고 서비스해서 운영해보지 않으면 그건 문자일 뿐이라고 말하고 싶습니다. 실제 경험과 노하우가 되려면 개발해봐야 한다고 생각합니다. 장애가 날까 봐 두려워하고 버그가 생길까 봐 두려워해서는 아무것도 할 수 없어요. 장애나 버그 막고 뒤처리 하라고 여러분 선배가 있는 겁니다.

각 서비스나 상황에 맞는 기술이 있습니다. 그 상황에 맞게 기술을 쓰세요. 그전까지는 토이 프로젝트나 스터디나 발표로 여러분 동료들을 설득해보세요. 조급해할 필요 없습니다. 가장 먼저 시작한다고 1등은 아닙니다. 가장 늦게 시작해도 가장 깊이 아는 사람이 1등이 되는 겁니다.