본문 바로가기

프로그래밍/기타

iOS 앱 개발자로 취업하기 2

취업 기간 동안 면접은 총 여섯 번을 봤다. 그중 다섯 번은 주로 실무나 기술에 대해 물어보는 면접이었고, 나머지 하나는 어떤 주제가 있다기보다는 다양한 주제에 대해 대화하는 형식의 면접이었다.

 

여섯 번의 면접을 보면서 느낀 점은, 원하는 기업에 전략적으로 지원하는 지혜가 필요하다는 것이다. 개발자를 채용하는 많은 기업들이 상시 채용을 하기 때문에 기간에 대한 부담이 공개 채용보다 상대적으로 덜하다. 이 점을 이용해, 한 번에 몰아서 지원을 하기보다는, 원하는 기업을 하나씩 지원하면서 각각의 기업에 집중하고, 채용 과정에서 발견되는 자신의 부족한 점을 보강하는 것이 좋은 것 같다.

 

첫 번째 면접도 최선을 다해 준비했지만, 실제 면접을 본 것은 처음이었기 때문에 면접 과정에서 나의 부족한 점을 많이 발견할 수 있었다. 이런 부족한 점들을 보완하기 위해 면접이 끝나면 최대한 빨리 복기해서 내가 잘못 대답한 부분이나, 대답하지 못했던 부분에 대해 추가로 공부했다. 그 결과, 면접을 볼 수록 내공이 쌓여, 갈수록 면접을 더 잘 볼 수 있게 된 것 같다.

 

면접 질문은 크게 네 가지 정도로 분류할 수 있을 것 같다.

  1. CS
  2. Swift/iOS
  3. 포트폴리오
  4. 기타

먼저 CS의 경우, 본 면접의 횟수가 많지는 않지만, 나는 주로 "데이터 구조"나 "네트워크", "운영체제"와 관련된 질문을 받았다. CS 관련 질문에 대한 준비는 왕도가 없다고 생각한다. 그저 꾸준히, 반복하는 방법이 전부인 것 같다. 개인적으로, 깊이 있는 질문은 받지 못했지만, 그렇기 때문에 대답을 잘하지 못하면 면접 결과에 치명적일 수 있을 것 같다는 생각을 했다.

 

다음은 Swift와 iOS 앱에 대한 질문이다. 해당 질문에 대한 정보는 인터넷에서 쉽게 찾을 수 있다. 하지만 대부분, 문제와 답을 단답형으로 나열할 뿐이었다. 면접에 대한 질문은 인터넷을 통해 확인하는 것은 좋지만, 해당 질문에 대해 깊이 있게 고민해 보는 자세가 필요하다. 이 질문을 왜 하는지 생각해 보면, 말해야 하는 답을 찾을 수 있을 것이다.

다섯 번의 면접 모두에서, Swift의 클래스와 구조체의 차이에 대한 질문을 받았다. 인터넷에 검색해 보면 무수히 많은 글들을 볼 수 있지만, 대부분은 단순히 reference-type인지 value-type인지를 구분하고 있을 뿐이었다. 하지만 내가 느끼기에 어떤 면접관님도 reference-type인지 value-type인지에 대한 단순 구분을 궁금해하지는 않았던 것 같다. 각각의 type에 대한 정확한 정의는 물론이고, 그에 따른 장/단점은 무엇인지, 실제로 사용되는 경우는 언제인지 등을 자세히 공부하는 것이 필요하다.

나의 경우 "앱의 생명주기"나 "반응형 프로그래밍"에 대한 질문도 많이 받았다.

 

다음은 포트폴리오이다. 포트폴리오에 대한 질문도 많이 받았는데, 중요한 것은 "서사"인 것 같다. 해당 프로젝트를 시작하게 된 이유와, 사용한 기술, 진행하면서 겪은 어려움, 느낀 점들을에 대해 정리하는 것이 필요하다. (바꿔서 말하면, 프로젝트를 정해서 수행할 때, 앞서 말한 "서사"를 생각하면서 진행하는 것이 향후 면접에 크게 도움이 될 것이다)

그중에서도 중요한 것은, 사용된 기술을 "왜" 사용했는지를 명확히 설명할 수 있어야 한다는 것이다. 해당 기술을 사용하게 된 계기나, 다른 기술들과의 차이 등을 숙지하고 가는 것이 필요하다.

개인적인 생각인데, 대부분의 면접관님들이 포트폴리오에 기재한 프로젝트를 깊이 있게 이해하지는 않은 것 같다. 그렇기 때문에, 질문에 자신과 확신을 보인다면, 충분히 매력을 어필할 수 있다고 생각한다.

 

마지막으로 분류하기 힘든 질문들도 있다. 블로그나 소스 코드에 대한 질문이나 다니고 있는 회사에 대한 질문, 가치관에 대한 질문도 많이 받았다. 사실 이 부분에 대해서는 확실히 말하기가 힘들다. 나는 일관되게 말을 했다고 생각하는데, 붙은 면접도 있고 떨어진 면접도 있으니 말이다. 돌이켜 생각해 보면, 앞선 질문들의 답변에 따라 자신이 하는 답변이 답이 될 수도 있고, 아닐 수도 있는 것 같다. 앞의 질문들에 기가 막히게 답변을 했다면, 기타 질문에 어떤 답을 해도 설득력 있게 들릴 것이다.

또, 기타 질문들은 회사와 나의 궁합을 보기 위한 질문이라고 생각한다. 떨어진 거라면, 그 회사와 나는 안 맞는 것이고, 붙었다면, 맞는 것이다.

 

면접에 합격하면 처우 협의를 하게 된다. 출근 일자와 연봉 등을 정하게 된다. 나의 경우, 직종을 변경하는 것이었기 때문에, 협의가 길게 이어지지는 않았다. 

 

지금 다니고 있는 회사에서 인수인계도 해야 하고, 이사도 해야 하고, 해야 할 일들이 산더미지만 첫 출근만을 기다리고 있다. 기존에는 회사에서는 일을 하고 집에서는 내가 하고 싶은 개발을 하였는데, 이제는 회사에서도 내가 하고 싶은 개발을 할 수 있는 것이 나를 설레게 한다.