본문 바로가기
나의 생각/기타

카카오페이 백엔드 개발자 경력 이직기

by 카펀 2022. 12. 9.

입사 안내

좋은 기회에 인연이 닿아 1년간의 전 직장 생활을 마치고, 열흘 후! 12월 19일 월요일부터 카카오페이 백엔드 개발자로 합류하게 되었습니다.

너무나도 바랐던 회사로의 이직이라 아직도 믿기지 않네요 ㅠㅠ

회고 및 경험 공유 목적으로 기억이 생생할 때 이직 후기를 작성해 보고자 합니다.

목차

0. 공고 확인 및 지원, 데브매칭 코딩 테스트 응시

1. 1차 인터뷰

2. 2차 인터뷰

3. 최종 합격

4. 이직을 위해 준비했던 과정 소개

 

0. 공고 확인 및 지원

매 분기마다 몇 번씩 있는 데브매칭이라는 프로그램을 아시나요?

프로그래머스에서는 주기적으로 (매 분기마다 프론트/백엔드 각각 2회씩?) 데브매칭이라는 채용 프로그램을 진행합니다.

데브매칭이란, 코딩 테스트 1회 응시를 통해 참여하는 여러 회사에 지원할 수 있는 프로그램인데요.

저는 2022 Dev-Mathcing: 웹 백엔드 개발자(하반기) - 1 공고를 통해 지원했습니다.

데브매칭 안내

간단히 요약하면,

  • 프로그래머스 내 이력서와, 지원할 회사를 선택하여 데브매칭에 지원한다.
  • 정해진 날에 공통 코딩 테스트를 본다.
  • 코딩 테스트 일정 점수 합격자에 한해, 지원한 회사에 이력서가 전달된다.
  • 이후 각 회사마다 전형이 진행된다. (서류 탈락할 수도 있다.)

이런 단계로 진행됩니다.

 

이번에 제가 지원한 회사는 3개입니다.

사실상 카카오페이 하나만 보고 지원한 셈인데, (해당 회사에는 죄송한 말씀이지만) 당근페이와 페이히어는 데브매칭으로 지원하는 김에 같이 지원한 느낌이었습니다.

 

카카오페이라는 회사에 대해 예전부터 흥미를 느끼기도 했고 (떨어지기도 했었고 ㅠ), 데브매칭에 올라온 공고 중에 저에게 가장 잘 맞는 회사라고 생각하여 바로 지원했습니다.

 

코딩 테스트는 약 2시간 동안 온라인으로 진행되었는데요.

카메라를 켜는 온라인 감독이 함께 진행되었고, 문제는 알고리즘 3개, SQL 1개가 나왔습니다.

전반적으로 난이도가 높은 편은 아니었어요. (코딩 테스트에 대한 자세한 얘기는 여기 참고)

총점 400점 만점에 392점 정도를 받았습니다. 알고리즘 3번 문제 채점 중에 2개가 시간 초과가 나는 바람에 ㅠ

 

데브매칭 통과 안내

아무튼 크게 모자라지 않는 점수를 받은 덕인지, 데브매칭 코딩 테스트를 통과하였고, 이력서가 지원한 기업에 전달될 것이라고 안내 받았습니다.

이후 며칠의 기다림 끝에 당근페이와 페이히어는 서류 탈락을 하고 (???), 카카오페이는 면접 대상자로 선정되어 1차 인터뷰에 응시할 수 있는  기회를 얻었습니다.

코딩 테스트 통과

1. 1차 인터뷰

1차 인터뷰 얘기에 앞서, 이번 카카오페이 데브메칭 공고의 진행 순서를 짚고 가겠습니다.

공고 진행 절차

굉장히 간단하죠?

코테 - 1차 인터뷰 - 2차 인터뷰 - 최종합격 순서였습니다.

1차 인터뷰 진행에 앞서 카카오페이 자체 채용 시스템에 지원서를 등록하기도 했습니다. 제 이력서와 자기소개서를 첨부하여 등록했는데, 자기소개는 '지원 동기를 분량 제한 없이 자유롭게 기술해주세요.' 한 문항 뿐이었습니다. 기술적인 얘기는 이력서에 충분히 담았다고 생각하고, 이력서에는 제가 어떤 사람인지, 무엇을 중시하고 무엇을 기대하여 카카오페이에 지원하게 되었는지 적었습니다.

 

1차 면접은 약 1시간 반 정도 진행되는 기술면접이었는데요.

이를 준비하기 위해, 저는 몇 가지 큰 카테고리를 나누어 면접 준비를 진행했습니다.

  • 자기소개
  • 코딩 테스트 복기
  • 경력 내용 (이력서 기반)
  • 경력 외 내용 (이력서 기반)
  • CS, 기술 스택
  • 도메인(핀테크)에 대한 이해

면접 준비 내용

위처럼 각 항목 별로 문서를 만들어서, 제가 말하고자 하는 내용과, 질문이 들어왔을 때 어떻게 대답하면 좋을지 미리 정리했습니다.

(고객사에 대한 정보는 모자이크 처리 하였습니다.)

기존에 작성해 둔 이력서가 있어서, 이를 바탕으로 어렵지 않게 준비할 수 있었습니다.

물론 양은... 엄청 많았습니다. 아마 작성한 내용을 프린트하면 수십장은 될 것 같습니다.

 

면접은 온라인으로 진행되었습니다.

현직 개발자 분들이 면접관으로 들어오셔서, 1시간이 넘는 시간 동안 쉴새없이 질문을 쏟아 내셨습니다.

자기소개, 이력서 소개, 경력, CS, 기술스택 등 넓은 내용을 아울러 총 42개의 질문을 받았네요. 

면접 시작 전에 폰으로 녹음을 켰고, 면접 후 전체 내용을 글로 옮기며 질문과 답변 내용에 대한 복기 역시 진행했습니다.

 

질문이 굉장히 깊이 있었고, 꼬리물기 질문도 이어졌습니다. 제가 업무 중에 진행하고, 고려한 점에 대한 질문도 많이 받았고, 모르는 내용에 대한 질문도 받았습니다.

아는 것은 준비한 대로 답하고, 모르는 것은 생각해 본 근거를 토대로 답변하였습니다. 전반적으로 나쁘지 않게 답변했다고 생각하고, '이 정도면 2차 인터뷰도 볼 수도 있겠다'고 생각했습니다.

 

면접은 수요일 오후에 진행되었고, 결과는 금요일 오후에 전화로 전달받았습니다.

1차 인터뷰 합격

이후 이메일로 한번 더 합격 및 2차 인터뷰에 대한 내용을 전달받았습니다.

2. 2차 인터뷰

2차 인터뷰는 약 1시간 동안 진행되었고, 카카오페이 크루로써 잘 어울리는지, 기술적/문화적 역량을 검증하는 인터뷰입니다.

기술 리드 역할을 하시는 분과 HR에서 각각 참여해 주셨습니다.

 

2차 면접 대비를 위해서, 1차 면접 복기를 최우선으로 진행했습니다. 앞서 면접 내용을 녹음해서 복기했다고 했는데, 답을 애매해게 했거나, 확신이 없는 내용을 전부 체크해서 답할 수 있는 수준으로 공부했습니다.

이 외에 제 경력 내용, 이력서 내용을 다시 한 번 돌아봤고, 제가 기술적으로 고민하고 시도했던 내용을 중심으로 매끄럽게 답할 수 있도록 준비했습니다.

그 외에 핏 면접의 경우에는 걱정이 많았는데요.

이 경우에는 따로 합격을 위해 거짓말을 한다거나, 회사에 나를 맞추는 답변을 준비하고 싶지는 않았습니다. 저와 잘 맞는 회사인지 검증하는 과정인데, 회사의 문화에 저를 억지로 구겨 넣는 식이 된다면 결국 오래 다니기 어려울 것이라고 생각했습니다.

지원동기, 같이 일하고 싶은/싫은 개발자는 어떤 사람인지, 왜 이직을 결심했는지 등을 중심으로, 제 생각을 notion에 적고 매끄럽게 답할 수 있도록 연습했습니다.

2차 인터뷰 대비

2차 인터뷰 역시 굉장히 좋은 인상을 받았습니다.

오래 전에 제가 블로그에 쓴 글도 보고 질문해 주셨고, 업무 중에 개발한 내용에 대한 질문도 받았는데요.

기술적인 내용은 1차 인터뷰랑은 다르게, 실제 제 개발 스타일을 확인하고자 하는 느낌을 받았습니다. 이것 역시 제가 꾸준히 고민하고 생각해 온 내용이 많았기 때문에, 어렵지 않게 답할 수 있었습니다.

3. 최종 합격

2차 인터뷰를 마치고, 약 1주일의 시간 동안 심장 쫄깃한 기간을 보냈습니다 ㅠ

인터뷰를 봤던 날 저녁에 판교에 가서 카카오 사옥을 구경하기도 하고, 수많은 합격 후기를 읽으며 행복 회로를 돌리다가도, 떨어질 경우 실망할 것을 걱정해서 설레발 치지 않자고 스스로를 다독이기도 했습니다.

카카오 판교 아지트

굉장히 간절했지만, 인터뷰를 통해 배운 점이 아주 많아서, 혹여 떨어지더라도 충분히 가치 있고 행복한 경험을 했다고 생각했습니다.

'어떻게든 코딩 테스트만 뚫고 면접의 기회를 잡으면 자신 있다'는 생각이 늘 있었는데, 이를 제법 증명한 것 같아 만족스러웠습니다.

 

그리고 11월 16일 수요일, 하루종일 기다리다 지쳐 저녁으로 먹을 닭갈비를 굽고 있다가 이메일을 받게 되었습니다.

카카오페이 최종 합격 안내

너무 기뻤습니다.

약 1년 동안 업무 중에도, 퇴근 후에도 쉴새없이 노력한 보상을 받는 기분이었습니다.

새로운 도전을 할 수 있는 기회가 왔고, 한 단계 더 성장할 수 있다는 기대감에 설레였습니다.

가족, 친구들, 일부 동료들 및 주변에 신나게 알리면서 받아본 적 없는 수많은 축하를 받았네요 ㅎㅎ

4. 이직을 위해 준비했던 과정 소개

제가 어떻게 준비했는지 궁금해하시는 분이 많이 계신듯 합니다.

저 스스로도 준비했던 과정을 단순히 흘려 보내기에는 아까워, 어떻게 준비했는지 공유해 보고자 합니다.

 

SI업계에서 개발하시는 많은 분들이 서비스 회사로의 이직을 목표로 준비하고 계십니다. 저 역시 그 중 하나였고요.

SI업계는 빠듯한 일정, 수시로 바뀌는 고객의 요구사항, 노후화된 구조, 없다시피 한 개발문화 등으로 인해 많은 개발자분들이 더 좋은 환경으로 옮기고자 하십니다.

하지만 저는, 어쨌든 SI 개발자라도 개발 업무를 경험해 본 것과 그렇지 않은 것은 큰 차이가 있다고 생각합니다.

단순히 개인/팀 프로젝트를 진행해 본 경험과, 업무상 요구되는 기능을 주어진 기간 내에 완성하고, 긴급 장애에 대응하는 경험은 그 깊이가 다를 수밖에 없습니다. SI 개발자분들은 이런 경험을 하시며 고민하고 성장하려 노력한 점을 어필하셔야 합니다.

 

제가 참여했던 프로젝트는 Spring 3.2.2, Java 1.7 등 예전 트렌드로 개발되었고, 테스트 코드는 전혀 없었습니다. 코드 리뷰 역시 없었고, 제가 고민한 구현 방법보다는 만들어 낸 결과가 그럴듯하게 돌아가는지만 평가받았습니다. 사수도 없었고요. 뿐만 아니라, 개발 환경에 접근할 수 있는 권한도, 빌드할 수 있는 권한도 없었습니다.

그럼에도 저는 주어진 환경에서 제가 어떤 점을 고민하고 개선할 수 있을지에 집중했습니다. 인프런에서 배운 대로 테스트 코드를 작성해서 개발에 도움을 받기도 하고, 기존에 작성된 코드 중 제가 수정할 일이 있는 코드는 더 좋은 구조로 리팩토링을 진행하기도 했습니다. 개발을 진행하면서 생기는 문제점은 동료들과 최대한 공유하려 했고, 개발한 내용은 문서화를 통해 누구라도 읽고 파악할 수 있도록 했습니다. 관련하여 동료들과 고객을 설득하기에도 늘 근거를 가지고 대했고, 합당한 근거가 있는 경우 제 의견대로 설득에 성공하기도 했습니다. 이런 점을 낱낱이 체크하여 이력서에 담고, 1년차 개발자로서 제가 어떻게 카카오페이에서도 기여할 수 있는지에 포커스를 맞췄습니다.

 

다음으로, 꾸준한 자기 개발이 있습니다. 아무래도 업무에서 다루는 개발 환경은 오래 되기도 했고, 제가 작성한 코드에 대한 피드백이 전혀 없다 보니 어떻게 성장해야 할지 고민이 많았습니다. 따라서 가장 중요하다고 생각하는 기술은 최신 내용도 꾸준히 공부하기로 했는데요. 그 중심에는 Java와 Spring, 그리고 CS 기초지식이 있습니다.

저는 업무 바깥 세상에선 최신 트렌드의 스프링을 가지고 어떻게 업무에 사용하는지 배우고, 업무에서 사용하는 환경과 어떻게 다른지 배우고자 했습니다. Inflearn에서 김영한님 강의를 통해 이를 공부하고, 배운 내용 중 일부를 업무 중에 녹여 내려고 했어요 (예: Spring DI field injection에서 constructor injection으로 변경). Java는 1.7과 1.8이 어떻게 다른지, 무엇이 추가되었고 어떻게 쓰이는지 공부했고, CS 기초지식은 스터디를 통해 학습했습니다. 스터디가 특히 도움이 많이 됐는데, 매주 특정 토픽을 정해 두고, 스터디원들이 각자 공부해 온 다음, 발표자를 랜덤하게 뽑아 해당 내용에 대해 발표하도록 했습니다. 이에 앞서 서로 모를 법한 질문을 준비해서 스터디 중에 서로 공유하기도 했고요.

스터디 진행 내용

책으로 공부해서 아는 것과, 이것을 다른 사람에게 설명하는 것은 또 다른 문제입니다. 설명을 하면서 스스로 미처 몰랐던 부분을 파악할 수도 있고, 아는 것을 정리해서 전달하는 능력도 키울 수 있습니다. 이런 이유 때문에 저는 특히 CS 공부는 스터디를 강력하게 추천합니다.

 

앞서 준비한 것은 이직을 위한 평상시의 준비였다면, 면접을 위한 준비도 필요합니다. 면접준비는 크게 '이력서 작성'과 '인터뷰 준비' 두 가지로 나눌 수 있습니다. 이력서는 주기적으로 갱신하는 것을 추천합니다. 구체적이고, 수치로 나타내는 경력 사항은 인터뷰 시에 어필 포인트가 됩니다. 이력서를 갱신하면서 스스로 무엇이 부족한지 알 수 있고, 반대로 무엇을 강조할 수 있는지도 알 수 있습니다. 저의 경우에는 앞서 말한 바와 같이 Java와 Spring을 강조하였고, 반대로 Kotlin, Kafka 등은 경험이 없거나 있더라도 사용할 수준이 아니었습니다. 본인이 어필하고 싶은 포인트를 면접관 분들이 물어보게끔 미끼를 던져야 합니다. 이 내용은 이직하신 분들이 공통으로 하시는 말씀이니, 매우 중요합니다. 제한 시간 내에 스스로가 어떤 사람인지 어필하기 위해서는 필수적입니다. 이 외에, 지원한 회사에서 내가 기대하는 것은 무엇이고, 내가 어떻게 회사에 기여할 수 있는지 어필하면 좋을 것입니다.

자기소개서 bait

저도 위처럼 미끼를 던지고, 그에 대한 답변을 구체적으로 준비했습니다. 준비한 내용에 대해서 면접관 분들과 대화를 주고받는 티키타카가 잘 되어야 합니다.

 

마지막으로, 이직을 위해 참고하거나 도움을 받았던 경로를 소개하고자 합니다. 강의/공부 경로도 있고, 유튜브 영상도 있고, 카카오톡 오픈채팅방도 있습니다. 이직을 어떻게 준비하셨는지 성공담을 듣기도 하고, 면접관의 시야에서 지원자로부터 찾고자 하는 점을 파악하기도 했습니다. 다양한 경로에서 많은 사람들로부터 각기 다른 관점의 의견을 듣고, 스스로 판단하여 학습 로드맵을 짜고 면접의 판을 까는 것이 중요합니다.

맺으며

첫 직장인 IBM에서 1년 동안 몰라보게 성장하고 경험했습니다. 여러 기회를 주셔서 감사합니다.

이직을 위해 올해 내내 준비하고, 지원하고, 탈락했습니다. 작년에 비해서는 상황이 조금 더 좋아져서 (배가 좀 불러서) 진짜 하고 싶은 직무에만 지원했는데, 그럼에도 거의 20개의 이력서를 제출했었네요.

 

개발바닥에서 영한님이 하신 말씀 중 이런 내용이 있습니다.

네카라쿠배는 누구나 갈 수 있지만, 아무나 갈 수 없다.

 

노력하고 준비하는 누구라도 네카라쿠배(및 여러 좋은 IT 서비스 기업들)에 갈 수 있다고 생각합니다. 이 말을 굳게 믿고, 온, 오프라인을 통해 동기 부여도 꾸준히 받으며 완성한 성과라고 생각합니다.

결과가 아니라 시작이라고 생각하고, 더 노력하고, 도전하고, 배우는 개발자가 되겠습니다. 나중에 제가 지금의 초심이 흐려질 때, 이 글을 보고 다잡을 수 있도록 하겠습니다.

'나의 생각 > 기타' 카테고리의 다른 글

2022년 회고  (0) 2022.12.26
일과 개발 공부 사이  (0) 2022.09.27
코로나 확진 회고  (0) 2022.08.08
MyBatis vs. JPA, JPA를 공부해야 하는 이유  (0) 2022.07.27
개발자 취업을 위한 코딩 테스트 준비 방법  (4) 2022.04.03

댓글