본문 바로가기

프로그래밍

면접 본 (망한)후기

반응형

최근 이직을 알아보기 시작했다. 4년간 몸담고 있는 회사에서 탈출(?) 하기 위해 이곳 저곳 이력서를 넣고 있다. 탈출이라고 표현 하긴 했지만 현 회사가 크게 나쁜것은 아니다. 연봉이 많진 않지만 그럭저럭 먹고사는데는 문제가 없고, 일도 크게 바쁘지 않다.

 

다만 이렇게 그럭저럭 문제 없는 삶이 가끔은 불안해질 때가 있다. 지금 내가 충분히 열심히 살고 있는가? 개발자로서 연차는 쌓여가는데 그만큼 실력도 같이 쌓여가고 있는가?

 

하루에도 수십번씩 스스로에 대해 묻고 있다. 그래서 내린 결론은 이직. 이직을 꼭 해야겠다는 마음가짐 부터 가져야 내 스스로에게 좀 더 객관적으로 냉정하게 평가할 수 있을것 같았다.

 

일단 이력서부터 점검했다. 내가 4년간 iOS 개발자로 일하며 배우거나 성취했던 것들을 정리하고, 앞으로의 비전에 대해 곰곰히 생각했다. 역시나, 너무너무너무너무너무 부족했다. 나름대로 맡은 일에 열심히 하고 퇴근하고서도 1-2시간 이상씩 공부하려고 노력해왔던 시간들이 결코 충분치 않았나보다. 아니 가슴에 손을 얹고 생각해보니 매 순간 최선을 다하기 보다는 게으름을 피운것이 사실이었다.

 

사람은 죽기전에 내 인생이 주마등처럼 스친다고 하던가. 나는 이력서를 갱신하면서 내가 게으름 피웠던 4년의 세월이 주마등처럼 스쳐지나갔다. 왜 그 순간엔 꽤나 힘들게 노력했다고 생각했던 것들이 지나고 나면 그 부족함이 여실히 느껴질까. 도대체 어느정도로 해야 지나고 나서도 후회하지 않을만큼 노력했다고 할 수 있을까.

 

아참, 이 포스팅 주제가 면접 (망한)후기인데. 서론이 좀 주저리 긴 것 같다.

 

각설하고, 이차저차 해서 한곳 화상면접 기회를 얻게 됐다. 결론부터 말하자면 망했다. JD(Job Description)에 해당하는 내용을 질문하는데 그에대한 대답부터 너무 횡설수설 했다. 면접 과정을 기억나는 대로 적어보자면,

 

  • 자기소개
  • 질문: 현재 맡고 있는 업무는 무엇인지?
  • 질문: 새로운 업무를 진행할 때 어떤 과정을 거치는지?
  • 질문: Objective C에 대한 경험이 있는지?
  • 질문: ReactiveX에 대한 경험이 있는지?
  • 질문: MVVM 디자인 패턴에 대한 장점이 무엇인지?
  • 질문: TDD에 대한 경험이 있는지?
  • 면접 회사 브리핑
  • 추가 질문?

사실 정말 간단한 질문들이지만 제대로 된 대답을 못한 것 같다. 일단 기술면접이 아니라 기술적인 부분에 대해선 전혀 물어보지 않을거라고 생각했다. 물론 저런 기본적인 내용은 준비를 미리 하지 않아도 틱하면 툭하고 나와야 하지만.

 

사실 지금 생각해보니 면접자의 의도는 테스트 기반의 아키텍쳐에 대한 이해도 였던것 같다.

 

ReactiveX/RxSwift, 그리고 그와 연계된 MVVM 디자인 패턴에 대한 아키텍쳐를 현 회사에서 최근에 조금씩 도입하고 있지만, 유닛테스트 같은 것 보다는 현재는 레거시 코드를 제거하고, 뷰와 모델을 각 독립적으로 분배하여 코드의 가독성을 높히는데 집중하고 있다.

 

몇몇 앱은 각종 UI 로직과 비즈니스 로직이 한 파일에 집중되어 15,000줄이 넘어가기도 해서 유지보수가 굉장히 어려운 단점이 있다. 그 부분을 해소하고자 MVVM 패턴으로 차근차근 마이그레이션 하는 작업을 진행중인데, 사실 그 외적인 장점이나 단점에 대해 정확하게 파악하고 머릿속에 정리하고 있지 않았던 것 같다.

 

한 가지 문제에 대해 명확하게 정리하지 않고 뭉뚱그려서 이해하고 넘어가는, 이른바 대충대충의 습관이 내 최대 단점 중 하나인데 이번 면접을 통해서 다시한번 뚜드려 맞은 것 같다.

 

어쨌든 좋게 생각하면, 내 현 실력의 주소를 객관적이고 냉정하게 분석해볼 수 있는 기회가 된 것 같다. 다시한번 내가 부족한 부분에 대해 깊게 생각해 볼 수 있었고, 그 부분들은 지금부터 채우려고 노력해야 겠다.

 

반응형