잡기장

인터뷰

다크pgmr 2017. 7. 13. 17:11

얼마 전 한 친구와 인텨뷰를 가졌다. 이력서와 자기소개서는 훌륭했다. 하지만 이력서와 자기소개서는 참고일 뿐 그것만으로는 판단이 힘들다. 그래서 자신이 그동안 한 것에 대해서 발표를 부탁했다.


발표는 나쁘지 않았고 딥러닝을 이용해서 실제 문제에 적용한 결과도 나쁘지 않았다. 그리고 사용한 알고리즘이나 발표하면서 사용한 기술적인 용어들로 봤을 때 이 정도면 컴퓨터 비전에 필요한 기본적인 소양은 갖추었다고 판단됐다.


하지만 그것은 성급한 판단이었다. 발표만으로는 확실한 판단이 어렵기 때문에 발표 후 간단한 구술 테스트를 진행했다. 이른바 인터뷰이다. 그런데 인터뷰에서는 전혀 다른 결과가 나왔다.


테스트는 수학, 기계학습, 프로그래밍, 영상처리에 대한 질의응답 형식으로 진행했다. 예를 들어, 그 친구가 발표 도중에 SVM을 사용했다는 내용이 나왔으면 SVM이 무엇인지 간략하게 설명할 수 있느냐? 학습에서 Stochastic gradient 방법을 썼다고 했는데 그게 무슨 방법이냐? gradient가 무엇이냐? 등등 본인이 발표한 내용 중에서 관련된 개념 등을 물어보는 것이다. 그리고 프로그래밍 관련해서는 C에서 포인터가 무엇이냐? C++을 사용할 수 있다고 했는데 virtual 함수가 무엇이냐? 등 기초적이지만 수준을 체크할 수 있는 질문들이다.


그런데, 이 친구가 거의 답변을 못한다.. 막연한 지식 또는 주변적인 답변만 할 뿐 정작 질문 자체에 대해서는 답변을 하지 못한다. 그냥 가져다 쎴다. 잘 모르겠다... 어느 것 하나도 깔끔한 답변이 없다. 딱 자신이 발표한 내용, 말한 내용까지만 알고 있는 것이다.


물론 그럴 수 있다. 바쁜 세상에 모든 것을 다 알 수는 없다. 그게 뭔지는 잘 몰라도 결과가 좋다면 가져다 쓰는 것이 현실이다. 요즘 DNN을 사용하는 것이 그렇다. 그냥 가져다 쓰면 잘 된다. 이른 바 black-box implementer가 되는 것이다. 하지만, 아무리 그래도 최소한 자신이 사용하는 것에 대해서는 기본적인 개념 정도는 알고 있어야 한다.


그 친구는 조금 안타깝다.. 태도나 성실성, 경험 측면에서는 모두 통과다. 하지만 자신이 하고 있는 것에 대해서 의문을 갖지 않는 것은 받아들이기 어렵다. 그것은 잠재력과 같은 것이다..


by 다크 프로그래머