면접을 앞둔 개발자 지망생에게

개발자로 살아남기
골든래빗 출판사
박종천 지음


취업이라는 바늘구멍을 통과하기 위해서는 서류전형, 코딩 테스트, 인터뷰 등의 수많은 관문을 거쳐야 한다. 오래도록 준비했더라도 내가 가는 길이 맞는지 올바르게 준비하고 있는지 마음속에서 불안감을 떨쳐내기 어렵다. 개발자가 되는 문 앞에서 선 개발자 지망생, 당신을 위해 <개발자로 살아남기>의 한 이야기를 준비했다. 채용하는 입장에서 지망생의 어떤 점을 중점적으로 보는지, 그에 맞춰 지망생은 무엇을 준비하면 좋을지 작은 실마리가 되어 줄 것이다._편집자 주

회사마다 순서는 달라도 채용 과정은 크게 다르지 않습니다. 요즘은 이력서 → 코딩 테스트 → 인터뷰 순서가 보편적입니다. 지원자라면 이력서를 잘 써야 합니다. 코딩 테스트 준비도 잘해야 합니다. 마지막 인터뷰까지 도달했다면 거의 다 된 겁니다. 구체적으로 일 자체에 초점을 맞춰서 대답하는 걸 잊지 마세요.
취업난은 이제 안타까운 현실이 되었습니다. 그런데 회사에서 채용 자체를 안 하는 게 아닙니다. 소프트웨어 회사에서 구인난을 노래하지 않습니까? 뭐니뭐니해도 결국에는 개발 능력이 당락을 좌우합니다. 그러므로 채용되기에 충분할 정도로 실력을 닦아야 합니다. 실력을 닦는 방법은 공부하고 반복하고 경험하기가 답입니다.
데이터베이스 일을 꼭 해보고 싶어 하는 지인이 있었습니다. 마침 데이터베이스 채용 공고를 보게 되었습니다. 그런데 데이터베이스 일을 하고 싶다는 생각만 했지, 공부나 준비를 전혀 하지 않았습니다. 얕은 지식을 무기 삼아 지원해볼까 상담해왔습니다. ‘가서 열심히 하면 되지 않을까’ 라는 생각으로요. 제가 뭐라고 했을까요? 지원해서 합격한 뒤 고생하며 실력 없지만 열심히 한다고 칭찬받는 상황과 1년 동안 공부한 뒤 실력을 갖춰서 또 다른 기회를 잡아 제대로 실력을 발휘하는 상황 중 무엇이 나은 지를 고민해보라 했습니다. 자리는 언제든지 날 수 있습니다. 지금 한 번 각인된 실력을 재고시키기는 어렵습니다. 그 친구는 결국 공부를 선택했습니다. 이후에 사내에서 데이터베이스를 다루는 포지션으로 옮겨 맹활약합니다.
개발자는 어떤 자리, 어떤 회사를 목표로 해서는 안 됩니다. ‘어떤 사람이 돼야겠다’, ‘무엇을 해야겠다’를 목표로 삼아야 합니다. 어떤 회사에 지원하는 이유는 그곳에 하고 싶은 일이 있어서여야 하지, 꼭 특정 회사 특정 포지션을 고집해서는 안 됩니다. 글로벌 컨설팅사 맥킨지가 2020년 조사한 결과에 따르면 기업의 평균수명은 1935년에는 90년, 1970년에는 30년, 2015년에는 15년까지 줄었다고 합니다. 대단해 보이는 기업의 평균 수명이 인간의 평균 수명보다 짧습니다. 나보다 수명이 짧을 수 있는 기업의 포지션이 뭐가 대답합니까? 내 역량에 집중하면 기업의 흥망과 상관없이 내가 원하는 일을 할 수 있게 되는 겁니다.
이력서는 지원하는 회사에 맞게 최적화해야 합니다. 그 회사에 왜 가고 싶은지, 회사는 왜 여러분을 뽑아야 하는지, 자신이 거기서 무엇을 하고 싶은지를 이력서에 꼭 써서 제출해주세요. 그동안 해온 일과 지원하는 회사를 매칭시켜야 합니다. 예를 들어 게임 회사, 금융 회사, 공사에 지원한다고 해봅시다. 당연히 같은 이력서로는 안 되겠죠? 이력서는 읽는 사람이 보고 싶어 할 내용으로 최적화해 채워주세요.
코딩 테스트는 기초 지식과 연결됩니다. 알고리즘 문제 난이도가 높아지는 추세라 직장에서 열심히 일하는 것만 가지고는 코딩 테스트를 통과하기가 쉽지 않습니다. 시니어라도 코딩 테스트는 따로 준비를 하는 게 좋습니다. 이런 과정이 무의미하다고 생각할 필요는 없습니다. 상호평가 이기는 하지만 결국 캐스팅보트를 쥐고 있는 곳은 회사입니다. 입사하고자 하는 회사에서 코딩 테스트 제도를 운영한다면 코딩 테스트에 응해야 입사할 수 있는 겁니다.
인터뷰는 기술적인 인터뷰와 문화적인 인터뷰로 나눌 수 있습니다. 기술적인 질문을 많이 하거나 혹은 다른 직군의 면접관이 들어와 일반적인 질문을 할 수도 있습니다. 이 두 가지 상황을 생각하시고 각각 달리 준비하기 바랍니다. 다행히 이력서 쓰기, 코딩 테스트, 인터뷰 관련 좋은 책과 온라인 강의가 적지 않습니다. 정제된 간접 경험은 여러모로 이롭습니다. 적극 활용하기 바랍니다.
역량이 없는 상태에서 취업 성공은 위험합니다. 실패하더라도 역량을 키우는 실패가 낫습니다. 역량이 있으면 다시 시도할 수 있으니까요. 역량이 없이 이룬 성공은 우연입니다. 우연은 반복되지 않습니다. 게다가 입사 후에는 실력을 보여야 살아남습니다. 결국에는 개발 역량으로 이야기가 귀결되는군요. ‘동작하게 만들고, 제대로 만들고, 그다음에 빠르게 작동하게 만들라’는 격언을 앞서 5장에서 언급한 바가 있습니다. ‘대충(?) 만들고, 정리해서 깨끗하게 만들고 최적화하라’는 말입니다. 한 프로그램을 여러 번 다시 만들어보세요. 그러면 더 잘 만드는 방법을 고민하게 되어 개발 역량이 자라나게 됩니다.
제 채용 기준을 살짝 공개합니다. 첫 번째는 똑똑한 사람입니다. 기술이 계속 변하니까 얼마나 빠른 학습 능력을 가졌는지를 봅니다. 면접 질문 중에 제가 가장 좋아하는 질문은 이겁니다. “최근 6개월 내에 마지막으로 공부한 것은 무엇인가요? 왜 그걸 공부했고 어떤 방식으로 공부했나요?” 두 번째는 부지런한 사람입니다. 부지런한 사람과는 협업이 가능합니다. 마지막은 착한 사람입니다. 이기적인 사람보다는 남을 배려하는 사람을 우선합니다. 치열한 경쟁에서 엄격한 검증을 거쳐 채용된 개발자 가 모인 조직이라면 기술이 부족해서 망하는 일은 드뭅니다. 기술은 어떻게든 해결할 수 있습니다. 오히려 부지런함이나 인성의 문제로 협업이 깨져서 프로젝트와 조직과 회사를 망칩니다. 그래서 저는 (현실적으로 짧은 시간 안에 파악하기는 힘들지만) 인성을 꼭 확인하려 노력합니다.
얼마 전부터 스타트업 투자 심사도 하게 되었습니다. 심사를 할 때 회 사의 개발 역량도 점검해야 합니다. 사업성만큼이나 개발 역량도 중요하거든요. 개발 역량을 판단하는 질문이 뭐겠습니까? 박사 학위 가진 분이 몇 명인지 물을까요? 아닙니다. “채용할 때 무엇을 가장 중요하게 생각하십니까?”라고 물어봅니다. 대부분 소프트 스킬과 관련된 질문을 합니다. 종합해보면 ➊ 협업 능력, ➋ 기술 능력, ➌ 학습 능력, ➍ 지원 동기를 묻는 질문으로 나눌 수 있습니다.
지원 동기를 묻는 질문에는 답변을 아주 잘해야 합니다. 직전 직장과 비슷한 회사에 지원한다면 이직 이유가 사람 때문이라고 보게 됩니다. 하는 일과 사용하는 기술이 비슷하다면 자연스럽게 그리 생각하게 되는 거죠. 면접관 생각이 여기까지 미치게 되면 지원자와 지원자를 이직하게 만든 사람 중에 누가 문제일까를 고민하게 됩니다. 이전 직장에서 충돌이 있었다는 이야기를 하면 면접관은 불안하게 생각합니다. 만약 이런 이유로 이직을 준비한다면, 회사를 옮기는 것보다 현재 직장 내에서 문제를 어떻게 해결할지 고민해보시는 게 좋습니다. 회사를 옮겼는데도 비슷한 문제가 또 발생할 수 있기 때문입니다. 이직 사유의 모범 답안은 이미 정해져 있습니다. 이직할 회사의 서비스나 기술에 흥미를 보이는 겁니다.
소프트웨어 개발자로 성공하는 3요소는 재능, 노력, 기회입니다. 소프트웨어 개발자로 성공하려면 재능이 있어야 합니다. 자신에게 재능이 있는지 잘 모르겠다면 주변 사람들에게 물어보세요. 그럼 알려줄 겁니다. 소프트웨어 업계 내에도 할 일이 많으니까 재능이 없다면 프로그래밍 외의 일을 찾으면 됩니다. 수학 재능, 프로그래밍 재능, 프로젝트 관리 재능 이 있는지 점검해보세요. 재능에 있더라도 어마어마한 노력이 필요합니다. 지속적으로 노력하면 언젠가 기회가 찾아옵니다. 기회가 오면 잡아주세요. 재능도 없고, 노력도 안 하는데 기회가 온다면, 그건 기회가 아니고 저주입니다. 팔 힘이 없으면 기회라는 끈을 놓치고 천 길 낭떠러지로 떨어지게 됩니다. ‘난 재능도 있고 열심히 하는데 왜 기회가 안 오나’ 생각 이 든다면 아직 때가 아닌 겁니다. 기회는 결국에는 옵니다. 사실 기회는 반드시 오고, 생각보다 자주 옵니다. 안 오면 기회를 만드세요. (외부적인 요소에 집중하기보다는) 자기 자신에게 집중하고 가고자 하는 길을 구체적으로 그려보고 필요한 역량을 채워나가세요. 기회라는 이름의 감은 누워서 벌린 입 안에 저절로 쏘옥 떨어지는 법이 없으니까요.

박종천
한글과컴퓨터, 블리자드, 넥슨, 삼성전자를 거쳐 머신러닝 기반의 광고 플랫폼 유니콘 기업 몰로코에서 헤드 오브 솔루션스 아키텍처로 일한다. 30여 년 동안 한국과 실리콘밸리를 오가며 개발자, 개발 리더, 탑 레벨 매니저 등으로 활약했다. 〈스타크래프트〉 한글 지원 기능을 제작한 일은 평생의 자랑거리다. 그동안 쌓은 노하우를 개발자 커뮤니티에 풀어놓고자 애쓰고 있다.


현) MOLOCO Head of Solutions Architecture
전) 삼성전자 무선사업부 상무/그룹장
전) 넥슨 VP of Platform Technology
전) 블리자드 Lead Software Engineer

6 Comments

Leave a Reply

©2020 GoldenRabbit. All rights reserved.
상호명 : 골든래빗 주식회사
(04051) 서울특별시 마포구 양화로 186, 5층 512호, 514호 (동교동, LC타워)
TEL : 0505-398-0505 / FAX : 0505-537-0505
대표이사 : 최현우
사업자등록번호 : 475-87-01581
통신판매업신고 : 2023-서울마포-2391호
master@goldenrabbit.co.kr
개인정보처리방침
배송/반품/환불/교환 안내