본문 바로가기
개발/개발지식

[채용] 5년차 개발자의 신입 개발자 면접 회고

by 핸디(Handy) 2024. 3. 13.

들어가며

이번 글은 회사에서의 면접 경험, 개인적으로 부탁받은 이력서 피드백 등을 통해 얻게 된 인사이트를 기반으로 저만의 회고를 작성한 글입니다.
반쯤 정신 놓고 쓴 글이라 생각의 흐름대로 적었으니 참고바랍니다.

아쉬운 점

우리 회사의 AI 연구직을 제외하고 실제 제품을 만드는 개발자는 8명이다. 그리고 5년 차인 내가 막내다.
스타트업에서 흔히 볼 수 없는 경력들이 있다.
그래서 우리 팀에선 나만 N연차, 다른 팀원들은 1N연차이다.
그러다 보니 다른 팀원들은 본인만의 면접 질문 리스트들이 있다.
물론 이런 리스트들이 사전에 공유되긴 하지만, 내 개발철학과 지식수준에 부합되는 기술 질문 리스트를 만들고 싶었다.
근데 이번에 하나도 만들지 못했다.

기술 질문 리스트를 만들지 못한 이유

결론부터 말하고 더 이상 단순 기술 질문들이 그 사람의 역량을 나타내지 못한다고 생각했기 때문이다.
물론 기본적인 기술질문리스트는 만들 수 있다. react의 훅에 대해 설명해 주세요. typescript의 유틸리티 타입에 대해 알려주세요.
혹은 자바스크립트의 싱글스레드에 대해 설명해주세요 등등.
이런 질문들은 나 또한 학습했고, 또 이에 대해서 적당한 수준으로 대화할 수 있다. 혹은 특정 키워드에 대해서 평균치보다는 깊게 공부해 본 적이 있다.
근데 시간이 지날수록 이런 암기식 지식들로 개발자의 역량을 판단할 수 없다는 생각이 점점 들고 있다.
면접을 할 때마다 팀장님이 꼭 물어보는 질문 중에는 "이때까지 했던 프로젝트 중에 어려웠던 경험", "협업을 하면서 어려웠던 경험"이 있었다.
다른 팀원은 문자열 뒤집기 수도코딩 문제를 낸다.

팀원 질문 : 문자열 뒤집기

문자열 뒤집기는 간단하다. 하지만 어지간해서는 이것을 직접 구현하지 않는다. 배열의 reverse를 쓰면 간단히 되기 때문이다.
질문 답변 중에서 "reverse 쓰면 돼요"는 내 기준에서 좋은 답변이다. 본인이 다루는 언어의 배열 메서드를 안다는 것은 개발 속도 측면에서 아주 중요하기 때문이다.
그다음에 이 답변에 대해서 시간복잡도와 공간복잡도에 대해서 물어본다. (물론 로직을 제대로 작성했다면)
그리고 최적화하는 방법에 대해서도 마지막으로 질문이다.
여기까지 답변한 개발자는 전체 지원자들 중에 몇 명일까?
이번에 우리 회사 0년~3년 차 개발자 채용에 N백 명 지원했고, 이 중에 20명만 서류통과를 했고, 그중에 5명만 사전면접을 통과했고, 최종에서는 1명만 통과했다.

N00명 -> 20명 -> 5명 -> 1명

근데 이 중에서 문자열 뒤집기를 끝까지 말한 지원자는 단 2명뿐이었다.
우리 회사가 알려지지 않은 40명의 작은 회사라 좋은 인재가 지원 안 한 것이 첫 번째 문제일 것이고,
두 번째 문제는 지원자들이 빠르게 포폴을 만들기 위해 컴퓨팅적 사고는 건너뛴 채 바로 개발만 해서 그렇다고 5년 차 주니어 개발자는 감히 생각해 본다.

팀장님 질문 : 어려웠던 경험

팀장님 질문의 키워드는 어려웠던 경험이다.
나에게 어려웠던 경험을 말하라고 하면 하루종일 울면서 말할 수 있다.
처음 창업했을 때의 어려움부터, 인력분배하는 것의 어려움, 레거시에 대한 어려움, 현재 회사의 메인인 오디오를 브라우저에서 다루기 위해 머리가 깨지는 어려움까지 어려움은 참 많다.
근데 그 와중에 다 해결책은 있다. 물론 트레이드 오브가 있는 경우도, 또한 포기하는 것은 해결책인 경우가 있다.
이런 과정 속에서 쌓인 경험과 시간낭비들이 다음 개발의 난이도를 결정한다고 생각한다. (아마도 팀장님도 그런 생각으로 질문하셨을 거라 생각함)
그래서 이런 기준에서 내가 경력자의 이력서를 바로 재끼는 순간이 있다.

무한 스크롤, 페이지네이션 같은 서비스 구현 중에 필요한 단순 UI를 위한 기술 언급

주로 프로젝트 상세 설명등에 이런 문구들이 있다.
경력자의 이력서에는 이런 것들이 있으면 안 된다. 무한 스크롤과 페이지네이션을 쓸려면 해당 라이브러리를 기여했다거나, 특정 목적 때문에 직접 만들면서 느낀 감정이라고 있어야 한다.
근데 안타깝게도 많은 경력자의 문서에는 저 문구가 떡하니 있다.

기술 질문 리스트를 만들지 못한 이유 마무리

기술 질문 리스트를 만들지 못했지만, 면접 질문 리스트는 하나둘씩  추가되고 있다.
퍼스트무버가 안되면 패스트팔로워라도 되라고 했듯이, 선배개발자들의 질문 리스트들이 나에게 스며들고 있다.

서류, 사전면접에서 떨어트린 이유

일단 서류의 서식에 대한 논쟁이 많지만, 나는 상관 쓰지 않는다.
애초에 자유서식이 대부분이고 특히 내가 괴물이라고 생각하는 지인 개발자들의 이력서는 디자인부터 폭망이기 때문이다. (오히려 디자인 때문에 Geek 해 보일 수도?)
이력서를 보다 보면 참 다양하다.
0N학번 신입개발자부터( 0N년생이 아니다), 1년 동안 4개의 회사를 거친 1년 차, 그리고 부트캠프 출신 등이 있다.
경력자의 이력서를 바로 재끼는 순간은 위에서 말했다.
그리고 신입, 저 연차(이하 신입들)의 이력서를 재끼는 순간은 아직 없다.
신입들의 이력서를 보면 화려하고, 깔끔하고 이쁘다.
랠릿, 원티드, 혹은 노션들을 통해 깔끔하고 정돈된 템플릿이 제공되기도 하고 또 이력서를 위한 강의가 등장했으며, 이전에 블로그 글을 쓴 적이 있듯이 ChatGPT가 어썸 한 텍스트 템플릿을 만들어준다.
그렇기에 외적인 모습으로 판단할 수 없는 상황이 되었고, 또 내용으로만 판단하기는 더욱 어려운 현실이 되어버렸다.
기술 스택은 스킵하고 (그렇다고 없으면 안 된다. 적어도 어떤 스택을 쓰는지는 확인하니깐)
그래서 나는 오히려 기술스택보다는 아래에 있던 트러플 슈팅, 혹은 활동 등을 보는 편이다.

트러플 슈팅, 혹은 활동

이것도 상향 평준화가 되었다. 신입들 이력서에 오픈소스 컨트리뷰터가 보이기 시작하고, 어떤 라이브러리를 개선했다는 이력서는 이제 10명 중에 1,2명은 그래본 경험이 있다.
참 멋지고 같이 일해보고 싶은 생각이 절로 든다.
오픈소스에 커밋해 볼 정도면 내가 짠 코드에 대해 개선할 점을 찾아와 말해주지 않겠는가?라는 설렘으로 기분이 좋다.
요새 활동, 동아리등이 참 활발하다.
대표적인 멋쟁이 사자처럼부터, 디프만, 우아한 테크코스 등이 있다. 그리고 이들은 생각보다 수준 높게 활동한다. (때론 나도 가서 배우고 싶다)
이런 동아리들을 들어간다면 면접에 포트폴리오 걱정은 없어 보인다. 대부분 실제 서비스까지 배포하기 때문에 눈으로 확인해볼 수도 있어서 면접관 입장에서 아주 좋다.
또한 협업을 해볼수도 있고, 실제 배포하면서 좋은 경험과 지식을 쌓을 수 있는 매우 좋은 활동이다. 그리고 그들끼리의 커뮤티니가 좋은 지식 저장고 역할을 한다.
함께 프로젝트를 해보면서 비슷한 기술스택과 어떤 기술을 있는지 알고, 또 함께 일하고 놀면서 가까워졌기에, 질문이 있을 때 누구보다 빠르게 질문하고 답변을 받을 수 있는 좋은 창구가 된다. (갑자기 동아리 예찬론자가 되는 느낌이지만)
아무튼 이런 활동들이 있으면 아무래도 눈여겨보게 된다. 이런 동아리는 동아리 면접도 보기에, 이미 한번 걸러진 개발자라는 증명도 되기 때문이다.
많이들 해보라고 권해주고 싶다. 
잠깐 내 얘기로 돌아가보자면, 나는 커피챗요청은 별 일 없다면 한다.
나를 궁금해하는 이유가 궁금하기 때문인데, 대부분 답변은 "창업을 해본 경험"이다.
나는 학창 시절 위의 활동 대신에 디자이너인 고등학교 친구와 창업을 했다. 그리고 프리 A 투자까지 받고, 또 수십만 앱 다운로드까지 경험해 봤다. 
많은 스타트업 관계자는 이런 경험을 좋아한다.

서류, 사전면접에서 떨어트린 이유 마무리

이유에 대해 위에서 언급하지 않았지만, 떨어트린 이유는 별거 없다.
실제로 이력서상에서 별게 없었기 때문에 눈에 띄지 못했고 다음 절차로 진행되지 않은 것이다.
채용의 모든 과정은 돈이다.
그렇기에 특출 나지 않지만 기본기가 엄청나고 성장가능성이 미쳤지만 이력서상에서 눈에 띄지 못하면 자세히 못 본다.
그럴 돈이 없다. 스타트업에는 
 

지원자에게 하고 싶은 말

신입 개발자들과 경력개발자의 면접은 많은 것이 다르다.
그중에 하나를 꼽자면 신입 개발자들은 과하게 긴장한다. 당연히 나도 긴장을 했고, 솔직히 지금 경력면접을 볼 때도 긴장한다.
근데 나뿐만 아니라 경력자들은 이런 방어기제가 있다.

  • 여기 떨어지면 지금 회사 좀 더 다니지 뭐
  • 떨어지면 어쩔 수 없지, 다른 곳 가볼까?

즉 여기에서 떨어진다고 해서 인생사에 큰 타격이 없다는 것을 알고 있다.

긴장하지 말자

네이버 떨어지면 카라쿠배에 지원해 보면 되는 것이다. 지인 중에 네이버 계열사 3곳을 지원해 본 사람이 있다. 
대략 1년 정도 걸렸는데, 결국 네이버에 갔다. 면접보고 피드백받고, 부족한 부분 채우고 면접을 본다. 이게 다다.
딱히 비법은 없다. 대신 평소에 개발을 해야 한다.
가끔 주변에 회사에서 월급 루팡을 한다고 자랑하는 사람이 있거든, 그 사람을 위해 기도하자.
그건 회사돈을 루팡하는 게 아니고 미래의 나를 루팡하는 행위이기 때문이다.
오히려 루팡을 하는 나를 발견했다면 회사에 화를 내야 한다. "날 개발시키지 않고 놀게 해서 내 미래를 망쳐논다고"
무튼 다시 돌아가서 아무튼 신입들도 이런 마음이 필요하다.

  • 떨어지면 다음 회사 다니지 뭐
  • 떨어지면 어쩔 수 없지, 다른 곳 가볼까?

경력과 다를 거 없다. 자신감을 가져보자. 그리고 자주 면접지원해 보자
그다음으로는 질문을 많이 하자.

질문을 많이 하자

면접을 한자 그대로 얼굴끼리 접하는 거다. 즉 회사가 지원자 얼굴을 보는 동시에 지원자도 회사 얼굴을 보는 것이다.
대부분 정상적인 회사에서의 마무리 말은, "혹시 더 하고 싶은 말이 있으면 해도 된다"이다.
간혹 유튜브에서 이때에 마무리 멘트를 준비해서 하라는 경우도 있고, 또 이전 질문 중에 보충하라는 말도 있다.
면접관 입장에선 뭐든 좋다.
재택근무를 한다고 하면 실제로 가능한 건지, 회의 분위기는 어떤가, 회사는 투명한가, 내가 가면 어떤 일 해야 하는가, 레거시는 어느 정도인가, 팀 내 리뷰문화는 어떤 거, 현재 개발팀에서 부족한 점은 뭐라 생각하는가,  개발팀이 현재 기술적으로 어려운 점은 어떤 건가 등
질문할 게 너무 많은데, 대부분 질문을 하지 않는다.
실제로는 회사에서 힘든 일은 처음으로 사용해본 Next.js가 아니다.
LGTM(Look Good To Me)같은 구글식 리뷰문화 대신에 띄어쓰기 컨벤션 안맞췄다고 저멀리서 달려오는 동료개발자를 대면 리뷰에서 오는 고통이 더 크다.
그리고 상처받고 퇴근중인데 지옥이 강림한 2호선을 타고 부평초 마냥 흔들리고는 내 모습을 보는 순간 "힘듬"이 온다.
그러니 이런 고통을 경험하고 싶지 않다면 많이 물어보고, 아니다 싶으면 지원자도 최종면접에서 회사를 탈락시켜야 한다.
특히나 최종면접은 임원면접인데, 여기서 싸한 느낌 받으면 실제로 회사가 사라진다. (스타트업에서는 종종 혹은 자주 보인다)

좋은 점

면접은 참여한 모든 사람이 힘든 일이다. 그럼에도 면접을 하는 이유는 함께 할 동료를 뽑는 소중한 자리이기 때문이다.
그렇기에 내가 일하고 싶은 사람과 일할 수 있다는 점이 가장 좋다는 점이다.
그 외에는 신입 개발자들의 평균적인 수준, 나의 면접자스킬, 그리고 신입개발자들이 궁금해하는 점 등이 좋았다.
그렇기에 내가 준비해야 할 것들에 대한 개요를 살펴본 느낌이라 하나씩 준비해보고 있다.

마무리

얼마 전에 인프런 CTO인 향로님의 오프보딩에 관한 글을 읽었다.
오프보딩이던 온보딩이던 동료와 관련된 건 항상 매우 중요하다.
오프보딩이 좋은 기억으로 남도록 온보딩부터 행복한 동료가 되길 바라며
또 이 글을 보는 모든 분들이 원하는 온보딩을 하길 바라며
끝.

댓글