brunch

You can make anything
by writing

- C.S.Lewis -

by 글을 그리다 Jul 12. 2020

수포자 디자이너에서 카카오 서버 개발자가 되기까지

kakao enterprise 합격 수기


그제 오후 두 달 간의 길고 긴 채용 프로세스를 끝으로 카카오 엔터프라이즈에 (지난 12월에 분사한 카카오 AI계열사) AI 검색 플랫폼 지식 그래프 서버 개발자로 상시 채용 전형에 최종 합격 오퍼를 받았다. 사실 이 글을 쓰는 지금도 실감이 잘 나지 않지만, 그간의 회고 겸 이 글을 읽는 사람들의 방향성에 조금이라도 도움이 되길 바라는 마음에 오랜만에 ‘나의 이야기’를 담은 글을 적어보려 한다.



채용 과정

지원

먼저 사람들이 가장 궁금해할 만한 채용 프로세스에 대해서 이야기해볼까 한다. 앞서 이야기했던 대로 나는 상시채용 전형으로 지원했고, 프로그래머스 DevMatching을 통해서 지원했다. (프로그래머스로 지원해서 합격할 경우 50만원 상당의 샤이닝 보너스를 받을 수 있다.) 채용 프로세스는 코딩 테스트 -> 서류 -> 1차 면접 -> 최종면접 순으로 이루어졌다. 


코딩 테스트

내가 본 코딩 테스트는 2시간 동안 4문제를 푸는 시험이었다. 상시채용 전형이라 그런지 공채 코딩 테스트에 비하면 많이 쉬웠던 편으로 기억한다. 아마 2020 카카오 인턴 코딩 테스트를 통과할 정도의 실력이면 무난하게 통과할 수 있을 정도의 난이도였다. 실제로 나도 1시간 반 만에 4문제를 모두 풀 수 있었고, 마감시간 30분 전에 문제를 제출하고 끝냈다.  


서류 전형

다음은 서류 전형인데, 서류 전형 같은 경우는 코딩 테스트만 합격하면 무조건 합격시켜주는 공채와 달리 걸러낸다는 느낌을 받았다. 조마조마했지만, 나름 포트폴리오에 자신이 있었고 수상경력도 여러 개 있었기 때문에 기대하는 마음으로 기다렸고, 서류 검토 메일을 받은 후 약 2주 정도 후 서류 합격 연락을 받았다.  


1차 면접 (기술 면접)

다음은 1차 기술 면접이었다. 아마 상시채용으로 지원했을 경우 가장 넘기 힘든 벽이 아닐까 싶다. 나는 1시간 동안 기술 면접을 보았는데, 나중에 면접이 끝나고 나서 질문받았던 질문들을 기억나는 대로 세어보니 약 57개쯤 질문을 받았다. 즉 거의 1분에 1개 꼴로 기술 질문이 들어온 셈인데, 단순히 질문의 개수만 많은 게 아니라 질문의 난이도도 굉장히 어려운 편이었다. 주위에 공채로 회사에 들어간 친구들의 면접 질문과 비교했을 때 몇몇 질문들은 '신입 중에 이 질문에 답할 수 있는 사람이 있을까?'라는 생각이 들 정도로 난이도가 굉장히 높은 질문들이었다. 인상적이었던 부분은 질문에 대한 대답을 할 때 단순히 외워서는 통과할 수 없는 질문이 많았다는 점이다. 면접관님이 내가 해당 기술에 대해 제대로 이해하고 있는지 확인하기 위해 한 가지 질문에 대해 다양한 각도에서 물어보는 게 느껴졌다. (나중에 잡플래닛 면접 후기를 찾아봤는데 하나 같이 면접 난이도를 '매우 어려움'으로 표기되어 있었다ㅠㅠ.) 


사실 카카오는 면접 전 아이스 브레이킹을 잘해주기로 유명한 곳인데, 나는 상당히 압박 속에서 면접을 봤던 것 같다. (그 날따라 면접관님이 기분이 안 좋으셨는진 모르겠다ㅠㅠ) 그래서 그런지 오히려 어려운 질문에는 잘 대답했는데, 긴장이 덜 풀린 면접 초기에 오히려 쉬운 질문에서 실수를 많이 해서 면접 결과에 대한 확신을 가질 수 없었다. 


1차 면접 결과는 코로나 때문에 면접 결과에 대한 연락이 많이 지연되었는데, 기억하기로 약 3주 정도 소요된 것 같다. (그동안 하루하루를 긴장 속에서 보냈다ㅠㅠ) 결국 1차 면접 합격 통보를 받았고, 4일 뒤에 2차 면접(최종 면접) 날짜가 잡혔다.

 

나는 프로그래머스를 통해서 카카오 엔터프라이즈에 지원했기 때문에 2차 면접 전에 카카오 엔터프라이즈 공식 채용사이트에서 다시 지원서를 제출해달라는 요청을 받았다. 그런데 AI 관련 직무여서 그런진 몰라도 공식 홈페이지에선 신입으로 지원하는 전형이 없었고, 경력과 추천 전형만 있었다... 

그래서 영입 담당자분께 연락을 드려 여쭤보니 경력으로 지원을 해달라는 요청을 받았고, 2차 면접 역시 결코 쉽지 않을 것 같다는 불길한 예감이 들었다ㅠㅠ. 


영입 담장자님과의 메시지


2차 면접 (기술 & 인성 면접)

2차 면접은 최종 면접이었기 때문에 기술역량과 인성을 함께 검증하는 면접이었다. 2차 면접에서는 1차 면접에서 들어왔던 실무진 면접관분들이랑 그 보다 조금 직책이 높아 보이시는 분이 함께 면접에 들어오셨다. 면접 소요시간은 약 1시간 반 정도 걸렸고, 1차 기술 검증을 통과해서 그런지 1차 면접보다는 상대적으로 편안한 분위기에서 면접을 볼 수 있었다. 


2차 면접에서는 알고리즘을 푸는 시간이 있었는데, 내 컴퓨터의 화면을 면접관 분들 화면에 공유시켜 라이브로 알고리즘을 푸는 형식이었다. 내가 치는 모든 코드가 실시간으로 화면에 공유되었기 때문에 매우 긴장 속에서 문제를 풀어야 했다. 


알고리즘을 풀며 지금 머릿속으로 어떤 풀이과정을 생각하고 있는지 계속해서 말로 설명해가며 문제를 풀어나갔고, 결과적으로 알고리즘은 맞출 수 있었다. 하지만 2차 문제로 면접관님은 나에게 '해당 코드를 좀 더 컴팩트하게 짜 볼 것'을 권했다. 평소라면 쉽게 아이디어를 떠올려서 코드의 질을 올렸을 것 같지만 너무 긴장되는 상황이다 보니 쉽게 아이디어가 떠오르지 않았고, 결국 힌트를 받은 다음에야 코드의 길이를 줄일 수 있었다. 


다음으론 인성과 관련된 질문들이 이어졌다. 주요하게 질문하셨던 부분은 나의 커리어에 관한 부분이었는데, 2년 전 디자인과에서 컴퓨터 공학으로 전과를 한 것에 흥미를 가지셨다. 그리고 왜 디자이너 소통하는 프론트엔드 포지션이 아닌 서버 개발을 하고 있는지에 관해 많은 질문을 하셨다. 


2차 면접은 기술면접 따로 인성면접 따로 보는 것이 아니라 중간중간 섞여서 질문이 들어왔는데, 이번에도 기술 관련 질문들은 결코 쉬운 질문들이 아니었다.


모든 질문에 대답하진 못했지만, 2차 면접에서 한 가지 잘했다고 생각이 드는 건, 1차 면접에서 틀렸던 질문에 관해선 모두 완벽히 대답할 수 있었다는 점이었다. 딱히 면접 준비를 위해서 공부를 했던 것은 아니지만(2차 면접에선 1차 면접관 분들이 안 들어올 거라고 생각했었다) 아마 이런 나의 모습이 2년 동안 빠르게 성장한 것을 어필하는 데에 도움이 되지 않았나 싶다.  


최종 합격

최종 합격 연락은 거의 3주가 걸렸던 1차 면접과는 달리 바로 다음 날 결과를 받을 수 있었다. 전혀 생각도 안 하고 있던 중에 받은 결과라 매우 놀랐던 터라, 며칠 시간이 흐른 지금도 아직 실감이 잘 나지 않는다ㅎㅎ. 


사실 면접 결과가 나기 전까지 카카오에서 다니며 누릴 수 있는 복지와 관련된 것들은 하나도 찾아보지 않았다. 기대했던 것에 대한 실망으로 멘탈이 흔들리는 것을 원하지 않기 때문이다. 그래서 합격 발표가 난 다음 날이 되어서야 복지와 관련된 것들을 찾아보게 되었는데, 듣던 대로 복지 하난 정말 최고인 것 같다.ㅎㅎ 


가장 마음에 드는 건 완전 선택적 근무제와 안식 휴가제도인데, 한 주에 근무시간이 40시간을 초과하지 않는 범위 내에서 내가 자유롭게 근무시간을 정할 수 있는 것과, 3년 근속 시마다 안식휴가 1개월과 휴가비 200만 원을 지원하는 제도이다. 


그 외에도 사내 카페나 스낵바, 도서 구입비 지원 등도 너무 마음에 든다 :)



합격 후기

나의 이전 회고 글을 읽어본 독자라면 이미 알고 있겠지만, 나는 정말 공부와 거리가 먼 사람이었다. 학창 시절 나의 내신은 7등급이었고, 수능 성적 역시 형편없었다. 그럼에도 어떻게든 대학은 나와야 한다는 막연한 책임감에 입시 미술을 시작했고, 지방에 있는 4년제 시각 디자인학과로 대학에 진학하게 되었다.


처음 전과를 한다고 결정했을 때 주위에서 셀 수 없이 많은 비난을 받았다. 미대를 가기 위해 중학교 때부터 수학을 포기했던 내 머리로는 어림도 없다던지, 너무 늦었다든지가 대표적인 이유였다. 


그들의 예상대로 나의 전과 생활은 결코 평탄하지 않았다. 남들과 같은 수업을 들어도 그것을 이해하는데 남들보다 3배 이상의 시간이 필요했다. 아직도 생생히 기억이 나는 게 '자료구조' 수업을 들을 때 매일 수업이 끝난 후 도서관에서 3시간씩 복습을 하고 집을 갔음에도 그 학기가 끝날 때까지 시험에서 한 문제도 풀지 못했던 적 기억이 있다. 


때때로 정말 포기하고 싶었다. 사고력의 한계가 끊임없이 찾아왔고, 마치 평생 동안 쓰지 않았던 근육이 마지못해 겨우 꿈틀거리는 느낌이었다. 그럴 때마다 속으로 '한 번만 더.'를 수 없이 외치며 꾸준히 공부했다. 그렇게 한 번이 두 번이 되고 세 번이 되고, 나의 아웃풋 없는 공부량은 계속해서 쌓여갔다. 


어디선가 그런 이야기를 들은 적 있다. 실력은 꾸준히 상승세를 그리는 것이 아니라, 마치 계단을 오르는 것과 같다고. 정체기를 가지다가 한번 점프하고, 또 정체기를 가졌다가 또다시 점프하고... 


나의 학습 곡선 역시 그랬던 것 같다. 학습량이 점차 쌓여가자 조금이지만 나에게도 변화가 생기기 시작했다. 어제 이해가 되지 않았던 것이 오늘은 이해가 되기 시작했고, 나의 학습 속도는 점차 탄력을 받기 시작했다. 처음에는 점프까지의 정체기가 길었지만 시간이 지날수록 점차 그 간격이 짧아지는 것이 느껴졌다.


2020.06.15 기준 github


내가 요즘 가장 많이 받는 질문 중 하나는 '지금 시작하면 늦을까요?'이다. 나는 이런 질문을 받을 때마다 한결같이 '아니요 늦지 않았어요.'라고 대답한다. 누군가는 내가 위로의 말을 했던 거라 생각할지 모르지만 나에게 늦었냐는 질문을 하는 사람들은 정말로 대부분 늦지 않았었다. 


'늦었다'라는 것은 정말이지 상대적이다. 도전하는 사람에게 늦은 시기는 없다고 생각한다. 20살에 개발 공부를 시작하더라도 도전할 의지가 없다면 늦어 버린 건지도 모른다. 우리나라 사람들은 너무 마음이 급하다. 시작하기 전에 멀리 보이는 결승선을 보고 포기하거나, 끊임없이 뛰어야 한다는 압박감 속에 사는 것 같다. 

그런 사람들에게 마음속에 여유를 가지라고 말해주고 싶다.


꼭 달리지 않아도 된다. 무리하게 달려가는 사람은 매일 걷는 사람에게 뒤를 잡히기 마련이다. 


나의 공부 시간은 매일매일 재각각이었지만, 10개월째 하루도 빠짐없이 개발을 해왔다. 그 결과 나는 남들보다 늦게 시작했지만 빠르게 배울 수 있었고, 수포자 디자이너였지만 전공을 바꾼 지 2년 3개월 만에 카카오 엔터프라이즈에 AI 서버 개발자로 최종 합격할 수 있었다. 


면접이 끝날 때 마지막으로 면접관님이 나에게 이런 말씀을 남기셨다. 


"윤재님은 더 이상 자기를 비전공자라고 하지 않으셔도 될 것 같아요. 전공자가 이수해야 할 모든 전공과목을 이수하셨잖아요. 이제 본인을 전공자라고 당당히 소개하셔도 될 것 같습니다."


모든 영광을 하나님께 돌리며, 내가 지쳤을 때 힘내지 않아도 된다고 위로해주신 우리 부모님께도 감사드립니다

이 글을 읽는 당신을 응원하며 이만 글을 마친다.

오늘도 파이팅!



Q & A

** 최근 자주 받은 질문들을 중심으로 정리해보았습니다. 


Q. 코딩 테스트 어떻게 공부하셨나요?

알고리즘은 한순간에 실력이 느는 영역이 아닙니다. 꾸준히 공부하고 문제를 풀어보는 것이 가장 도움이 됩니다. 저는 백준 저지에서 150문제, 프로그래머스에서 50문제, 도합 200문제 정도를 풀었습니다. 

먼저 자료구조를 이해하고 자료구조와 관련된 문제를 풀어보았고, 이후로는 삼성이나 카카오 기출문제를 위로 코딩 테스트를 준비했습니다. 


한 가지 팁을 드리고 싶은 부분은 내가 준비가 되었건 안되었건 코딩 테스트는 최대한 많이 쳐보는 것을 추천드립니다. 실제로 코딩 테스트에서 역량을 발휘하기 위해서는 코딩 테스트 환경에 익숙해지는 것이 중요하고, 어떤 부분이 부족한지 스스로 점검할 수 있는 기회가 됩니다. 

기본 자료구조 관련 문제는 아래 링크 문제들을 추천합니다.

https://programmers.co.kr/learn/challenges


Q. 면접 준비는 어떻게 하셨나요?

면접도 코딩 테스트와 마찬가지로 다양한 면접을 경험해보는 것이 중요합니다. 면접을 보다 보면 내 포트폴리오에 관해서 면접관님들이 어느 정도 보는 시선이 동일한 하다는 것을 알 수 있습니다. 그러한 부분에 관해서 집중적으로 공부를 했고, CS 기초에 관해서는 하나를 보더라도 깊게 공부하는 것이 중요합니다.

  

Q. 대학이 도움이 되었다고 생각하시나요?

객관적으로 1도 도움이 안 되었습니다. 비단 우리 학교뿐만 아니라 (필자는 지방 4년제 대학을 다녔습니다) 서울대를 나오더라도 자기가 노력하지 않으면 1도 도움이 되지 않습니다. 지원하는 직무마다 다르겠지만, 개인적으로 생각하기에 이제 학벌이 사람을 대변해주는 시대는 지나갔다고 생각합니다. 당장 유튜브만 보아도 알 수 있듯이 지금은 다양성이 능력이 되는 시계입니다. 자기 학벌과 환경을 탓하기보다 자기 분야에 대해 계속해서 노력하면 결실을 맺을 수 있다고 생각합니다.ㅎㅎ  


Q. 언어 공부는 어떤 식으로 하셨나요?

언어는 머리가 아니라 손으로 공부하는 게 제일 빠릅니다. 머리는 이해다고 생각하더라도 실제로 예제 코드를 쳐보면 이해가 안 되어있는 경우가 많습니다. 책에 있는 예제 코드 하나하나를 쳐보면서 랭귀지가 어떤 식으로 동작하는지 감을 익히는 게 좋습니다.  


Q. 프로젝트 경험은 어떻게 쌓았나요?

저는 먼저 무언가를 만들 수 있는 프로그래밍 언어를 먼저 공부했습니다. 그런 다음 SOPT라는 IT 창업 동아리에서 프로젝트 경험을 쌓기 시작했고, 이후 해당 경험을 바탕으로 다양한 해커톤이나 외주 프로젝트를 진행했습니다.  


Q. 학원 다니는 거 어떻게 생각하나요?

이해가 어렵다면 학원을 겸해서 함께 공부하는 것도 괜찮지만 되도록 혼자 공부하는 습관을 들이라고 알려드리고 싶습니다. 예를 들면 학원에서 Java 수업을 들으면 문법이나 언어를 사용하는 방법에 대해서 알려줍니다. 

하지만 언어의 문법은 중요하지 않습니다. 실제로 저는 최종면접에서 알고리즘을 풀 때 면접관님이 문법이 기억나지 않으면 수도 코드로 작성해도 괜찮다는 말씀을 하셨었습니다. 


Java를 공부할 때 진짜 중요한 건 문법이 아니라 JVM을 사용하는 이유, Java Runtime Area, Thread Safe, GC와 같은 것들입니다. 이런 것들은 학원에서 알려주지 않죠. 


언젠가 이 분야를 계속 공부하다 보면 학원이나 사람에게 배울 수 없는 시점이 올 겁니다. (제가 그렇다는 건 아닙니다^^... 저는 촙오) 직접 영어로 된 공식 레퍼런스를 읽는 게 훨씬 정확하고 빠르다는 걸 이해하는 시기도 올 거고요. 누군가 가르쳐 줄 사람이 없어도 스스로 공부하는 능력은 개발을 한다면 필수적인 능력 중 하나입니다.  


Q. 실력이 빨리 늘 수 있는 팁이 있나요?

누군가는 저에게 디자인했던 시간들이 시간낭비라고도 이야기 하지만, 저는 디자인적인 사고방식에서 컴퓨터 공학을 공부할 때 많은 영감을 받았었습니다. 제가 생각하는 디자이너는 생각하는 사람입니다. 예를 들어 하나의 버튼을 디자인한다고 했을 때 기능적으로는 아무런 차이가 없지만 디자이너는 이 버튼을 원으로 만들지 사각형으로 만들지에 관해서 긴 시간 고민합니다. 


바로 "왜?"라는 이유 때문인데요. 


컴퓨터 공학을 공부할 때 이러한 디자인적인 사고방식은 굉장히 큰 힘을 발휘합니다. 개발할 때 단순히 stack overflow를 찾아보고 코드를 베끼지 말고 왜 이런 코드를 짜야하는지 이유를 생각해보세요. 그리고 더 나은 방법이 없는지 고민해보세요. 정답은 찾을 수 없을지 몰라도 다음번엔 지금보다 더 나은 코드를 짤 수 있을 것입니다.


작가의 이전글 계획 없는 여행에서 찾게 되는 의미

매거진 선택

키워드 선택 0 / 3 0

댓글여부

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