brunch

매거진 Work

You can make anything
by writing

C.S.Lewis

by 카카오뱅크 Plus Aug 26. 2022

서버와 계정계를 잇는 뱅킹API 개발자 이야기

경계를 넘나드는 직무

· 

Intro


카카오뱅크 뱅킹API 개발자는 어떤 일을 어떻게 하고 있을까요?

직무에 대해 조금 더 알아보는 시간, 경계를 넘나드는 직무 이야기를 통해 확인해 보세요.

뱅킹API 개발자 공고 보러 가기



Kenny



Q. 안녕하세요. 인터뷰에 참여해주셔서 감사합니다. 간단한 소개 부탁드려요.


Kenny. 안녕하세요. 케니입니다. 저는 2016년 5월에 카카오뱅크에 합류해 론칭 프로젝트 때부터 전자금융 개발자로 일하고 있습니다. 지금은 팀에서 시니어 개발자 롤과 여신뱅킹API개발팀 리드 역할을 맡고 있어요. 고유 업무 도메인인 전자금융 비즈니스를 개발하고 있고, 올해 추가적으로 개발 영역을 확장하는 기술 과제를 진행하고 있습니다. 저는 후자에 조금 더 집중해 개발 업무를 수행하고 있어요.



Q. '전자금융', '뱅킹 API'라는 용어를 낯선 분들이 있을 것 같은데요. 전자금융 개발자는 어떤 일을 하는 분들인지 궁금해요.


Kenny. '전자금융'은 '전자적인 방식으로 금융 업무를 처리한다'라고 풀어쓸 수 있어요. 은행 코어 시스템인 계정계와 서버, 클라이언트 사이에 존재하는 기능이라고 보시면 됩니다. (계정계 - 전자금융 - 서버 - 모바일) 


계정계 시스템은 은행의 모든 거래 데이터를 처리하는 시스템인데요. 기존 은행은 오프라인 영업점을 중심으로 서비스를 제공하다 보니 시스템도 영업점 환경에 맞춰져 있었어요. 그런데 카카오뱅크는 모바일을 통해서만 은행 서비스를 제공하고 있죠. 그래서 계정계와 서버 사이에서 해야 하는 일을 '전자금융'이라는 별도 도메인으로 설정하고, 카카오뱅크가 비대면으로 은행 서비스를 원활히 제공할 수 있도록 하는 개발 업무를 맡고 있습니다. 


전자금융 개발자는 '뱅킹API 개발자'라는 직무명을 함께 쓰고 있는데요. 여기엔 팀이 지향하는 바가 담겨있다고 보시면 됩니다. 계정계 전자금융에 제한되지 않고, 다양한 뱅킹 서비스와 관련된 API를 개발하는 팀으로 업무 범위를 확장하고자 하는 의지가 담겨 있답니다.



Q. 그렇다면 카카오뱅크 안에서 전자금융 개발자는 어떤 역할을 하고 있나요?


Kenny. 전자금융 개발자는 모든 은행 상품과 서비스를 개발할 때 허리 역할을 하고 있습니다. 앞으로는 모바일, 웹, 고객센터 등을 바라보고 있고 뒤로는 뱅킹 시스템인 수신, 여신, 카드, 외환 등의 업무를 보고 있어요. 제가 요즘 운동을 열심히 하고 있는데, 운동을 할 때마다 코어 힘이 중요하다는 이야기를 듣고 있거든요. 코어 힘이 좋아야 그걸 기반으로 밸런스 있게 몸을 단련할 수 있다고요. 전자금융 개발자가 하고 있는 역할도 이와 비슷하다 생각합니다. 모바일 앱과 은행 시스템 사이에서 든든한 코어 힘으로 카카오뱅크가 좋은 서비스 경험을 제공할 수 있도록 지탱해주는 역할을 하고 있어요.


특히 카카오뱅크에서 코어 힘이 중요한 이유가 있는데요. 은행 시스템은 고객 친화적이라기보다 은행 친화적이에요. 은행의 시스템이 중요하게 생각하는 것과 고객이 필요로 하는 것이 다르다고나 할까요. 예를 들면 A가 B한테 돈을 이체할 때 은행 시스템은 A의 계좌에서 돈이 빠져나가는 것과 B의 계좌에 돈이 들어오는 것을 별개로 봐요. 분리해서 생각하고, 각각을 개발하는데 집중하죠. 하지만 고객 입장에서는 돈이 A에서 B로 이동하는 행위 자체가 중요해요. 돈이 빠지고 들어가는 두 단계로 처리된다는 건 생각하지 않죠. 이렇듯 둘 사이의 패러다임이 다르다 보니 중간에서 맞춰주는 역할이 필요하고, 이를 전자금융 개발자가 하고 있다고 보시면 됩니다. 카카오뱅크는 사용자 친화적인 경험을 중요하게 생각하기 때문에 시스템과 고객 사이에서 우리가 역할을 잘해야 차별화된 기능과 경험을 지속적으로 제공할 수 있다고 생각하고 있어요.







# 채용 공고 함께 읽기


Q. 이제 채용공고의 ‘담당업무’를 같이 살펴보려고 하는데요. 뱅킹API 개발자로 입사한 분은 어떤 업무를 하게 되나요?

담당할 업무

· 현재 하고 있는 일
   - 계정계 전자금융 도메인 개발 및 운영(개인뱅킹, 이체, 비대면 인증, OTP, 기업뱅킹 등)
   - 채널(모바일, 웹 등) → 계정계(수신, 여신 등)를 연동하는 서비스 개발 및 운영  
      : 계정계 각 비즈니스 모듈 연동을 위한 proxy & aggregation role 수행

· 준비하고 있는 일
   - 올해의 팀 미션 수행: 오픈소스 기반의 백엔드 시스템 개발 및 운영으로의 업무 확장 


Kenny. 개인 뱅킹과 기업 뱅킹을 운영함에 있어 필요한 전자금융 업무를 총체적으로 맡고 있어요. 수신, 여신, 카드, 외환 등 은행 서비스를 모바일을 통해 잘 제공할 수 있도록 채널과 계정계를 연동하는 역할을 합니다. 뿐만 아니라 비대면 인증으로 통칭되는 신분증 인증, 영상 통화, 1원 이체 등을 처리하고 있어요. 일반 시중 은행에는 없는 업무이지만 카카오뱅크가 비대면 은행이기에 확장된 영역이라고 볼 수 있습니다.



Q. 카카오뱅크의 고객은 앱을 통해서만 금융 생활을 하다 보니 전자금융 개발 업무가 중요했을 것 같은데요. 카카오뱅크를 론칭할 때나 서비스를 운영할 때 어려운 점이 많았을 것 같아요.


Kenny. 우여곡절이 많았죠. 오픈 준비할 때는 저 혼자 업무를 담당했거든요. 앞서 말했듯이 패러다임이 다른 두 영역을 연결하는 허리 역할을 하다 보니 양쪽의 니즈를 다 이해해야 하고 잘 조율해야 했어요. 은행 비즈니스에 대해서 디테일하게는 아니지만 기본적인 메커니즘은 알고 있어야 하고, 모바일 환경에 대해서도 알고 있어야 했죠. 그래야 둘을 잘 연결할 수 있으니까요. 두 환경에 대한 이해를 바탕으로 최적의 안을 고민하고, 가교 역할을 잘했을 때 뿌듯함과 성취감을 느꼈어요. 



Q. 채용공고에 올해의 팀 미션을 기재해주신 게 인상적이었어요. '오픈소스 기반의 백엔드 시스템 개발 및 운영으로의 업무 확장'이라고 하셨는데요. 조금 더 설명해주실 수 있을까요?


Kenny. 지금은 계정계 전자금융 영역에 초점을 맞추고 있다면, 채널 서버의 역할까지 영역을 확장한다는 목표예요. 계정계 전자금융과 채널 서버는 환경과 패러다임이 아예 다르기 때문에 저희에게는 굉장히 도전적인 미션입니다. 새로운 환경에 대한 공부와 기술적 역량을 키우기 위한 노력을 해야 하고, 일도 늘어나겠죠. 하지만 우리의 존재 이유를 생각해 봤을 때 꼭 도전해야 하는 영역이라 생각했어요. 2021년에 계정계에 부담을 줄이는 '오슬로'라는 프로젝트를 성공적으로 론칭했는데, 이 경험을 통해 성공할 거라는 믿음을 가지게 되었어요.




Q. 필수 경험과 역량 중에서 가장 중요하게 보고 있는 걸 딱 하나만 골라주신다면요?

필수 경험과 역량

· 금융권 개발 경력이 1년 이상 7년 미만인 분
· Java & RDBMS 기반의 백엔드 개발에 익숙하며, DBMS Transaction에 대한 이해도가 있는 분 
· 자기주도적인 개발과 전체 프로세스를 고려한 설계와 구현이 가능한 분
· 다른 사람과의 커뮤니케이션이 원활하며, 동료들과 지식공유의 가치를 활발히 실현할 수 있는 분


Kenny. '금융권 개발 경력 1년 이상 7년 미만인 분'을 꼽고 싶어요. 꼭 은행에서 쓰는 언어를 능숙하게 사용해야 한다거나 금융권 개발 경험이 있어야 한다는 뜻은 아니에요. 금융권과 계정계 개발 환경에 대해 알고 있고 이해할 수 있는 분을 찾고 있어요. 계정계 개발 환경이 일반 IT 기업에 비해 폐쇄적인 편이거든요. 주어진 라이브러리를 통해서만 개발할 수 있다거나 RDB 기반의 데이터 관리를 중점적으로 할 수밖에 없는 등 제한적인 부분이 많아서 잘 모르고 오시는 분들은 답답함을 느낄 수도 있어요. 우리 팀의 매력도가 떨어질 수도 있겠다는 우려가 있기도 하지만, 현재 상태가 그렇다는 것이고 앞으로 더 나은 환경에서 개발할 수 있을 것이라는 자신감이 생겨 솔직하게 말씀드리게 되었어요. 



Q. 우대사항에서도 하나를 골라보면 좋을 것 같아요.

우대사항

· 은행의 '계정계 전자금융' 도메인 개발 경력 1년 이상인 분
· Devon Framework 기반의 개발환경을 경험해본 분
· 레거시 시스템에 대한 개발과 오픈소스 기반의 개발을 동시에 개발할 수 있는 분


Kenny. '레거시 시스템에 대한 개발과 오픈소스 기반의 개발을 동시에 개발할 수 있는 분'을 선택하고 싶어요. 저희 팀의 방향성이라서요. 지금은 폐쇄적인 환경에서 개발을 하고 있지만 올해부터 오픈소스 환경에서 개발을 시작해볼 예정이라 두 사이드에서 경험을 모두 해보고 싶고 할 수 있는 분과 함께 하고 싶습니다.





# 합격 꿀팁


Q. 케니는 오랜 기간 동안 채용 평가 전형에 참여하시고 있잖아요. 입사지원서에서 어떤 점을 체크하고 있는지 궁금합니다.


Kenny. 프로젝트 경력을 기술할 때 단순한 정보를 나열하는 것에 초점을 맞춘 분들이 계세요. 그런데 공고를 보면 필수 경험과 역량, 우대사항이 있잖아요. 예를 들어 Java와 RDB가 공고에 기재되어 있는데 입사지원서에서 그 역량을 확인할 수 없는 경우가 종종 있거든요. 지원자 분이 경험했던 프로젝트와 과업을 시간 순서대로 나열하기보다, 카카오뱅크에서 할 업무와 얼라인 되는 부분이 무엇인지 고민하고 작성해주셨으면 해요. 그리고 제일 중요하다고 생각하는 경험을 맨 위에 기재하면 평가자가 조금 더 흥미롭게 입사지원서를 읽을 수 있을 것 같습니다.



Q. 코딩테스트 전형과 코드 리뷰는 어떻게 준비하면 좋을까요?


Kenny. '어디까지 구현해야 하나요?', '요구사항을 다 구현해야 하나요?'라는 질문이 들어와요. 다른 직무는 어떤지 모르겠지만 뱅킹API 개발자 직무는 제출해주신 코드가 돌아가지 않아도 됩니다. 할 수 있는 부분까지만 해서 제출하셔도 돼요. 


코딩테스트 과제는 코드 작성을 위한 설계를 하는 것과 코드를 작성하는 것, 두 가지로 나뉘는데요. 어떤 생각으로 설계를 했고 코드에 어떻게 반영하려고 했는지, 모든 것을 구현하지 못했다면 왜 그 기능을 먼저 구현하려고 했으며 다른 것은 왜 포기했는지에 대한 질문을 드리고 있어요. 얼마나 고민을 해보았는지가 중요한 것이고, 기술 역량이 대단한 분을 찾으려고 하는 건 아닙니다. 깊이 있는 생각의 과정을 통해 개발을 하는 분이라면 지금 모르는 부분이 있더라도 카카오뱅크에 와서 성장할 수 있을 거라 생각해요.



현실에서도 그렇죠. 일을 할 때 개발 일정이 항상 넉넉하지 않거든요. 코딩테스트를 할 때처럼 제한된 시간 안에 개발을 하기 위해 어떤 것을 우선순위 상단에 두어야 하는지 판단해야 하고, 이를 잘 선택하는 것도 개발자의 역량이라고 보고 있어요. 그래서 코딩테스트의 완벽함보다는 분석과 설계, 개발의 과정에서 충분한 고민을 해보고 그 고민을 코드 리뷰에서 나눠주시기를 기대하고 있습니다.



Q. 실무진 면접전형은 어떻게 진행되나요?


Kenny. 뱅킹API 개발자 면접에는 면접관 3명이 참여합니다. 면접 순서를 미리 알려드리면 긴장을 덜 하실 것 같아 말씀드려볼게요. (웃음) 처음엔 인사말과 면접관 소개로 시작해요. 그리고 과제를 보며 심층 질문을 드리는데 이때 기술 역량을 체크한다고 보시면 됩니다. 비즈니스 도메인 경력이 있다면 이에 대한 이야기를 나누고, 마지막으로 컬처 핏을 확인해요. 컬처 핏은 전반적인 인성보다 개발자로서 성장과 학습에 대한 가치관, 협업 역량을 중점적으로 보고 있어요. 


저는 지원자 분들이 준비한 말, 하고 싶은 말은 다 쏟아놓고 가셨으면 좋겠어요. 저도 과거에 카카오뱅크 면접을 볼 때 면접관 분들이 제가 어떤 이야기든 할 수 있도록 도와주셨거든요. 처음에 얼어 있을 때 긴장을 풀어주시고, 말문이 막히면 다시 이야기를 시작할 수 있도록 질문을 주셨어요. 그래서 면접을 보고 나왔을 때 면접을 못 봤다는 생각은 했지만 말을 다 못했다는 느낌을 받진 않았습니다. 저도 그런 면접 경험을 드리고 싶어요. 시간은 필요하시다면 얼마든 드리고 있으니 최대한 많은 이야기를 후회 없이 해주셨으면 좋겠습니다.



Q. 마지막으로 공고에 담진 못했지만 이 이야기는 꼭 하고 싶다!라는 게 있다면?


Kenny. 얼마 전 '싱어게인' 보면서 이승윤 님이 했던 멘트가 와닿았어요. 충분히 대중적이지도 못하고 충분히 락도 아니고, 충분히 포크인 것도 아닌 본인이 '애매한 사람'이라고 생각했다고 하더라고요. 뱅킹API 개발자로 일하며 저도 가끔 그런 생각을 해요. 계정계와 서버, 모바일 사이에서 애매하게 존재하고 있는 것 같은 기분이요. 


그런데 바꿔 생각해보면 각기 다른 특징을 가진 분야를 두루 잘 이해하고 조화롭게 엮고 연결하며 더 큰 가치를 만든다는 게 우리 팀의 경쟁력이라는 생각을 했습니다. 은행이라는 복잡한 비즈니스를 고객에게 편하게 제공하는 카카오뱅크에 반드시 필요한 역할이고, 은행 비즈니스부터 모바일 환경에 이르기까지 폭넓은 경험을 할 수 있는 장점이 있다는 것을요. 이 인터뷰를 보고 도전을 해보고 싶은 마음이 들거나 가슴이 살짝 떨린 분이 있다면 꼭 지원해 주셨으면 하는 바람이 있습니다. 함께 이전에 없던 새로운 전자금융 개발 업무를 만들어요!







· 서버 개발자 집중 채용 공고 보러 가기

· 나의 개발이 세상을 바꾼다고? 서버 개발자 집중 채용 살펴보기

브런치는 최신 브라우저에 최적화 되어있습니다. IE chrome safari