people video thumbnail

규모에 상관없이 개발 문화가 잘 유지되는 곳

"개발자로서 열심히 개발을 했는데 트래픽이 적으면 굉장히 아쉽고 허무하기도 한데요. 네이버페이는 대규모 트래픽을 실제로 다뤄볼 수 있다는 점, 그리고 트래픽이 많다 보니 버려지는 서비스가 없다는 것이 가장 큰 장점인 것 같아요."

태우님 안녕하세요, 먼저 자기소개 부탁드립니다.

안녕하세요 저는 2021년에 네이버페이 결제Dev 조직에 합류한 김태우라고 합니다. 입사 후 데이터 마이그레이션과 서버 개발을 담당했습니다.

데이터 마이그레이션을 담당하셨다고 했는데 구체적으로 어떤 업무를 하신 건가요?

데이터 마이그레이션은 쉽게 풀어서 이야기하면 기존과 똑같은 데이터를 가진 DB (데이터베이스)를 만드는 작업입니다. 똑같은 데이터를 가졌지만, 더 성능이 좋거나 새로운 DB를 사용하기 위해 데이터 마이그레이션을 하는 경우도 있고, 단순히 기존 DB에서 데이터를 가져오는 것이 아니라, 과거에는 없었던 신규 기능에 필요한 데이터를 추가하기 위해서 데이터 마이그레이션을 할 때도 있습니다.

저는 네이버 쇼핑의 구매내역을 보여주는 타임라인에 새로운 기능을 추가하고 늘어나는 트래픽에 대응하기 위해 데이터 마이그레이션을 진행했습니다. 해당 마이그레이션은 약 40~50억건의 데이터를 이전하는 작업이었고, 데이터 사이즈나 정확성 검증에 있어 아주 도전적인 업무였습니다. 2022년 중순 즈음 자연스럽게 네이버 구매내역의 DB를 변경하는 데 성공하며 마무리했습니다.

이후 네이버 쇼핑 타임라인의 데이터 마이그레이션을 성공적으로 완수한 경험을 살려 네이버에서의 구매 내역이나 포인트 잔고를 공공 데이터로 제공하는 마이데이터 프로젝트에서 유저의 개인 정보 DB를 새로 구축하는 작업을 진행했고, 이 또한 성공적으로 완수했습니다.

위 두 업무를 성공적으로 마치고, 이제는 네이버페이 가맹점 연동을 도와주는 ‘네이버페이센터’의 개발을 담당하고 있습니다.

어떻게 개발자로 커리어를 시작해 쌓아 오셨는지 궁금합니다.

개발자로서는 다소 특이한 이력일수도 있지만 저는 중국에서 약 11년간 유학을 하며 대학을 졸업했고, 그 후 미국에서 CS (Computer Science) 분야로 석사 과정을 밟았습니다. 사실, 석사 졸업 전에도 병역 문제로 인해 미국에서 일하는 게 힘들다는 점을 알고 있었고, 그렇기에 석사 졸업 후에는 제 전공을 살려 대체복무인 전문연구요원 신분으로 게임회사에서 서버 연구 직무로 커리어를 시작했습니다. 또한 한국에서 일을 시작한 후에는 다행히도 개발자라는 직무가 저에게 잘 맞아서 자연스럽게 개발자로 계속 일하게 되었어요.

가장 자신 있고 좋아하는 개발 언어는 무엇인가요?

가장 자신 있다고 말하기는 조심스럽지만, 미래에는 node.js를 쓰는 비율이 지금보다 늘어날 수 있다고 생각합니다. Typescript나 Nest.js처럼 Javascript 자체의 한계를 극복하기 위한 시도가 성공적이었다고 생각하고, Docker, k8s, MSA 등으로 표현할 수 있는 요즘 트렌드에도 제법 잘 어울린다고 생각합니다. 물론 Node.js가 Spring이 쌓아온 안정성을 한번에 대체할 수는 없고, 특히 네이버페이와 같이 안정성이 가장 중요한 회사에서는 더더욱 그렇겠지만, 저는 발전 가능성을 가진 Node.js를 좋아합니다.

개발을 잘 하기 위해 필요한 역량은 어떤 게 있을까요?

당연히 개발에 대한 지식이나 이해가 깊어야 하고, 주도적으로 커뮤니케이션도 잘 하시는 분들이라면 더 좋을 것 같습니다.

어떤 분들은 개발자는 커뮤니케이션이 많이 필요 없고 혼자서 개발만 빠르게 잘 하면 된다고 생각하기도 하지만, ‘왜 이걸 개발해야 하는가’, ‘해당 기능 개발에는 왜 이렇게 오랜 시간이 걸리는가’, ‘기획자가 원하는 기능 중 어떤 기능을 포기하면 일정을 가장 많이 줄이는 것이 가능한가’ 등 개발자는 커뮤니케이션을 많이 해야 하는 직업이라고 생각합니다.

또한 저의 개인적인 경험으로는 개발자가 주도적으로 나서서 QA팀이나 기획, 사업팀과 소통을 할 때 개발 프로젝트의 효율이 올라간다고 느꼈고, 그렇기에 저는 업무와 관련된 이야기 외에도 다양한 대화를 많이 하려고 하는 편입니다. 특히 네이버페이는 네이버라는 큰 생태계에 속해 있다 보니 다양한 부서와 협업할 일이 많기 때문에 소통에 더 신경 쓰게 되는 것 같아요.

김태우 님 이미지 1
본인만의 코드 짜는 팁이 있다면 알려 주세요.

제가 좋아하는 이야기가 하나 있습니다. 길드의 화가가 목수에게 나무 집게를 만들어 달라는 요청을 했습니다. 나무 집게의 설계도는 아주 상세하고 완벽했습니다. 길이가 어떻게 되어야 하는지, 재료로 어떤 나무가 쓰여야 하는지, 또 내구성을 위한 고민까지 녹아 있는 완벽한 설계서였습니다. 목수도 열정과 실력을 전부 갖춘 기능장이었고, 설계도에서 놓친 포인트까지 챙겨가며 집게를 완벽하게 만들었습니다. 문제는 화가가 집게를 필요로 하는 이유는 그림을 그리기 위해 이번 한 번만 나무에서 사과를 따오기 위함이었고, 더 큰 문제는 목수의 주머니에 이미 사과가 들어있었다는 겁니다.

제가 자주 저질렀던 실수이기도 한데요 가끔은 나무 집게를 완벽하게 만드는 것에 집중하다가 왜 나무 집게를 만드는지 이유를 파악하지 못하는 일도 자주 있는 것 같아요. 개발을 시작하기 전에 기획자가 왜 이 코드를 원하는 것인지 먼저 파악하는게 도움이 되는 것 같습니다. 우리 주머니에도 이미 사과가 들어있을 수 있으니까요(웃음).

네이버페이에 근무하며 느끼는 회사의 가장 큰 장점과 가장 맘에 드는 복지는 무엇인가요?

대규모 트래픽을 실제로 다뤄볼 수 있다는 점입니다. 그리고 트래픽이 많다 보니 버려지는 서비스가 없다는 것입니다. 신규 서비스를 런칭하기 위해 많은 노력을 쏟게 되고, 심지어는 내가 만든 서버나 서비스에 애정까지 가지게 되는데, 트래픽이 적으면 굉장히 아쉽고 허무하기도 합니다. 네이버페이에서는 그런 아쉬운 상황이 없다는 것이 큰 장점인 것 같아요.

그리고 맘에 드는 복지는 임직원 전용 휴양시설이에요. 휴양시설에 당첨되어 가족들과 함께 여행을 갔을 때 부모님이 좋아하시는 모습을 보며 애사심도 고취되는 기분이었어요.

지금까지 네이버페이에서 일하면서 가장 뿌듯했던 순간이나 기억에 남는 순간을 꼽는다면 언제인가요?

거의 1년 가까이 작업했던 타임라인 마이그레이션 작업을 큰 탈 없이 마쳤던 때나, 야근을 꽤 많이 해가면서 마이데이터 서버를 2~3개월만에 데드라인에 맞춰 런칭했던 때가 가장 뿌듯했습니다.

타임라인 마이그레이션 작업의 경우에는 위에서도 말씀드린 바와 같이 40 ~50억건의 데이터를 이전해야 하는 작업이었고, 몇만 건의 데이터를 가지고 검증을 했지만, 존재하는 모든 케이스에 대한 테스트는 현실적으로 불가능했습니다. 또한 모든 데이터 타입에 대한 마이그레이션 시나리오를 모두 준비하고 대응했지만, 내가 미처 못 챙긴 시나리오가 있는 것이 아닌가하는 불안감 역시 남아있었습니다.

그런 조금의 불안감을 가지고, 옛날 DB를 유지하며, 문제가 생길 시 옛날 DB를 사용하도록 롤백까지 다 준비해둔 상태에서 신규 타임라인 서비스를 조심스레 런칭을 했습니다. 그리고 약 한달에서 두 달간 하며 데이터에 문제가 없었는지, 데이터 누락이 있다는 CS가 들어온 건 없었는지 확인해 가며 신규 서비스를 모니터링 했고, 그제서야 서비스가 문제없이 런칭했다는 것을 확신했던 순간이 기억에 남습니다.

마이데이터의 경우 법적 이슈로 인해 빠르게 오픈해야 했고 다소 급박한 일정에 맞춰 개발이 진행되었습니다. 사실 급박한 일정으로 인해 일정에 맞추지 못하는 것이 아닌가 하는 걱정이 많았었는데, 다행히도 일정에 맞춰 개발을 하고 문제없이 배포를 할 수 있게 되었습니다. 마이데이터 서버를 통해 다른 금융 앱이나 은행 앱에서도 네이버페이 포인트 잔액이나 사용 이력을 확인할 수 있고, 다른 앱에서 내가 만든 서버를 통해 그런 이력이 보일 때면 뿌듯함을 느낍니다. 개발자는 결국 서비스를 무탈하게 런칭하는 순간이 가장 뿌듯한 것 같네요!

김태우 님 이미지 2
앞으로 네이버페이의 구성원으로서, 또 개인적으로서 이루고 싶은 목표가 있다면 말씀해주세요.

예전에도 지금도 동일하지만, 개발을 재미있게 하고 싶고, 좋은 개발자가 되고 싶습니다. 물론, ‘좋은 개발자‘가 무엇인지는 너무나 어려운 문제인 것 같아서 좋은 동료 개발자분들과 함께 좋은 개발자가 무엇인지 함께 찾아 나가고 싶습니다.

그리고 네이버페이 입사 전부터 네이버페이를 애용했던 애용자로서, 사용이 편리하고 혜택도 많은 네이버페이를 더 많은 사용자들에게 제공해드릴 수 있도록 하는게 네이버페이의 구성원으로서 지금의 목표입니다!

네이버페이에 개발자로 지원하려는 분들을 위한 면접 합격 팁이 있을까요?

면접관이 나를 평가하는 평가자라는 마음가짐 보다는, 나와 기술에 관한 이야기를 나눌 수 있는 또 한 명의 개발자라는 마음 가짐으로 면접에 임했을 때 면접이 조금 더 편하게 풀렸던 것 같습니다.

그리고 면접관으로 참여했을 때 충분히 면접을 잘 본 지원자였지만 안타깝게 모시지 못한 경험을 떠올려보면 면접에서는 실력만큼이나 운 역시 큰 요소인 것 같아 탈락하더라도 너무 좌절하거나 실망하지 않으셨으면 좋겠습니다.

마지막으로 네이버페이 입사를 준비하는 예비지원자분들에게 한 마디 부탁드립니다.

네이버페이에 오기 전에 ‘대기업이라 기업 문화가 경직되어 있을 것이다’ 혹은 ‘대기업이라 수직적인 문화를 가지고 있을 것이다’ 이런 걱정은 하지 않았습니다. 네이버의 수평적인 문화는 워낙 잘 알려져 있으니까요. 이 부분은 입사 후에도 예상했던 것과 크게 다르지 않아 안심했던 기억이 납니다.

네이버페이에 오기 전에 가장 걱정했던 건, 네이버와 같이 큰 IT 기업에 가면 개발자인 나는 멈추는 게 아닌가 하는 걱정이었는데요, 네이버페이는 기업 규모가 커지더라도 개발 문화가 잘 유지되는 멋진 회사라고 생각해요. 개발을 좋아하는 멋진 동료분들이 앞으로도 많이 생겼으면 좋겠습니다.

More Insights

NAVER PAY Careers

지원하기 자원하기