행복하게도, 2개월간 준비한 SW마에스트로 15기 과정에 합격했다. 다양한 이전 기수 선배님들의 후기글을 보며 모집 전형을 준비했기에 나의 글도 다음 소마를 준비하는 누군가에게 작은 도움이 되면 좋겠다.
1. [자기소개] SW분야의 전문성을 키우기 위해 몰입했던 경험과 도전이 무엇인지, 또한 이러한 성장과정을 통해 얻은 배움은 무엇인지를 서술하여 주시기 바랍니다.
2. [연수계획서] SW마에스트로 과정 참여를 통해 어떠한 프로젝트를 수행하고 싶은가요? 해당 프로젝트를 수행하기 위한 계획과 이루고자 하는 목표가 무엇인지 구체적으로 서술하여 주시기 바랍니다.
14기 자기소개서가 4문항이었는데, 반토막이 났다. 2번 장래희망이 삭제되고, 3, 4번이 2번으로 통합된 느낌이다. 많은 후기글에서 자기소개서의 비중이 크지 않다고 했는데, 실제로도 그렇다고 느꼈다. 면접에서 지적받지만 않을 정도로 솔직하고 성의 있게 작성하면 서류에서 탈락할 일은 거의 없을 것이라고 확신한다. 면접에서 자기소개서 관련 질문은 딱 하나, 내가 기술한 프로젝트 계획에 대해서만 나왔다.
코딩테스트 문제는 1, 2차 모두 알고리즘 4문제 + SQL 1문제로 구성되었다. 알고리즘 문제는 평소에 알고리즘 동아리에서 공부한 베이스가 있었기에 1일1문제로 감을 유지하고자 했고, SQL 문제는 한 번도 풀어본 경험이 없어서 코테 기간동안 프로그래머스의 SQL 고득점 Kit 문제 셋을 모두 풀었다. 후술하겠지만 이 정도 연습문제로는 실제 코테(특히 2차) SQL 문제를 풀기는 쉽지 않아 보인다. HackerRank 등 다른 여러 사이트에서 추가적인 연습을 추천한다.
프로그래머스 환경에서 진행되었고, 모니토를 통한 시험 감독이 이루어졌다. 외부 IDE 사용이 금지되기에, 자동 완성이나 복붙 기능을 자유롭게 활용할 수 없다. 빈 종이 한 장과 필기도구는 감독관 확인 후 허용된다. 코테 준비할 때 프로그래머스 문제를 풀면서 미리 시험 환경에 익숙해지는 것을 추천한다.
1차 문제들은 난이도가 어렵지 않았다. 특히 SQL 문제는 답안이 한 줄을 넘어가지 않아 살짝 당황(?)했다. 알고리즘 문제들도 구현 3문제, 그리디 1문제로 그리디 문제를 제외하고는 큰 막힘 없이 풀었다. 결국 그리디 문제도 제출하여 5솔로 1차를 잘 마무리하였다.
모든 문제 답안 제출 후 화면 여기저기를 둘러보다가, 제출 언어의 레퍼런스(documentation)를 볼 수 있는 것을 알았다. 글자의 아스키 코드를 반환하는 Python 함수가 기억나지 않아(
ord
였다) C++로 문자열을 일일이 파싱한 문제가 있었는데, 살짝 억울했다.
1차 코테와 같은 환경으로 진행되었다. 난이도는 1차에 비해 꽤 상승하였고, 구현 1문제를 제외한 알고리즘 3문제는 DP, 분할 정복 등 기초적인 알고리즘 지식이 필요했다. SQL 문제는 1차 문제보다 훨씬 어려워져서 건드리지도 못했다. Self join과 union 등을 조합해야 한다고 하는데... 몇 번 살펴보다 과감히 포기하고 알고리즘 문제에 올인했다. 알고리즘 3솔로 마지막 관문인 면접만을 남겨두게 되었다.
면접에 앞서 면접관님들 앞에서 진행할 3분 포트폴리오 발표자료를 제작하여 제출하였다. 양식은 노션으로 제공되었고, 자기소개, 기술 스택, 프로젝트, 활동 등으로 구성되었다. 프로젝트는 최대 2개까지 포함할 수 있어서, 창업을 했던 프로젝트 2개를 넣기로 결정했다.
발표시간인 3분은 너무나도 짧았다. 그래서 대부분(2분 정도)을 프로젝트 발표에 할애했고, 그마저도 프로젝트의 기능 소개보다 내가 어떤 문제를 해결했고, 프로젝트를 통해 무엇을 배우고 어떻게 성장했는지에 집중했다. 어차피 포트폴리오는 면접관님들께서 발표 중에 따로 읽어보시기 때문에, 짧은 발표에서는 핵심만 이야기하는 것이 좋을 것 같다. 대본을 작성하고, 자연스러워질 만큼 반복 연습했다. 면접을 보러 가는 지하철 안에서도 연습을 하다가 내려야 할 역을 지나치기도 했다. 😂
면접 질문은 대부분 포트폴리오 관련이었다. 프로젝트 진행 중 어려웠던 일 및 극복 경험, 작성한 기술 스택에 대한 세부 질문 등 포트폴리오를 거짓으로 작성하지 않았다면 충분히 답변할 수 있는 질문이었다. 한 가지 아쉬웠던 점은 갈등 해결 경험을 묻는 질문에서 뇌정지(?)가 와서 친구 사이에서의 갈등을 얘기했다는 것과, 아는 것을 모두 얘기하려다 보니 대답이 너무 장황하게 길어졌다는 것이다. 질문에 대한 답변을 두괄식으로 간결하게 하는 연습을 하면 더 좋았을 것 같다.
다른 지원자들에게는 코테 관련 질문(왜 이러한 방법을 사용했는가, recursive 함수를 사용했는데 단점은 없는가 등)도 했는데, 나는 포트폴리오에서만 많은 질문이 쏟아졌다. 혹시 모르니 코딩테스트 문제 복기도 어느 정도 해두는 것이 좋겠다.
또한, 지방에 거주하거나 누가 봐도 바쁠 것 같은 (ex. 대학원생) 지원자들은 해당 부분이 소마 활동에 지장이 가지 않겠냐는 질문이 들어올 가능성이 커보인다. 개인 시간을 줄이면 둘 다 할 수 있다는 막연한 열정보다는 구체적이거나 수치적인 계획을 제시하는 답변을 미리 준비해두면 마음이 편할 것이다.
지원서를 제출할 때만 해도, 2번의 코테와 심층 면접이라는 큰 벽을 넘지 못하겠다는 걱정이 앞섰는데, 이렇게 최종 합격을 하게 되어 자신감과 기쁨을 얻었다! 지원이 고민되거나, 합격할 수 있을지 걱정될 때는, 일단 가장 쉬운 '지원서 제출'을 맘편히 해버리는 것이 어떨까.