kakaobank

우리가 세운 기준을
스스로 뛰어넘는다는 것
모바일/프론트
"우리가 만든 앱이 카카오뱅크의 얼굴이자 실력이라는 무게감을 나누어 들며 앱의 완결성을 추구해가고 있어요. 카카오뱅크의 현재가 금융의 미래니까요."
카카오뱅크의 혁신을 말할 때 모바일 앱을 빼놓을 순 없죠. 쉽고 편리한 UX, 그러나 절대 무너지지 않는 완결성까지. 카카오뱅크는 어느새 모든 금융 앱의 레퍼런스가 되었습니다. 카카오뱅크 앱은 어떻게 금융의 새로운 기준이 될 수 있었을까요?

카카오뱅크 앱의 탄생 스토리부터 오직 카카오뱅크에서만 경험할 수 있는 특별한 개발 문화까지 모바일개발팀을 리드하고 있는 Bernard를 만나 자세히 이야기를 나눠보았습니다.
Bernard는 카카오뱅크 앱을 처음 만들 때부터 함께 했었죠. 카카오뱅크 앱은 어떻게 금융의 새로운 기준이 될 수 있었나요?
Bernard '고객의 입장에서 무엇이 가장 편리할까?'라는 고민이 앱 개발의 시작점이었기 때문에 가능했다고 생각해요. 카카오뱅크 앱을 오픈할 때만 해도 금융권에서 고객 중심으로 서비스를 만드는 게 쉽지 않았거든요. 은행 입장에서 고객의 편리함보다는 새로운 상품을 빨리 출시해야 하는 것이 최우선 과제였으니까요.

하지만 카카오뱅크는 앱이 고객이 방문할 수 있는 유일한 창구이기 때문에 무엇보다 '고객 경험'에 가장 집중했습니다. 시나리오를 리뷰할 때도 개발자, 디자이너, 기획자가 모두 참여해서 고객이 불편할 것 같은 지점이 있다면 가차 없이 이야기하고 수정하는 일을 계속 반복했어요. 물론 그 과정이 쉽지만은 않았지만 모두가 '변화'에 대한 필요성 느끼고 모인 사람들이었기에 지금의 쉽고 간편한 카카오뱅크 앱이 탄생할 수 있었죠.
모바일개발 Bernard
기술적으로는 무엇을 가장 염두에 두고 개발하셨나요?
Bernard 우선적으로는 앱의 안정성에 가장 신중을 기했어요. 고객에게 '지금 앱이 안되니까, 다른 지점으로 가보세요'라고 할 수 없으니까요. 안정성을 위해 초기에 개발 구조를 탄탄하게 쌓는 것에 집중했고, 사전에 장애를 방지할 수 있는 다양한 방어책을 만들었습니다. 대표적으로 시나리오 테스트, QA 테스트 자동화 등 여러 방면에서 테스트를 자동화해서 시스템적으로 오류를 빠르게 찾아내고, 안정적인 배포를 할 수 있게 지원했습니다.

또 앱의 완결성을 위해 개발 문화에도 많은 신경을 썼어요. 다수의 개발자가 서로 다른 스타일로 개발하게 되면 앱의 완결성이 떨어질 수 있기 때문에 늘 같이 논의하고 방향성을 결정했습니다. 여러 사람이 짜도 한 사람이 짠 코드처럼, 장애가 나더라도 누구나 다른 사람이 만든 코드를 확인할 수 있게 말이죠.

이런 맥락에서 두 명의 개발자가 하나의 결과물을 만드는 '페어 코딩'도 시도하게 됐어요. 혼자서는 볼 수 없었던 길을 제 3자가 곁에서 조언을 해줘서 서비스 품질을 높일 수 있을 뿐만 아니라, 개발자 스스로도 생각을 넓힐 수 있는 기회가 되기 때문에 지금도 적극 권장하고 있습니다.
이야기를 들어보니, 카카오뱅크에서만 경험할 수 있는 특별한 개발 문화가 많을 것 같아요!
Bernard 자유롭지만 책임감 있게 일하는 문화가 자리 잡을 수 있게 최대한 간섭을 덜하고 있어요. 개발 문화가 '가장 MZ 스럽다?'라고나 할까요. (웃음)
하지만 팀원의 요청으로 진행하는 일대일 면담인 '만남의 광장', 팀 단위로 업무에 대한 깊은 대화를 나누는 '퀄리티 타임' 등 궁금한 점이 있거나 힘든 일이 생기면 언제든 찾아와 이야기할 수 있도록 다양한 장치를 마련해두고 있습니다.

그중 '회고'는 2016년부터 지금까지 단 한 번도 빠지지 않고 진행하고 있는 가장 핵심적인 문화인데요. 앱 배포 후 다 같이 모여서 이번 프로젝트에서 어떤 부분이 좋았고 힘들었는지 자유롭게 이야기를 나누고, 지금까지 진행한 모든 회고 내용을 위키에 정리해두고 있습니다.

회고에서 나온 불만사항 등을 회사에 개선 요청하기도 하지만, 이런 어려움을 동료들에게 털어놓는 것 자체만으로도 큰 의미가 있다고 생각하거든요. 이러한 루틴을 통해 팀의 규모가 점점 커지더라도 끈끈한 팀워크를 유지할 수 있게 되는 거죠.
반대로 다양한 금융 서비스를 앱 하나에 모두 담아야 하기 때문에, 개발자가 마주하는 어려움도 있을 것 같은데요?
Bernard 아무래도 금융 용어들이 낯설기 때문에 도메인을 이해하면서 개발해야 하는 게 쉽지 않을 수 있을 것 같아요. 하지만 어떤 개발을 하든 도메인 지식을 습득하는 과정 자체도 모바일 개발자가 반드시 해야 하는 일 중 하나라고 생각합니다. 그러니 오히려 핀테크 서비스가 부각되고 있는 요즘, 어디서도 경험할 수 없는 은행 도메인 지식을 얻을 수 있다는 것은 개발자 성장에 도움이 될 것이라 봐요.

또 서비스가 빠르게 확장되고 개발의 규모가 커지면서 이에 따른 비효율이 발생하기도 하는데요. 앱의 규모가 커지면서 빌드 속도가 느려지고, 개발자들이 많아지면서 일하는 방식이 복잡해질 수 있죠. 그러나 반대로 말하면, 단순히 앱만 만드는 것이 아니라 큰 규모에서 오는 비효율을 제거하는 경험을 쌓는다는 것 또한 개발자에게 큰 자산이 될 수도 있을 겁니다. 규모가 큰 앱의 안정성을 높이기 위해 많은 개발자들과 협업하며 다양한 방법을 적용해 보는 건 규모가 작은 회사에서 경험할 수 없는 일이니까요.
카카오뱅크의 모바일 개발자 규모는 어느 정도인가요?
Bernard 대한민국에서 다섯 손가락 안에 드는 규모라고 생각해요. 단순히 규모만 큰 게 아니라, 역량이 뛰어난 동료들이 많이 있습니다. 네임드 개발자들도 많이 있고요. 혼자서 개발을 하다 보면 '이게 맞나?'라는 확신을 갖기 어려운데 카카오뱅크는 다양한 협업 도구와 문화를 근간으로 함께 일하고 있어 동료들에게 배울 점이 많습니다.

대표적으로 개발한 코드를 카카오뱅크 앱에 반영할 수 있을지 Git Lab에서 의견을 나누는 '온라인 코드 리뷰'를 진행하고 있는데요. 상급자에게 코드를 확인받는 과정이 아니라 모두가 똑같은 입장에서 코드에 대한 의견을 내며 코드의 품질을 높이는 협업 도구입니다.

오픈 초부터 이런 문화가 점점 고도화되면서 이어지고 있기 때문에 규모가 커지더라도 주변 동료에게 언제든 도움을 요청할 수 있는 분위기를 유지하고 있다는 점이 큰 장점이라고 생각해요.
그렇다면 어떤 분들이 카카오뱅크 시즌2를 함께 한다면 본인의 역량을 마음껏 펼칠 수 있을까요?
Bernard 시즌 2에서는 고객들이 금융과 관련된 모든 활동을 카카오뱅크 앱에서 해결할 수 있도록 만들고 싶어요. 카카오뱅크 앱의 역할이 플랫폼으로 보다 확대되기 위해 수많은 대규모 프로젝트들이 예정되어있습니다.

사실 고객들이 직접 사용하는 기능을 만든다는 것 자체가 개발자들이 자부심을 가질 수 있는 일이거든요. 주변에 자랑하기도 쉽고요. (웃음) 앱 안에서의 고객 경험에 대해 고민하는 것이 즐거운 분, 우리가 만든 앱이 카카오뱅크의 얼굴이자 실력이라는 무게감을 함께 나누고 싶은 분을 기다립니다.
마지막으로 카카오뱅크는 어떻게 세상을 또 한 번 놀라게 할 수 있을까요?
Bernard 어느새 카카오뱅크 앱은 많은 은행, 핀테크 기업들의 기준이 되었어요. 이제는 우리가 세운 기준을 또다시 스스로 뛰어넘으려고 합니다.

카카오뱅크의 현재가 금융의 미래라고 생각해요. 국내 최고 인터넷 은행에서 나아가, 이제는 최고의 금융 플랫폼으로 세상을 또 한 번 놀라게 하고 싶습니다. 그 중심에는 최대 규모의 앱을 만든 카카오뱅크 모바일 개발자들이 있을 거고요.
더 다양한 이야기를
카카오뱅크 Plus에서