brunch

매거진 Work

You can make anything
by writing

C.S.Lewis

by 카카오뱅크 Plus Aug 26. 2022

대용량 트래픽을 다루는 서버 개발자 이야기

경계를 넘나드는 직무


Intro


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

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

서버 개발자 공고 확인하기



차례대로 Ain, Gid, Benji, Danny



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


Ain. 개인사업자 대출 관련 서버 개발 업무를 하고 있는 아인입니다.


Gid. 수신 상품 서버 개발을 맡고 있는 기드입니다. 주로 모임통장 관련 서버 개발을 했었는데, 지금은 새로운 프로젝트에 참여하고 있습니다.


Benji. 저 역시 새로운 프로젝트에서 서버 개발을 할 예정인 벤지입니다.


Danny. 신용카드와 여신 상품 서버 개발을 하고 있는 대니입니다. 금융 도메인을 알고 싶어서 카카오뱅크에 입사하게 되었는데요. 좋은 동료들과 재미있게 일하고 있습니다.



Q. 카카오뱅크에서 서버 개발자는 어떤 역할을 하고 있나요?


Danny. 클라이언트에서 필요로 하는 데이터를 다른 컴포넌트에 적절히 요청해 Aggregation 하고, 고객의 정보를 안전하게 계정계에 전달하는 일을 하고 있습니다. 클라이언트와 계정계를 잇는 다리 역할을 하고 있다고 할까요. 뿐만 아니라 대외기관과 연동을 할 때 트래픽 등을 고려하여 서비스가 매끄럽게 제공될 수 있도록 노력하고 있습니다.


Gid. 은행이라는 도메인 특성상 '계정계'가 있다는 점이 특징인 것 같아요. 계정계와의 통신 방식은 또 달라서 카카오뱅크에서만 할 수 있는 서버 개발 경험이라고 생각해요. 그리고 금융결제원, 여신금융협회 등 연동되어 있는 대외기관이 다른 회사에 비해 많은 편이에요. 회사마다 서버 상태, 스펙이나 소통 방식이 모두 달라서 서버 개발자의 역량과 실력으로 해결해야 하는 부분이 많습니다.



Q. 서버 개발자를 찾는 회사가 많다 보니, '굳이 카카오뱅크에?'라는 생각을 하시기도 하는 것 같아요. 


Gid. 핀테크가 핫한 분야 중 하나인데요. 카카오뱅크는 그중에서도 흑자를 내는 회사예요. 개인적으로 회사가 돈을 잘 버느냐도 중요한 포인트라고 생각해요. 성장하는 분위기 속에서 무엇이든 해볼 수 있는 가능성과 에너지가 있거든요. 그리고 카카오뱅크는 돈을 다루는 회사이다 보니 안정성이 중요해서, 코딩도 완벽하게 하려고 하는 도전의식이 생겨요.



Benji. 저는 분위기를 말하고 싶어요. 금융 회사라서 수직적이고 딱딱할 줄 알았는데 실제로는 밝고 활기찬 분위기예요. 가장 좋은 건 어떤 이야기든 편하게 할 수 있다는 점이에요. 개발을 할 때 고민되는 포인트가 생기면 아무리 사소한 것이라도 이야기할 수 있어요. 고민을 나누다 보면 다른 동료의 이야기를 통해 해결 방법을 찾기도 하고, 나 혼자 고민하고 있는 게 아니라는 유대감이 생겨요. 


Ain. 카카오뱅크가 은행이다 보니 금융 도메인에 대해 많이 알 수 있어요. 여신, 수신과 같은 금융 용어나 대출 과정 등 잘 모르는 게 많았는데 잘 알게 되니 일상적인 부분에서 도움이 되더라고요. 


Danny. 회사에서 제공해주는 복리후생이 많고 좋아요. 새 오피스로 이사 오면서 생긴 레벨업(무료로 이용이 가능한 사내 오락실), Pause(수면실)을 자랑하고 싶고 개발 환경에 대한 지원도 많이 받고 있어요.





# 채용공고 함께 읽기


Q. 이제 서버 개발자 채용 공고를 함께 읽어보려고 합니다. 담당할 업무를 체크해볼게요. 이번 집중 채용으로 입사한 서버 개발자 분은 어떤 업무를 하게 될까요?

담당할 업무

· 서비스/상품 웹 애플리케이션 API 개발 
· 업무 시스템 연동 및 대외기관 연계


Gid. 오픈뱅킹, 모임통장, 미니, 챗봇 등 카카오뱅크에서 제공하는 다양한 서비스의 서버 개발을 담당하게 되실 거예요. 지금 있는 상품 외에도 마이데이터 등 새롭게 준비 중인 서비스가 많이 있거든요. 신규 프로젝트에서 클라이언트가 사용할 API를 개발하는 업무를 맡게 될 예정입니다.





Q. 필수 경험과 역량을 살펴볼까요. 'Java 8 이상 또는 Kotlin 중 하나 이상의 언어에 능숙한 분'이라고 되어있네요.

필수 경험과 역량

· Java 8 이상 또는 Kotlin 중 하나 이상의 언어에 능숙한 분
· Spring f/w + JPA 기반 대용량 시스템 설계/개발 능력을 보유한 분
· 관련 경력 6년 이상인 분


Gid. 얼마 전까지는 필수 역량으로 Java만 확인했는데요. 요즘 새로 시작하는 프로젝트에서 Kotlin 언어를 많이 사용하고 있어요. 기술 트렌드에 맞춰서 새로운 패러다임을 도입해 깔끔한 코드를 짜 보려고 하는 움직임이라고 봐주시면 되겠네요. 그리고 언어에 대한 정확한 이해를 바탕으로 비즈니스 요구사항을 코드로 능숙하게 풀어내실 수 있는 분을 찾고 있고 Logback 설정, 멀티 모듈 세팅, Request/Response 값 로깅 등 프로젝트 구조를 잡아본 경험이 있다면 더 좋습니다.



Q. 'Spring f/w + JPA 기반 대용량 시스템 설계/개발 능력을 보유한 분'은 카카오뱅크의 개발 환경이라고 볼 수 있겠네요. 이 부분은 조금 더 설명해주실 수 있을까요.


Benji. 스프링 프레임워크는 많은 회사에서 활용을 하고 있어 특별한 환경은 아니지만, 기본적인 지식을 잘 알고 있는 게 중요할 것 같아요. JPA를 활용한 대용량 처리를 해본 경험이 있는 분이라면 좋고요. 카카오뱅크는 압도적 트래픽이 발생하는 회사이기 때문에 서비스를 안정적으로 운영하는 방법에 대해 늘 고민하고 있는데요. 클러스터링으로 트래픽을 분산시키거나 멀티스레드 환경에서 적절한 캐싱을 사용해 고객에게 빠른 응답을 해주는 등 대용량 처리가 필요한 환경에서 서버를 설계하고 경험해본 분을 찾고 있어요.



Q. '관련 경력 6년 이상인 분'이라는 문장에서 '관련 경력'은 어떤 회사나 경험이라고 생각하면 될까요?


Danny. 저는 금융 도메인은 아니었고 포털 사이트에서 일을 했습니다. 많은 트래픽이 있는 환경에서 트래픽 처리를 위한 성능에 대해 고민하고 운영해본 경험이 있어 지원할 때 도움이 되었던 것 같아요. 카카오뱅크와 같이 대규모 트래픽 환경을 가진 회사에서의 경험이라면 관련 경험으로 볼 수 있겠네요. 꼭 금융 도메인 경험이 없더라도 합격하는데 문제가 없으니 많은 지원 부탁드려요.





Q. 우대사항에 대해서도 이야기 나눠보고 싶어요. 

우대사항

· 기존 시스템의 문제를 해결하고자 MSA로의 전환 등 아키텍처 개선을 진행한 경험이 있는 분
· WebFlux를 이용한 non.blocking 웹 서비스 개발/운영 경험이 있는 분


Gid. 우대사항은 우대사항일 뿐이에요. 기재된 내용에 해당하는 게 없어도 지원해주시면 좋을 것 같고, 만약 해당되는 것이 있다면 자신감을 가지고 지원해주셔도 좋을 것 같아요. (웃음)


Benji. 카카오뱅크에 서비스가 점차 많아지다 보니 MSA에 대해 고민하고 있는데요. MSA로 전환하는 과정에서 다른 시스템과의 연동 작업, 상호작용 등에 대해 심도 있는 고민을 해본 분이 있다면 환영합니다.





# 합격 꿀팁


Q. 자기소개서에 문항이 없다 보니, 서류전형에서 합격하기 위해 어떤 점을 입사지원서에 담아야 할지 고민인 분들이 계실 것 같아요.


Gid. 지난 개발자 대규모 채용에 평가자로 참여했는데, 그때도 자기소개서가 없었어요. 그래서 경력기술서와 포트폴리오를 중점적으로 검토했습니다. 여러 경력기술서를 보다 보니 제각기 다른 특징을 가지고 있더라고요. 그중 자신만의 포맷을 정해서 어떤 기술을 썼고 무엇을 강조하고 싶은지 잘 정리된 경력기술서에 더 몰입할 수 있었습니다. 단순히 경험을 나열하기보다 내가 이 경험을 통해 어떤 고민을 했고 문제 해결을 위해 어떤 노력을 했는지도 볼 수 있다면 좋을 것 같아요.



Q. 코딩테스트 전형과 코드 리뷰를 어떻게 준비하면 좋을지도 궁금해요.


Gid. 코드 리뷰를 하기 전에 미리 이야기할 것을 정리해본 지원자 분과 더 밀도 높은 대화를 나눌 수 있었어요. 코드 리뷰 자리에서 코드에 대한 생각을 시작하는 분과는 시간 관계상 이야기를 깊게 나누지 못하는 경우가 많더라고요. 어떤 방식으로 생각하고 접근했는지 지원자만의 고민을 충분히 들여다볼 수 있는 시간이 되면 좋을 것 같습니다.



Ain. 저도 기드가 말한 것처럼 코드 리뷰 전 코드를 보면서 과거의 내가 어떤 생각으로 코드를 짰는지 돌아보는 시간을 가졌어요. 과제 형식이다 보니 실행했을 때 문제가 없도록 코드에 이슈가 없는 게 가장 좋긴 하지만, 동작을 못하더라도 일단 제출을 해보셔도 될 것 같아요. 제출한 코드가 의미 있다면 코드 리뷰를 통해 구현이 되지 않은 부분은 어떻게 해결하면 좋을지 질문을 하기도 하거든요. 



Q. 집중 채용은 독특하게 하루에 실무진 면접과 경영진 면접을 모두 진행하는 '원데이 면접'을 진행하고 있죠.


Gid. 면접을 하루에 진행해 결과를 빨리 알 수 있다는 점이 좋은 것 같아요. 실무진 면접 후 1시간 이내에 전형 결과를 알 수 있을 뿐만 아니라 당일에 경영진 면접까지 보니 연차를 두 번 쓰지 않아도 되고요. 지원자 입장에서는 전형 결과를 기다리는 것도 힘들잖아요. 집중 채용 때만 운영되는 면접 형태이니 이 기간에 지원해보는 것도 메리트 있다고 생각합니다.



Q. 공고에 담진 못했지만 이 이야기는 꼭 하고 싶다!


Ain. 회사에 좋은 동료가 정말 많아요! 


Gid. 두려워 마시고 지원하셨으면 좋겠어요. '카카오'라는 이름 때문에 더 경험을 쌓고 준비해서 지원하고 싶다는 분이 꽤 많더라고요. 준비는 일단 시작하면 자연스럽게 하게 되니 지원을 해보시는 건 어떨까요. (웃음)



Danny. 코딩테스트를 과제 전형으로 진행하다 보니 제출을 안 하시는 분도 더러 있는 것 같아요. 구현을 하지 못하더라도 최선을 다해 만든 과제는 일단 제출을 해보시는 것도 좋을 것 같아요. 


Benji. 저는 은행이라서 조금 두렵긴 했어요. 지원하기 전 '금융 지식을 알아야 하나?'라는 걱정이 있었지만 개발에만 집중해서 준비했거든요. 실제로 채용 전형을 진행할 때 금융 지식은 물어보지 않았었고 입사한 후에도 잘 적응해서 일하고 있어요. 그러니 은행에 대해 잘 모르는 분도 걱정 말고 지원하셨으면 해요.







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

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

               

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