나는 기술 면접을 끝내고 다음 주 목요일에 면접 결과를 받는 신분이다. 내 예상은 떨어질 것으로 생각한다. 그 이유에 대해서는 아래의 블로깅 내용을 보면 알 수 있을 것이다. 그래도 준비하면서 면접을 하면서 느꼈던 것들이 있고, 다른 사람들은 나와 같이 하지 않고 더욱 더 훌륭히 했으면 좋겠다. 그런 의미에서 이 블로깅을 쓰는 것이니 삼성 소프트웨어 멤버십(이하 SSM) 멤버라고 생각하지 말기를.
블로그를 통해 지속적으로 SSM을 준비하는 내 자신을 기록하고 싶었다. 그러나 결국 하지 못 했다.
이유는 간단했다.
우선순위가 낮았다.
개발을 하고 공부를 하는 와중에 이 블로그는 전혀 생각나지 않았다.
어느 정도 진척이 된 상태에서 블로깅이 생각이 나도 할 엄두가 나지 않았다.
그래서, 미약하나마 지원 준비 과정과 기술 면접 관련해서 블로깅을 한다.
이야기를 조금 하자면, 준비하는 중에도, 기술 면접 중에도, 정말 많은 걸 깨달았다.
준비하는 중에는 관련 지식과 프로그래밍 스킬이,
기술 면접 중에는 '열정'에 대한 정의를 깨달았다.
그것에 대해서 이야기를 하고자 한다.
준비를 하면서
나는 원래 소켓 프로그래밍과 관련하여 서버/클라이언트 모델을 기본으로 openCV 기술을 도입하는 방식으로 지원을 생각했다. 진행 도중에 들었던 생각은 "아... 이거 힘들겠구나... 그때까지 불가능하겠구나..."라는 생각을 했다.
그 이유는 얕은 소켓 프로그래밍 지식때문이었다. (독학에 따른 내 자신에 대한 믿음이 부족한 부분이 가장 마음에 걸렸다.)
그런데 이렇게 끝내는 중에 생각이 드는 것은 얕은 내 지식보다는 얕은 내 열정이 아니었을까라는 생각을 한다.
그래서 계속 주제를 바꿨다. 처음에는 서버/클라이언트 모델의 테트리스 게임을 생각하다가 이건 구현이 가능하겠지만 널린 소스라는 점에서 다른걸 또 생각했다. 그러다보니 너무 산으로 가거나 너무 쉽거나.
그래서 결국 내가 예전에 강의 중에 텀 프로젝트로 했던 영상 처리 관련 프로그램을 다시 해보기로 했다. 기능 구현에 안 되는 점과 부족한 점, 안정성을 생각하며 다시 구현해보았다.
그렇게 해서 프로그램을 완성해 가는 도중, 개인적으로 악재가 따랐는데, 바로 예비군 훈련이었다. 휴학 중이었기 때문에 동원 2박 3일이 하필이면 지원하는 그 주에 있었던 것이다. 지원이 화요일 오후 3시~4시까지였는데, 예비군을 월요일에서 수요일까지 받게 되었다. 결국, 지원하는 주 일요일 새벽까지는 프로그램을 구현했고, 월요일 새벽까지는 지원서 및 요약서를 작성하고 나는 평택으로 예비군을 떠났다.
이제 여기서 이야기 할 부분은 지원서와 요약서 부분일 것이다.
지원서는 사이트 접속하면 하나하나 자신이 알아서 채우면 된다. 인성 관련해서 물어보는 큼지막한 질문이 자기소개서 관련해서 4개가 있다.
1. 자기 소개
2. 자신의 장단점
3. 지원동기 및 포부
4. 관심분야 및 향후계획
정말 식상하기까지한 질문이다. 참고로, 기술면접에서 나는 이 인성 관련 질문은 전혀 받지 못 했다... 지원과 관련해서 기본적으로 지원자가 생각해볼 아주 아주 기본적인 부분이기에 넣지 않았을까하고 생각해 본다.
그 다음은 아마 지원할 때 가장 중요한 요약서 부분이다.
개인적으로, 이 부분을 날림으로 작성을 했는데 통과가 된 것을 보니 요약서를 통해서 사람을 커트하지는 않는다고 생각이 든다. 요기조기 들리는 소문에 따르면 왠만한 사람은 다 통과를 시켜준다고 하니, 요약서는 프로그램 설명에 대해서 자세히만 적는다면 통과할 것으로 생각이 든다. 요약서 하나 작성하면 자신이 만든 프로그램에 대해서 머리속으로 정리가 될 뿐 아니라 자신의 확실한 포트폴리오가 되니 성심성의껏 작성하도록 하는 것이 좋다. 본인의 것은 총 14페이지에 그림 20개가 들어갔고 용량은 4.6Mb가 나왔다. 참고로 5Mb 이하여야 한다.
개인적으로는, 이렇게 지원한 후에 요약서를 한 번 더 수정했다. 이미지나 글자체 등을 수정해서 언제라도 지원을 할 수 있게.
자, 그럼 이제 가장 중요한 기술 면접.
준비는 일단,
1. PT를 작성하고
2. 시연 프로그램으로서 프로그램을 최종 수정하고
3. 나올 질문을 대비해서 질문 리스트를 뽑은 후
4. 실전으로 준비
1. PT 작성
이렇게 기술 면접 준비에 앞서 구글링을 통해 기술 면접 관련해서 20개의 블로그 글들을 추린 후 정리하였다.
그것은 다음과 같다.
- 자기가 뭐가 관심있고, 이 분야에 대해서는 질문에 답을 잘 할 수 있다라는 것을 어필
- 동영상으로 보이는 버전은 반드시 준비
- 자신의 서류 및 작품에 대해서는 나올 질문들을 생각해보시고 모르는 건 찾아보고 면접에 대해서 대비
- 자기 소개나 프로젝트 소개는 짧게 준비하시고 시연에 초점을 맞춰서 발표
- 개발 언어에 대한 이해나 아웃풋이 훌륭
- 효과적인 해설과 설득을 위한 준비
- 순수하게 개발이 하고 싶은 학생
-> 실무와 개발에 대한 열정을 본다
- 개발에 대한 생각과 철학, IT에 대한 열정이 얼마나 큰가를 중심으로 평가
- 잠재력을 얼마나 가졌는가, 얼마나 비전이 있는지
- 강점을 최대화하는 전략
- 한 두 번 떨어져도 도전 정신을 가지고 계속 도전
- 합격, 불합격이라는 결과의 기로 전에 매번 새로운 프로젝트를 진행하면서 얻는 것이 있다.
- 자신의 작품에 대해서 자신감 있게 어필
- 작품이 아니라 개발자를 찾는 것
- 그 사람이 스스로 어떤 것을 연구하고 또 시행착오를 거쳐왔는가, 얼마나 다양하게 사고를 할 수 있는가
-> 그 사람의 능력이나 발전 가능성이 가장 중요한 것
- 기본에 충실하면서 자신의 소질과 성실성, 그리고 열정을 보여주는 것이 가장 중요
- 면접 시간 : 면접자가 잘하거나 자신 있는 부분, 노력한 부분을 드러내고 검증받을 시간
- 자신만의 작업 내용이나 노력한 흔적 등을 충분히 알릴 수 있도록 준비
- 프로그램 소스는 꼭 준비
1. Dynamic Programming 기법을 통하여 구현하였는데 다른 알고리즘을 생각하지는 않았나요?2. 텀 프로젝트로 시작한 이 프로그램이 다른 학생들이 구현한 프로그램과 비교하여 다른 기능이 있나요?
1번의 경우, 내가 구현한 프로그램은 논문에 대한 기능을 구현하는 것에 목표를 두었는데 그러다 보니 논문에 나온 그대로 구현하였다. 문제는 나의 생각을 딱 거기까지 묶었다는 것이다. 논문에서는 Dynamic Programming 기법을 통해 구현한다고 되어있기 때문에 나는 당연히 Dynamic Programming 기법을 통해 구현 한 것이다. 그런데 다른 기법을 생각해 보지 않았냐라는 말에 나는 뒤통수 맞은 느낌이었다. 왜냐면 전혀 생각해보지 않았기 때문이다.
2번의 질문을 받고는 뒤통수 뿐만 아니라 정수를 맞은 느낌이었다. 이것 또한 생각하지 않았기 때문이다. 답변은 프로그램의 목적을 구현에 초점을 맞추었기 때문이다라고 했지만, 기술 면접을 마치고 나오면서 계속 생각했다.
나의 부족함에 대해서.
내 부족함은 무엇일까? 그건 바로 열정이었다. 프로그램에 대한 열정. 내가 만든 프로그램에 대한 끊임없는 완벽의 추구. 다른 어떤 이들도 해보지 않은 것에 대한 시도.
그렇게 열정이 있다고 부르짖었는데 알고보니 나는 주둥아리만 나불나불 거렸다라는 것을 그 때 깨달았다. 그런 내 자신이 한심스러워서 홍대 셀빠에 가서 고기와 함께 소주 1병을 섭취하였다. 집에 오는 길에 생각해보니 나는 여태까지 '적당히' 하며 살아왔다. 교수님이 내주신 과제는 딱 자격요건 맞는 것까지만 생각을 했었다. 학점이 A+가 나오지만 내 자신 조차도 내가 A+를 받을 자격이 될까라는 생각을 하지 내가 그 요건에 맞다고는 생각하지 않았다.
참, 처량하고 슬프고... 비까지 와서 우울했던 하루였다.
SSM 지원 준비 그리고 기술면접은 이렇게 내 자신에 대해서 생각해보고 한단계 업그레이드 하는 계기를 주었다. 이렇게 관련 된 내용을 적지만 나는 경험자로서 조언은 할 수 있겠지만 답은 줄 수 없다. 멤버십의 멤버도 아니고 내가 잘난 사람도 아니기 때문이다. 그래도 한 가지 답을 아는 것이 있다. 그건 바로 열정이라는 정의.
SSM 뿐만 아니라, IT에서, 글로벌 인재로서 모두 열정이 있는 사람을 뽑는다.
과연 열정이라는 정의가 무엇인지에 대해서 생각해봤는가?
자신은 그 열정이 있는가?
모든 물음에 Yes라고 답할 수 있다면 어디 가서 꿀리는 놈은 되지 않을 것으로 생각된다.
나는 이제야 열정의 의미를 알고, 내게 주어진 것 그 이상을 할려고 한다.
SSM 준비하는 분들 모두 준비 잘 하시고, 그것이 아니더라도 모든 이들이 자신이 주어진 것에 열정을 갖고 행하였으면 좋겠다.
최근에 읽은 체게바라 책에서 체는 다음과 같이 이야기 했다. 생뚱맞을 수 있고 적당히 맞을 수 있다.
"우리 모두 리얼리스트가 되자. 그러나 가슴 속엔 불가능한 꿈을 지니자!"
현실에 맞추어, 내 실력에 맞추어 프로그래밍을 해야 겠지만, 자신의 가슴 속에는 남들은 생각하지도 못 한 프로그램을 프로그래밍하는 자신을 우리 모두 꿈꾸었으면 좋겠다.
사실, 내가 내 자신에게 하는 소리다.
그럼, 이제 글을 마친다.
'프로그래밍' 카테고리의 다른 글
IOCP (0) | 2012.06.06 |
---|---|
Overlapped IO - 중첩 IO (0) | 2012.06.06 |
Asynchronous Notification IO 모델 (0) | 2012.06.06 |
소켓 데이터 입력 함수 - recv() (0) | 2012.06.06 |
커널모드 동기화 기법 - 뮤텍스(Mutex), 세마포어(Semaphore), 이벤트(Event) (0) | 2012.06.06 |