IT대기업 출신 개발자의 '면접 필승법'은?

인터뷰
IT대기업 출신 개발자의 '면접 필승법'은?
[인터뷰] <면접을 위한 CS 전공지식 노트> 주홍철 저자 인터뷰
2022. 06. 29 (수) 16:33 | 최종 업데이트 2022. 07. 11 (월) 13:03
많은 회사가 개발자 부족으로 아우성이다. 연봉 등 처우를 너도나도 높이며 실력 있는 개발자를 모시기 위해 분투하고 있다. 그러다 보니 비개발 직군 중에서도 개발자로 커리어 전환을 고민하는 이들이 늘어나는 건 당연한 수순처럼 보인다.

하지만 개발자라고 해서 취업이 쉬운 건 아니다. 공부하는 과정도 뼈를 깎는 어려움인데, 특히 면접 과정에서 어려움을 호소한다. 어제 배운 내용이 오늘 새로워지는 IT 업계인 만큼 준비해야 할 양이 방대하기 때문이다.

주홍철 개발자도 똑같은 어려움을 겪었다. 비전공자로서 면접을 준비하며 2000 페이지에 가까운 전공지식을 머릿속에 집어넣었다. MIT, 하버드 등에서 무료로 볼 수 있는 강연 영상들도 찾아 봤다. 그런데 막상 면접을 경험해 보니 불필요한 정보값이 너무 많았고, '이런 걸 누가 책 한 권으로 정리해주면 좋을텐데'라는 아쉬움이 들었단다.

아쉬운 자가 우물을 판다고 했던가? 직접 나섰다. 그렇게 시작한 작업이 다른 개발자들의 공감대를 샀다. 카카오, 네이버, 라인 등 국내 대표 IT 기업에서 면접을 보고 합격한 개발자로서의 경험도 책에 담았다.

IT 대기업에서 커리어를 쌓은 개발자의 면접 '팁'은 무엇이 다를까? <면접을 위한 CS 전공지식 노트>를 집필한 주홍철 작가와 이야기 나눠봤다.
개발자 취업, 어떤 점이 어려워요?
아래 설문폼에 답변해주신 분들 중 10분을 뽑아
주홍철 작가의 <면접을 위한 CS 전공지식 노트>를 보내드립니다.
(*본 이벤트는 마감됐습니다.)
- 안녕하세요, 작가님. 작가님의 이야기를 처음 들었을 때 '비전공자 출신 개발자'로서 면접을 위한 책을 집필하셨다는 게 가장 눈에 띄더라고요. 원래 전공은 무엇이었나요?

원래는 대기과학과였어요. 대기과학과 학생으로서 성적은 괜찮은 편이었어요. 과탑도 여러번 하고요.(웃음) 이대로만 가면 기상청 공무원이 되는 과정을 밟고 있었죠.


- 작가님이 대학생이었던 당시는, 개발자 연봉이 지금처럼 높았던 시기가 아니죠?

그렇죠. 제가 개발자로 커리어를 틀었던 당시가 2014년이었는데, 개발자 초봉이 5000만 원, 6000만 원까지 뛸 때가 아니었거든요. 3000만 원 정도 된다고 어림잡았던 때 같아요. '개발자를 할까, 공무원을 할까'라고 주변에 물으면 다들 공무원을 추천했고요. 그때 인생에서 재미있는 게 뭘까 정말 고민을 많이 했는데, 개발자가 더 재밌더라고요. 그래서 부모님의 반대를 무릅쓰고 시작했어요.


- 결과적으로 네이버라는 IT 대기업에서 개발자 커리어를 쌓았고, 지금은 AI핀테크 스타트업 어비스의 리드개발자이시죠. 카카오프론트엔드챌린지 6위, 스타트업해커톤 1위, 백준 알고리즘 1% 실력을 보유하고 있는 개발자이기도 하시고요. 근데 특별히 '개발자 면접을 위한 책'을 써야겠다는 생각을 하게 된 계기가 있나요?

면접을 보다 보면 면접관들이 CS 지식에 관한 질문을 많이 해요. CS 지식이란 컴퓨터 공학적 지식을 말하는데요. 디자인 패턴, 자료 구조, 데이터베이스, 운영체제, 네트워크를 아우르는 지식을 말합니다. 이런 지식은 개발자가 비즈니스 로직을 구축하는 데 있어서 기초가 되는 상식이에요. IT 회사도 이런 점을 아는 만큼 CS 지식에 관한 질문을 많이 하더라고요. 근데 이런 걸 한번에 알려주는 책이 없었어요.

저 같은 경우는 컴퓨터 공학 전공자들이 보는 전공 서적 전부를 구입해 봤는데요. MIT와 하버드에서 공짜로 강의하는 내용들도 들었고요. 근데 그 양이 어마어마했어요. 전공서적만 해도 2000 페이지는 됐고요. 면접 준비하면서 정리한 게 180페이지 정도가 되더라고요.(웃음) 물론 그걸 다 외웠기 때문에 면접에 무난히 합격할 수 있었는데요. 이때 너무나도 힘들었고, 버리는 지식들이 많았어요. 예를 들어 <데이터베이스>라는 전공 서적에 실린 '데이터베이스의 역사'가 면접에 나올까요? 전혀 그렇지 않거든요.

면접을 준비하는 다른 개발자분들은 이런 고생을 좀 하지 않았으면 하는 생각이 들더라고요. 그래서 책을 쓰게 됐습니다.

책을 집필 중인 주홍철 개발자의 책상. 한켠에 자료들이 쌓여 있다.
- 특히 이번 책은 CS 전공지식 뿐만 아니라 포트폴리오, 면접과 관련한 현실적인 팁도 다루고 있어요. 특히 많은 개발자들이 포트폴리오 작성을 어려워하는데요. 면접관의 눈에 쏙 들어오는 포트폴리오의 특징은 뭘까요?

객관화된 강점을 포트폴리오에 녹이는 게 가장 중요해요.

예를 들어 제가 '알고리즘을 잘하는 개발자'라고 해볼게요. 그럼 뭐가 필요할까요? "나는 지금까지 2000문제 이상의 알고리즘 문제를 풀었고, 백준 알고리즘 사이트에서 상위 1%의 실력을 유지하고 있다."라는 게 나와야 할 겁니다. 여기서 중요한 것은 2000이라는 숫자와 1%라는 퍼센트죠.

자신이 가진 장점을 면접관들이 알아서 잘 이해해줄 거라는 착각은 버려야 해요. "객관적으로 나는 어떠한 수치적 데이터를 가지고 있어. 그리고 그 데이터를 기반으로 보았을 때 나는 이러한 점이 강점이야"라는 것을 알려줘야 해요.


- 객관화된 장점을 녹이는 게 중요하다고 하셨는데, 사실 주니어들 입장에서는 자신의 장점이 무엇인지 찾아내는 것부터가 쉬운 일이 아닌 것 같아요. 주니어 개발자들이 자신의 장점 또는 강점을 찾을 수 있는 방법이 있을까요?

사실, 많은 개발자들이 스스로를 과소평가해요. 자신의 능력이 9인데도 5인 줄 알고 착각하고요.

사실 전혀 불안해할 필요 없다고 생각해요. 꾸준히 CS 지식, 알고리즘, 프로젝트 이 세 가지만 열심히 하시면 어느 정도의 IT 기업은 갈 수 있다고 생각합니다. 일단 자신감 있게 도전하는 게 중요해요. 자신감 있게 말하고, 면접에서 탈락하더라도 그 면접에서의 피드백을 발판 삼아 더 노력하면 됩니다.

만약 강점이 없는 것 같다는 생각이 든다면, 다섯 가지를 고민해보라고 말씀 드리고 싶어요.

첫번째, 프로젝트를 얼마나 깊게, 또는 어떤 부분까지 고려했는지 고민해보세요. 두번째로는 자신의 학점이 어느 정도인지 살펴보세요. 비전공자여도 상관 없어요. 아직도 학점이 높다는 건 많은 회사에서 긍정적인 사인으로 보거든요.

세번째, 자신의 꾸준함을 보여줄 수 있는 지표가 있는지 고민해보세요. 예를 들어 알고리즘 같은 경우, 알고리즘 문제를 몇 문제 풀었는지, 얼마나 많이 풀었는지 랭크를 매길 수가 있어요. solved.ac 사이트(링크)가 대표적이죠.

네번째, 커뮤니티 활동을 한 내력이 있다면 그걸 활용하는 것도 좋죠. 리액트 코리아의 운영진이었다던가 말이죠. 다섯번째는 대회 수상 내역이에요. 이 다섯 개 중 내가 가지고 있는 게 없다? 그럼 다섯 가지 중에 두 개 정도는 나의 강점으로 만들 수 있도록 노력해야죠.


- 작가님은 강사로도 활동 중이라고 들었어요. 개발자를 지망하는 학생들이 겪는 어려움을 곁에서 보고, 도움을 주기도 하셨을 것 같은데요. 특히 면접에 있어서 어떤 팁을 주고 싶으신가요. 예를 들어 어떤 컨설턴트들은 '많이 지원하고, 면접 기회가 있으면 꼭 해봐라. 그게 다 경험이다. 직접 해봐야 부족한 점을 안다' 같은 이야기들을 많이 하더라고요.

저는 오히려 지원을 많이 하지 말라고 해요. 8개 정도가 최대인 것 같아요. 지원을 너무 많이 하게 되면, 거기에 쏟는 시간이 너무 많아서 면접을 잘 준비를 못하거든요.

그리고 사실 면접에서 뭐가 나올지는 대부분의 지원자들이 다 알 거예요. 예를 들어, 리액트나 스프링이나 자바를 다루는 프로젝트를 했다고 쳐요. 그럼 당연히 거기에 대한 질문이 나오겠죠. 관련한 내용을 효율적으로 외우고, 깊이 있게 외우는 게 중요해요.

덧붙여 회사가 어떤 일을 하는지를 꼼꼼히 살피는 건 당연히 해야 할 일이고요. 또 그 회사가 조직을 운영하는 데 강조하고 있는 부분이 있다면 챙겨봐야 해요. 예를 들어 배달의민족 같은 경우는 <송파구에서 일을 더 잘하는 11가지 방법> 등 그들이 가지고 있는 기업문화를 적극적으로 노출하고 있잖아요. 이런 건 읽고 가야죠.

관련해서 질문을 안 할 수도 있지만, 물어봤을 때 대답을 못하면 떨어질 확률이 커요. 회사는 오래 일할 인재를, 그리고 회사를 사랑하는 인재를 뽑고 싶어하거든요. 그럼 지원자로서 회사를 사랑하는 척이라도 해야 하는 거죠.


- 작가님 블로그에 올라온 집필 후기를 봤어요. 집필 단계에서부터 마지막 탈고 과정에까지 많은 주변 개발자들에게 리뷰를 받으셨다고요. 또 특이한 게, 베타 리뷰어 과정을 앞단에 두셨더라고요. 주변 개발자들로부터 리뷰를 받는 데 신중했던 것 같은데, 이유가 따로 있었나요?

첫번째 책을 쓰면서 느낀 게, 베타 리뷰어 과정을 거치면 수정할 게 정말 많아지더라고요. 근데 대부분 IT 책들을 보면 대부분 베타 리뷰어가 없거나, 마지막 단계에 넣거든요. 이렇게 하면 사실 피드백 반영을 잘 못해요. 이미 디자인 작업이 어느 정도 마무리된 상황이라, 내용을 크게 바꾸고 싶어도 바꿀 수 없는 상황이거든요.

실력 좋은 개발자분들의 코멘트를 받게 된 만큼 의견을 무조건 반영하고 싶었어요. 그래서 조금 어려움이 있더라도 베타 리뷰어를 일찍 받았고요. 그만큼 책에 다른 현직 개발자들의 관점이 충분히 들어간 것 같아서 만족스러워요.


- 책을 통해서는 '어떻게 하면 면접에 합격할 수 있을까'를 이야기했다면, 한편으로 ‘어떻게 하면 좋은 회사를 골라낼 수 있을까’도 중요한 문제일 것 같아요. 개발자들을 필요로 하는 회사들이 많은 요즘, 개발자들이 일하기 좋은 회사를 골라낼 수 있는 노하우가 있을까요?

연봉, 회사의 BM(Business Model), 그리고 누구와 함께하는가를 기반으로 판단하는 것이 중요해요.

연봉, 함께 일하는 사람들과 관련해서는 이미 알고 계실 텐데요. 회사의 BM은 회사가 '무엇을 기반으로 돈을 버느냐'를 말하죠. 예를 들어 이 회사가 아티스트를 위한 상품을 만들고 있다면, 어떤 확장성이 있고 차별점은 무엇이고, 현재 자본은 어느 정도인데 손익분기점은 언제 넘을지 등의 정보를 보고 판단해야 해요.

또 이 회사가 좀 더 도전적인지, 아니면 안정적인지를 파악하는 것도 중요해요. 자신의 가치관과 회사의 가치관이 맞는지 파악해야 합니다.


- 마지막 질문입니다. 면접을 준비하는 개발자분들이 이 책을 꼭 읽어야 하는 이유가 뭘까요. 자랑해주세요!

음, 좀 멋있는 말을 남기고 싶은데.(웃음) 이 책을 읽는 건, 제가 실제로 네이버, 카카오 등 업계 탑티어 기업을 준비하면서 노력했던 시간과 수많은 실력 있는 개발자들이 투자한 시간을 사는 것과 같기 때문이에요. 개발자분들이 더 효율적으로 공부하는 데 도움이 될 겁니다.
저자 주홍철
AI핀테크 스타트업, 어비스의 리드개발자이자 설립자. 네이버의 로그플랫폼에서 일했고, 대한민국 공항, 공군에서 쓰는 실시간 모니터링 시스템을 만들었다. 국방부 등에서 군 SW 발전에 기여한 공로로 참모총장상, 사령관상, 단장상을 수상했다. 《면접을 위한 CS 전공지식 노트》, 《실시간 모니터링 시스템을 만들며 정복하는 MEVN》을 집필했고, 인프런에서 ‘10주 완성 C++ 코딩테스트’ 'CS 지식의 정석'을 강의하고 있다.
• 블로그 : https://blog.naver.com/jhc9639
• 유튜브 : https://www.youtube.com/c/kundol/
홍유경 기자 [email protected]
#인터뷰