소프트웨어 마에스트로 10기 지원 관련 팁
소프트웨어 마에스트로(이하 소마)는 과학기술정보통신부에서 주관하는 국내 소프트웨어 전문가를 육성하는 프로그램이다. 지원 혜택이 파격적이고 우수한 SW 인재들이 많이 모이는 것으로 유명해서 경쟁률이 상당히 치열한 편이며, 컴퓨터를 공부하는 학부생 수준에서 할 수 있는 대외활동 중에서 탑클래스에 꼽힌다고 생각한다. 2010년 1기를 시작으로 2019년 현재 10기를 선발하고 있으며 필자도 10기 선발 전형에 지원하였다. 최종 합격 발표 여부는 나지 않았지만 추후에 소마를 지원하는 예비 연수생 분들에게 조금이나마 도움이 되면 좋겠다는 취지에서 이러한 글을 쓰게 되었다.
참고로 소마는 매년 전형 절차가 조금씩 바뀐다. 9기의 경우는 150명의 예비연수생을 선발한 뒤에 약 2개월 정도 예비 연수과정을 통해 100명의 연수생을 선발했다고 하며 그 전년도인 8기에서는 최종 면접에서 알고리즘 문제를 풀게 하고 면접관 앞에서 설명하는 식으로 진행이 되었다고 한다. 11기 이후에도 10기와 또 달라질 수 있으므로 이점 참고해 주기를 바란다.
선발 과정은 서류 전형 > 인적성 검사(온라인) > 코딩 테스트(오프라인) > 심층 면접(오프라인)으로 이루어졌다. 서류 지원을 2월 중순까지 받았고 4월 중순에 심층 면접을 보았다. 짧지 않은 기간이다. 이 점 유의해서 지원해 주기를 바란다.
서류 전형
서류 전형은 회사에 지원할 때 제출하는 이력서와 비슷한 양식으로 이루어졌던 것 같다. 기본적인 인적사항 및 학교, 경력을 적고 자신의 컴퓨터 활용능력을 적는다. 컴퓨터 활용능력은 먼저 언어(C, JAVA, Python 등)를 적고 그 언어와 관련된 기술 스택을 나열하면 된다.(ex JAVA Spring) 그리고 활용 수준을 초급, 중급, 고급, 특급으로 적으면 되는데 이 컴퓨터활용능력은 면접 시에 질문을 받을 수 있으므로 부풀리기보다는 솔직하게 적는 걸 추천한다.
그리고 나서 자기소개서를 쓰는 칸이 있는데 10기의 경우 문항이 총 4개였다. 전문성을 키우기 위해 어떤 노력을 했는지, 장래희망은 무엇인지, 프로젝트 계획, 소마를 통해 이루고 싶은 목표 이렇게 물어봤던 것 같다. 자기소개서 역시 면접 때 집중적으로 물어볼 수 있기 때문에 솔직하고 구체적으로 적는 것이 좋다. 필자의 경우 항목마다 칸 제한이 있어서 그거에 맞추어 큰 의미 없이 적은 내용에서 한 면접관분이 집요하게 물어보셔서 면접 때 조금 멘탈이 나갔던 순간이 있었다.
서류 전형 기간이 한 달 정도 되었던 것으로 기억하는데 지원자격이 만 15세 이상이어서 상당히 많은 고등학생, 대학생, 일반인들이 지원한 것으로 기억한다. 정확한 경쟁률은 알 수 없지만 150명을 선발하는데 수험번호를 2천번대 중반까지는 보았고 보수적으로 잡아도 20:1 안팎 정도로 예상한다.
인적성 검사
서류전형을 통과하면 그다음은 인적성 검사 단계이다. 인적성 검사의 경우 기간이 2주 정도 주어지고 그 기간 내에만 온라인 응시를 하면 되었던 것으로 기억한다. 60분 정도 진행이 되었고 인공지능과 웹캠을 통한 화상면접이라고 생각을 하면 이해가 쉬울 것 같다. 처음에는 기본적인 자기소개나 자신의 장단점, 연수 계획 등을 짧게 준비시간을 준 뒤에 말하는 식으로 진행이 된다. 예를 들면 30초 준비, 90초 답변 이런 식으로 말이다. 그렇게 몇 개의 질문에 대답을 하고 나면 간단한 퀴즈를 푸는데 쉬운 것도 있고 어려운 것도 있다. 하지만 이 문제는 따로 준비하는 게 어려울 것 같고 그 순간에 집중해서 잘 풀어가 나는 게 정답인 듯하다. 예를 들면 기억나는 한 문제는 카드를 1초 간격으로 계속 보여주면서 그 전전 카드가 뭐였는지 맞추는 문제도 나왔다. 처음에 문제 설명을 듣고 이해가 한 번에 안 되는 문제도 종종 있었다. 그렇게 문제를 풀어대다 보면 또 질문 듣고 대답하는 순서가 나온다.
인성에 관한 문제도 나왔던 것 같다. 상사가 비현실적인 프로젝트 일정을 요구할 경우, 선약이 있는 날 당일에 야근을 제안할 경우 등 쉽게 대답하기 어려운 순간들에 대해 ‘너는 어떻게 대답할 건지’를 묻는다. 정답은 없다. 그리고 꼭 착하고 도덕적으로 대답해야 되는 것도 아닌 것 같다. 본인의 생각, 기준에 따라 침착하고 논리적으로 말하면 되는 것으로 보이고 심사위원들도 그런 의도로 준비한 질문이 아닐까 생각해 본다.
코딩 테스트
인적성 검사를 통과하면 그 다음은 오프라인 코딩 테스트이다. 나는 강남역에 있는 컴퓨터학원에서 시험을 봤다. 시험은 90분 동안 봤고 15문제가 주어졌다. 산술적으로 보면 6분에 한 문제를 풀어야 하는데 나는 그래서 문제가 어렵지 않게 출제가 되었다고 생각을 했다. IDE는 쓸 수 없고, 인터넷 검색도 허용되지 않는다. 나는 문제가 쉽게 나올 것이라고 예상했지만, 내 생각보다는 꽤 어렵게 나왔던 것 같다. 15문제가 문제마다 배점이 다른데, 나는 배점이 낮은 문제들부터 하나씩 순서대로 풀었다. 백준으로 연습을 많이 해봤다면 어렵지 않게 풀 수 있는 유형들로 나왔고 문제를 풀고 실행을 하면 바로 통과/실패 결과가 뜬다. 나는 6문제 정도 풀고 7번째 문제를 풀다가 시간이 다 지나갔던 것 같다.
코딩 테스트는 단기간에 준비하기 쉽지 않다. 소마에 지원할 정도의 분들이라면 알고리즘 문제는 평소에도 취미(?)로 틈틈이 풀면서 감각을 유지하고 있는 것이 중요해 보인다. 소마에 워낙 알고리즘 괴물들이 많이 지원한다고 해서 솔직히 떨어질 줄 알았는데 운이 좋게 코테도 통과를 했다. (정확한 선발 기준, 경쟁률 등은 비공개여서 모르겠고 시험장에 붙은 수험번호로 유추해 보았을 때 서류 지원자의 1/3 정도 코테를 보러 온 것 같았다.)
심층 면접
코딩테스트까지 통과했다면 마지막 남은 전형은 심층면접이다. 심층 면접은 선릉역 근처에 있는 소프트웨어 마에스트로 사무실(?) 같은 곳에서 진행되고 그룹으로 진행되며 1시간 정도 소요된다. 나 같은 경우 아침 10시에 첫 타임으로 들어갔고 나 포함 6명이서 면접을 봤던 것 같다. 면접은 일찍 보는 게 더 나은 것 같다. 뒤로 갈수록 면접관 분들도 사람인 이상 체력적으로 지칠 수밖에 없기 때문이다. 면접관 분들은 나이가 아주 많은 분들도 계셨고 비교적 젊으신 분(약 30대 중후반?)들도 계셨던 것 같다. 개발자 출신과 비개발자 출신이 섞여 있었다. 처음에 들어가서 각자 자기소개+지원동기를 5분 이내로 말하게 하는데 첫 질문인 만큼 이 부분은 준비를 잘하고 가길 바란다. 나 같은 경우, 비전공자 출신이고 어떻게 코딩을 시작했고 이런저런 활동들을 하면서 지금 소마가 나에게 필요한 이유를 설명했었다. 그렇게 질문을 하고 나면 대부분 공통 질문을 하나 던지시고 한 명씩 순서대로 발언하게 하는데, 이 때 생각보다 많은 지원자들이 ‘질문에서 벗어난(off-topic)’ 대답을 하는 경우가 있었다. 그러면 면접관은 바보가 아닌 이상 바로 알고 다시 물어봐 주시기도 하지만, 워낙 지원자도 많고 질문할 것들도 많기 때문에 그냥 넘어가는 경우가 더 많다. 분명한 것은 이러한 인상을 주면 마이너스 요소다.
기술적인 것들도 꽤 물어보셨다. 절차지향 프로그래밍과 객체지향 프로그래밍의 차이가 무엇인지(C/C++을 할 수 있다고 한 지원자), 외부 기기와 통신할 때 임베디드에서 어떠한 프로토콜을 사용하는지(임베디드 개발을 할 수 있다고 쓴 지원자) 등 자신이 잘할 수 있다고 적은 분야에 대해서 물어볼 수 있는 면접관은 항상 계셨던 것 같다. 그리고 본인이 참여한 프로젝트 중 가장 기술적으로 높았다고 생각하는 것에 대해서 설명하고 본인이 기여한 부분을 어필하는 질문도 받았는데, 아무래도 소마에서 난이도가 높은 프로젝트를 하게 될 확률이 높으므로 이러한 질문도 미리 잘 준비해 가면 좋을 것 같다. 다른 인상적이었던 질문은 ‘모르는 것이 생겼을 때 어떻게 도움을 요청할 것인지’에 관해서도 물어봤었고, 나 같은 경우는 기본적으로 구글링+서적으로 최대한 해결을 해 본 뒤에 아는 부분과 모르는 부분을 최대한 구체적으로 나누어서 자세하게 주변 지인에게 할 것이다 라고 대답했다. 면접에서 긴장을 잘 안 하는 스타일인데 면접 딱 끝나고 나오니까 몸이 덜덜 떨렸던 기억이 난다. 자기소개서를 기반으로 기술적인 부분+인성적인 부분 둘 다 잘 준비해서 가기를 바란다.
4월 19일 오후 나는 이렇게 연락을 받았다.