Q. 필명이 ‘창천향로’에요. 어떤 의미인가요?
만화책 중에 ‘창천항로’라는 만화책이 있어요. 삼국지에서 조조를 중심으로 구성한 이야기예요. 보통 삼국지가 유비를 기준으로 하는데 이건 조조 입장에서 쓴 이야기예요. 근데 너무 재밌는 거예요. 당시 인생 만화라 무조건 아이디로 써야겠다 했는데요. 이 아이디를 누군가 이미 쓰고 있어서 한 글자를 더 붙여서 쓰고 있어요. 저는 조조 캐릭터가 마음에 들어요.
만화책 '창천항로' (이미지 출처: https://www.ebookjapan.jp/ebj/13122/)
Q. 블로그를 활발히 기록하고 계세요.
지금 세 번째 회사에 다니고 있어요. 블로그는 첫 번째 회사 다닐 때는 못 했고 두 번째 회사 들어가고 2015년도에 시작했어요. 근데 한 달에 한 번 쓸까 말까였어요. 집도 사람들이 안 오면 폐허가 되잖아요. 블로그도 사람들이 안 오니까 할 마음이 없어져서 글을 안 올리게 되더라고요.
2015년도에 썼던 글을 보면 퀄리티가 엄청 떨어지거든요. 막무가내로 쓴 글들이 많아요. 그러다 한 번은 세미나 후기를 썼는데 그게 대박 비슷하게 났어요. 그때부터 사람들이 오길래 세미나 후기도 쓰고 관련 공부 내용을 썼어요. 그렇게 큰 사이즈는 아니지만 방문자 수가 계속 늘었어요. 요즘은 4000명 정도 들어와요. 그래서 좀 할 맛이 나요. 주말에는 천 명에서 2천 명, 평일에는 4천에서 5천 사이를 왔다 갔다해요.
Q. 글 쓸 때 만화로 비유를 많이 드시던데요.
만화나 TV를 보다가 나중에 써먹을 수 있겠는데 때 싶으면 에버노트에 멘트랑 장면을 기록해둬요. 구글링해보면 해당 페이지가 딱 나올 때가 있어요. 그럼 가장 감명 깊었던 장면, 이렇게 저장을 해둬요. 검색해서 나오는 그 장면들을 모아 글을 쓸 때도 있어요.
열심히 하면 잘 안되는 것 같아요. 열심히 하면 사람들이 좋아하는 글이 잘 안 나오는 것 같더라고요. 그냥 자기 전이나 샤워할 때나 어디 기차 타고 이동할 때 생각나는 걸 쓰면 좋아해 주시고 이런 주제로 써야지 작정하고 쓰면 잘 안되는 것 같아서 그냥 생각 없이 살려고요. (웃음) 그래서 집에 TV가 없는데 TV를 살까 싶기도 해요.
채널을 돌리다 우연히 봤는데, 재밌거나 저럴 수 있구나 싶은 프로그램들이 많아요. 나이를 먹으면서 넷플릭스든 유튜브든 내 취향에 맞는 콘텐츠만 골라보니까 새로운 걸 만날 기회가 없고 좋아하는 장르, 분야, 작가 위주의 프로그램만 보니까 범위가 한정 지어지는 것 같아요. 했던 생각, 했던 말들만 하게 되는 경향이 있어요. 다양한 환경을 접하고 싶은데 쉽지 않아요.
Q. 페이스북 커뮤니티 <초보 개발자 모임>, <JetBrains Korea User Group>의 운영자이기도 해요.
JetBrains 사용자 모임이라고 인텔리제이, 웹스톰 등 JetBrains에서 만든 제품군의 한국 사용자가 모여있는 페이스북 그룹이에요. 저는 일반 회원으로 있다가 관리자분이 떠나면서 저랑 다른 분들을 운영진으로 선택했어요. 운영진 중 한 분은 JetBrains 한국 총판업체의 과장님이세요. 그분이 행사가 있을 때 발표자로 운영진들을 밀어주려고 하셔서 혜택을 좀 받았어요.
또 요즘은 Github에 주니어 개발자 채용정보 페이지 운영을 하고 있는데요. 재미난 일들이 좀 많아요. 스타트업 인사팀에 계신 분들이 자기 회사 잡플래닛 평점이 3.3이 안되는 데 혹시 공고를 올릴 수 없느냐, 이런 연락을 많이 주세요.
그래서 제가 아예 명시했어요. 어떤 회사인지 모를 때는 무조건 잡플래닛 평점 보고 하겠다고요. 만약에 평점이 3.3 이하일 경우에는 받지 않는다고. 사람인이나 잡코리아처럼 다해주면 안 되잖아요. 내가 잘 아는 회사거나 모르는 회사더라도 외부에서 평가가 괜찮은 회사면 올리겠는데 그게 아니면 안 된다고 몇 번 튕기기도 했고요. 소개 글을 정성스럽게 써주시는 분도 계시고. 재밌어요.
JetBrains Korea User Group 페이스북 대문
Q. 커뮤니티를 세 개 운영 중인데 벅차진 않으세요?
네, 제가 발표하는 걸 되게 좋아해요. 근데 어떤 회의든 아니면 회사에서는 제가 이야기를 항상 다 할 수는 없잖아요. 그걸 표출할 수 있는 창구가 컨퍼런스에요. '나와 비슷한 취향을 가진 사람들한테 하고 싶은 말이 있으면 어디에 표출하지?' 싶을 때 제 친구들, 제 회사 동기들한테는 얘기하기 조금 애매해요. 왜냐하면 퇴근하고 나서도 개발이나 취업, 세미나 이야기를 하는 건 좀 애매하잖아요. 그런 것들을 커뮤니티를 통해 할 수 있으니까 저에게는 오히려 스트레스를 푸는 장소인 것 같아요.
Q. 즐겨 찾는 ‘기술 블로그’가 있다면 알려주세요.
권남* 님의 ‘까먹지 말자’ 블로그예요.
개인적으로 멀리서 그분을 존경했어요. 권남님은 레거시를 어떻게 개편해야 하고 기술을 어떻게 적용해야 하는지, 그리고 자신의 위치에 관해 쭉 글을 쓰셨는데요. 지금은 저희 회사로 오셨어요. 다른 팀이지만 같이 일하게 되어 너무 좋아요.
비 기술 블로그에서는 생각노트가 있어요. 저희 회사 기획자 분들도 많이 보시더라고요. 되게 좋아요. 그분만의 인사이트가 있어요. 생각노트 블로그를 평소에 많이 참고해요. 회사에서도 공유된 적이 있어요. 생각노트에서 배민으로 인해 장사가 어떻게 바뀌고 있는지 포스팅한 글이 있었거든요. 개발을 제외하고 궁금한 게 있을 때 종종 들러요. 좋은 블로그예요. 저도 그렇게 되고 싶어요.
생각노트 뉴스레터 구독자가 9천명이 넘었어요. 뉴스레터는 페이스북에서 좋아요 누르는 거랑 완전 다른 접근성을 가지잖아요. 메일 주소를 입력하고 인증을 받아야 뉴스레터를 구독하는데, 사람들이 그 수고를 들일 만큼 글이 퀄리티가 좋고 그 숫자가 개인 블로그인데도 굉장히 많은 편이니까요. 생각노트처럼 단골을 만들고 싶다는 생각이 들더라고요.
Q. 회사에서는 어떤 일을 하나요?
속해있는 팀은 결제 정산 개발팀이에요. 거기서 저는 백엔드를 맡았어요. 저희 회사가 사실 크진 않거든요. 총직원은 1000명인데요. 개발자는 200명, 개발 직군에서도 웹프론트, 모바일 앱, 데이터 사이언스를 빼면 백엔드 분야는 130명~140명 정도에요. 그런데 인프라 엔지니어분들이 적어서 백엔드 개발자가 코드 짜면서 인프라도 같이 해야 하는 상황이에요. 또 필요한 툴이 있으면 만들어야 하니까 주력은 백엔드 자바 코드를 짜는 일이지만 인프라랑 웹 프론트도 겸사겸사하고 있어요.
Q. 지금 하는 프로젝트도 간단히 소개해주세요.
지금은 정산이랑 포인트 두 가지 프로젝트를 맡고 있어요. 크로스오버가 되어야 하기 때문에 한 사람이 보통 프로젝트 1~2개를 맡아요. 저랑 같이 정산담당자가 있고 그분은 다른 업무를 같이하는 방식으로 해야 이 사람이 빠져도 다른 사람을 대체할 수 있어요. 전체를 다 가져갈 순 없거든요.
결제 쪽 담당자는 일본으로 여행 갔다가 거기서 작업하시기도 했어요. 왜냐하면 에러가 났는데 대응해줄 사람이 없었거든요. 그런 일도 있어서 지금은 두 가지 일을 하는데요. 이것도 사람이 늘어야 나눌 수 있어서 사람을 찾고 있어요.
Q. 속한 개발팀의 자랑하고픈 지점이 있나요.
각자 잘하는 분야가 있어요. 저희가 큰 회사가 아니다 보니 인프라, 웹 프론트도 해야하고 aws도 다뤄야 하는데, 각 분야를 잘하는 사람이 있어요. 인프라를 잘하는 분, 스프링부트 책을 쓰신 분, 도메인을 완전히 꿰고 있는 분도 있어요. 기획자나 운영팀 직원보다 도메인을 잘 알아서 가져온 기획을 퇴짜 놓기도 해요. 각자 모자란 부분을 채워주는 분들이 있어요.
대신에 만약 인프라 잘하시는 분이 퇴사하면 위험해요. 왜냐하면 그분 위주로 일이 돌아갔으니까요. 모두가 골고루 잘하면 괜찮지만 각자 장단이 명확하니까 한쪽이 빠지면 위험해요.
회사를 다녀보니 저는 오래 다닐 것 같아요. 아직 제가 모자란 부분이 많은데요. 각 분야를 잘하는 분들께 배울 수 있어서 좋아요. 다들 공부도 열심히 하고, 톱니바퀴가 맞물리듯 모자란 부분을 채워주면서 돌아가서 좋아요. 100% 만족하는 건 아니에요. 더 잘하시는 분이 많이 오면 좋겠어요.
Q. 백엔드, 누구나 잘할 수 있는 분야는 아닌 것 같아요. 어떤 사람들이 (어떤 습관을 가진 사람들이) 잘할 수 있을까요?
‘프로그래머, 열정을 말하다’라는 책에 이런 얘기가 있어요. 클라이언트 사이드는 기술적인 고장이 쉽게 일어나요. 하지만 백엔드의 기술적 도전은 서비스가 성공하기 전까지는 잘 일어나지 않거든요. 뒤에서 난장판을 쳐도 트래픽이 없을 때는 괜찮아요. 아무런 장애도 나지 않으니까요. 서비스가 커져야 기술적 도전과 어려움을 겪고 직접 해볼 수 있어요. 그런 경험을 하려면 큰 회사를 갈 수밖에 없는 거죠.
왜냐하면 트래픽과 수많은 데이터를 최적화해서 다루고 기술적 도전들을 겪고, 다루려면 그런 환경을 갖춘 회사로 가야 하는데요. 그걸 얻기가 쉽지 않아요. 제 생각에 자질보다는 그런 기술적 도전을 할 수 있는 회사에 속한 사람들이 백엔드를 잘 할 수 있는 여건을 갖고 있다고 생각해요. 혼자 하는 서비스는 자기 마음대로 해도 상관없잖아요. 하루 사용자가 100명이라면 크게 상관없어요. 인프런도 마찬가지지만 서비스가 수직상승 하면 각 시기마다 필요한 기술과 구성이 완전 달라지거든요. 서비스가 커감에 따라 같이 성장해갈 수 있는 환경이거나, 아니면 너무 잘 갖춰져 있어서 그대로 갖고 오면 되는 환경이거나 둘 중에 하나를 접해볼 수 있으면 좋을 것 같아요.
그런 트래픽이나 데이터를 만져볼 수 있는 환경에 있지 못하면 성장을 못하잖아요. 백엔드는 트래픽이 없으면 본인이 아무리 자질을 갖고 있어도 경험하지 못하거든요. 그래서 다들 그런 환경을 찾아가는 거 같아요.
저기 가면 뭔가 대단한 보물이 있겠거니 생각해서요. 밑바닥, 백지 트래픽에서 쭉쭉 올라가는 경험이 중요하고, 다양한 경험을 해본 사람이 백엔드를 잘하는 것 같아요. 그래야 이렇게 하면 큰일 난다고 사전에 얘기해줄 수 있어요. 이해도도 높고요.
‘이렇게 안 해도 다 잘되던데요.’라고 말하는 사람들은 트래픽 경험을 해보지 않은 거예요. 실제로 경험한 사람들은 그렇게 하면 어떤 일이 발생한다는 걸 알지만 보여줄 순 없잖아요. 그래서 대화하고 설득하려면 그런 환경을 경험해봐야 해요.
책 '프로그래머, 열정을 말하다' (이미지 출처: http://www.yes24.com/Product/Goods/6185848)백엔드는 당장 결과물이 안 나와도 기다릴 수 있는 사람에게 적합하다고 생각해요. 당장 결과물이 나와야지만 되는 사람은 프론트엔드로 가야 하고요. 예를 들면 터미널만 보고도 일할 수 있는 사람들. 왜냐하면 백엔드는 그냥 API라서 화면 데이터만 나오거든요. 그럼 내가 뭘 만들었는지도 모르고, 혼자 서비스를 만들지 못해요.
초기에는 백엔드를 조금만 배워도 서비스를 만들 수 있어요. 하지만 클라이언트는 제대로 배워야 서비스를 만들 수 있잖아요. 서비스 디자인이 별로면 안 쓰잖아요. 화면이 별로면 사용자가 안 쓰잖아요.
백엔드 개발자가 자기 공부 시간을 빼서 클라이언트만 공부하지는 않을 거고, 남는 시간에 조금씩 공부해서는 쓸만한 서비스 화면을 만들기는 어려워요. 그래서 혼자서 서비스를 만들지 못할 수도, 당장 결과물이 안 나올 수도 있지만, 개발하는 걸 좋아하는 분들이 백엔드에 어울리지 않나 생각해요.