처음 소프트웨어 마에스트로에 대해 알게 되었을 때에는 세상에 이런 훌륭한 프로그램이 있나 싶었다. 100만원의 지원금에 150만원의 기기 지원금, 훌륭한 멘토단 과 월등한 실력을 지닌 멘티들, 무언가 배우고자 할 때 얻을 수 있는 최고의 환경이었다. 주변의 마에스트로 과정을 이수했던 선배나 친구들을 보더라도 하나같이 좋은 평가를 했었고 많은 경험과 실력을 쌓을 수 있다고 했었다.

소프트웨어 마에스트로에 붙기 까지

사실 소프트웨어 마에스트로만을 위해서 실력을 키우고 공부를 열심히 했었던 것은 아니지만, 저런 사람들과 경쟁하기 위해서 스스로 부끄럽지 않을 실력을 쌓는게 어느 정도일까 의 기준이 되어 주었다. 덕분에 1학년 때 빠르게 성장할 수 있었다. 입학할 때는 Linked List도 잘 작성할 수 없었지만, 지금은 재미있는 머신 러닝도 시작했고 다양한 알고리즘에도 익숙해졌다. 언어의 풀도 매우 늘어나서 다양한 프레임워크나 개발 방식을 접해 보았고, 개발 방법론이나 협업에 관한 경험 등 교과서에서 다루기 힘든 부분도 체험해 보았다.

기회가 되어 2학년 때 소프트웨어 마에스트로에 지원하게 되었다. 사실 마지막 날까지 갈등하다가 지원서를 겨우 마감했는데, 정말 인생의 기로 중 한 순간이 아니었던가 싶다.

서류

지원서를 작성할 때만 해도 별다른 프로젝트나 이렇다 할 성과가 있지 않아 적기 곤란했다. 프로젝트는 확률과 통계 시간에 진행했던 OpenCV의 mean shift를 직접 구현한 Object Tracking 프로젝트와 객체지향 설계 및 프로그래밍 시간에 작성했던 게임 정도 밖에 없었고, 수상 기록도 ACM ICPC Deajeon Regional 16th를 제외하면 전무했다. 그래서 관심을 가지고 열심히 공부하고 있던 cs231n과 번역작업에 참가하며 배운 내용 등을 조금 서술 했고 관심을 가지고 공부했던 유전 알고리즘과 머신 러닝 등에 대해 간략하게 배운 바를 적고 앞으로 무엇을 공부할 것이며 어떤 프로젝트를 진행해 보고 싶은지 적었다. 지금 와서 생각해보면 그 때 적은 프로젝트와 방향은 다른 프로젝트만 진행 했었지만, 지금은 혼자서 해볼 수 있을 정도가 된 것 같다.

인적성 검사, 코딩테스트 및 면접

운이 좋게 면접에서 붙었지만, 인적성 검사와 면접이 남아 있었다. 나는 인적성 검사에 대해 별로 좋은 평가를 하는 사람은 아니라서 왜 이런 것을 보고 있는가에 대해 무척이나 의문이 들었다. 인적성 검사의 비중이 얼마나 되는지는 아직도 모르겠으나, 딱히 준비해 갈 만한 시험도 아니고 그냥 말 그대로 인성으로 풀면 되는 듯 하다.

이제까지 면접에서 좋은 기억이 없었기 때문에 면접을 보기 전에는 긴장하고 걱정하긴 했지만, 무언가 다른 것을 할 수 있는 것도 아니었다. 코딩테스트와 그걸 토대로 면접을 보게 되어있는데 코딩 테스트는 여러 문제 중 한 문제를 임의 선택하여 푸는 것이고 3명이 한 방에서 주어진 컴퓨터로 각자 코딩하게 된다. 코딩 문제는 잘 기억나진 않지만 임의의 숫자 열에 대해 둘레 길이가 가장 긴 삼각형을 만드는 것이었다. 처음 문제를 보고 숨겨진 무언가의 함정이 있는 건가? 라고 꽤 오래 생각했을 정도로 생각보다 쉬운 문제였다. (지금 와서 생각해보면 소프트웨어 마에스트로 프로그램은 꼭 전공자만 지원하는 것이 아니기 때문에 기본적인 코딩 실력을 평가한 것이 아닌가 싶다.)

주어진 수열을 내림차순으로 정렬하고 앞부터 탐색하여 가장 크기가 큰 삼각형을 만드는 과정을 작성하였다. 이 때 선택한 세 개의 숫자가 삼각형을 이룰 수 있는지 판별하는 과정만 들어가면 되므로 간단했다. 지금이라면 파이썬으로 작성하였겠지만, 그 때 익숙한 언어인 C++로 작성했었다. Error handling과 exception을 고려하고도 30여분이 남아 어떤 생각으로 이 부분을 추가했고 발생할 수 있는 예외 사항이 무엇이 있는지 주석으로 적었던 기억이 있다.

막상 면접에 들어서니 코드에 대해 질문하는 시간은 얼마 걸리지 않았다. 대답하기 어려웠던 부분은 자기소개서에 작성한 내용에 대해 심도 있는 질문들 이었다. 특히 유전 알고리즘에 대해 “~에 접목하여 어떤 성과를 낼 수 있을까요?” 와 같은 질문들은 당혹스럽기 그지 없었는데, 그것은 질문의 난이도 때문이라기보다 내가 그 부분에 대해 자세하게 알고 있지 못했기 때문에 답변하기 어려웠던 것 같다. 자기소개서와 서류 심사에 제출했던 참여한 프로젝트, 활동 경험들을 자세하게 물어보는 것 같지만 심사위원마다 천차만별이므로 고려할 필요가 있다.

결국 소프트웨어 마에스트로에 합격했다는 기쁜 낭보를 들을 수 있었다. 처음 소프트웨어 마에스트로에 대해 알게 되었을 때와 비교했을 때 무척이나 성장할 앞으로를 기대하며 들뜬 마음을 가라앉히기 어려웠다.

소프트웨어 마에스트로 과정

크게 1, 2차 프로젝트로 나누어 져 있다. 각 프로젝트는 기본적으로 3인 1팀으로 구성하게 되며 보통 전담 멘토 한 분을 구할 수 있다. 1차 프로젝트는 멘토들이 제시한 프로젝트를 보고서 멘티들이 참가 신청을 하여 이루어 지는 프로젝트이다. 약 3개월간 진행되며 멘토님들이 정한 프로젝트의 주제를 골라서 선택할 수 있으나 인기가 많은 프로젝트는 선착순으로 잘리는 아픔을 겪을 수도 있다. 나는 운이 좋게 원하는 멘토님의 프로젝트를 같이 진행할 수 있게 되었다. 애석하게도 프로젝트 발표후에 100명 중 60명만 2차 프로젝트를 진행할 수 있다.

2차 프로젝트는 1차와는 다르게 멘티들끼리 팀을 구성하여 멘토를 섭외할 수 있다. 프로젝트 개요와 구상을 발표하고 거기에 희망하는 멘토들 중에서 선택하여 전담 멘토를 구하고, 원하는 경우 협업 멘토링을 신청하여 전담 멘토가 아닌 멘토님 에게도 멘토링을 들을 수 있다. 2차 프로젝트는 6-7 개월 정도로 꽤 길게 진행되기 때문에 재미있는 시도와 경험을 많이 해볼 수 있다. 프로젝트 이외에도 언제나 협업 멘토링이나 멘티끼리의 스터디를 할 수 있다.

인증

2차 프로젝트를 성황리에 마치게 되면 최종 발표 후에 기술인증 3팀 창업인증 5팀을 선발하게 된다. 20팀 중 8팀이므로 열심히 하면 인증을 할 수 있는 확률이 꽤나 높은 편이다. 기술인증은 각 2000만원 창업 인증은 팀당 3000만원 + 창업 공간, 기자재 지원 등을 지급한다. 아쉽게도 기술인증은 하지 못했지만 창업인증은 할 수 있었다. 물론 돈 을 떠나서 좋은 기회를 얻게 된 것에 대해 매우 만족하고 값진 경험이었다고 자부할 수 있다.

소프트웨어 마에스트로의 장점

여러 장점들이 있지만 대략 5개로 간추릴 수 있다.

멘토

50여명의 멘토단이 존재해 멘토링을 해 주신다. 개발자 멘토 뿐 아니라 기획 전문 멘토, UX/UI 디자인 전문 멘토, 심지어 법률 전문 멘토도 존재하기 때문에 원한다면 A-Z까지 모든 것을 경험해 볼 수 있다. 멘토들 각각이 꽤나 훌륭하신 분들이라 얻을 수 있는 것을 최대한 얻어가는 것이 좋다. 프로젝트 전담 멘토와의 멘토링 이외에도 최대환 활용하길 권장.

세미나실 및 연수생 개인 공간

소프트웨어 마에스트로 센터는 선릉역 도보 5분거리에 위치해 있어 접근성이 꽤 좋다. 또한 연수생은 각각의 개인 테이블을 얻을 수 있고 회의실과 세미나실을 대여하여 사용할 수 있고 공용 냉장고와 휴게시설을 이용할 수 있다. 남자/여자 휴게실도 존재하며 여자 휴게실에는 2층 침대가 존재한다고 알려져 있다. (회의실 예약 시스템이 센터 내부 인터넷 망에서 접근이 안되는 사소한 문제가 있다.)

실력과 열정이 있는 멘티들

연수생들의 나이 범위가 꽤 큰 편이다. 중3부터 대학원생까지 있어 최고령자와 최연소자의 나이 차이가 10살이 넘었던 것으로 알고있다. 물론 다들 같은 분야의 같은 실력은 분명 아니지만 넓은 시야를 키우는 데에 도움을 주고 같이 프로젝트와 과제를 진행하면서 얻을 수 있는 것이 분명 많이 있을 것이다. 소마의 인재 폴은 꽤 넓은 편이고 그에 비해 개발과 관련된 업계는 생각보다 좁은 편이다. 분명 알아 두면 나중에 도움을 얻거나 지식을 나누면서 성장할 수 있는 연수생들이 존재한다. 물론 이런 인간관계를 유지하는 것은 전적으로 개인의 몫이다. 소마는 거들 뿐

프로젝트 경험

2번의 프로젝트를 진행하면서 좋은 경험을 쌓을 수 있었다. 협업에서 사용되는 도구와 협업 방식 뿐 아니라 기획과 설계 단계에서부터 서로의 의견을 주고 받으면서 더 넓은 시야를 가질 수 있게 된다. 물론 그만큼 팀 프로젝트의 단점도 많이 겪을 수 있다. 하지만 언제까지나 혼자 개발할 수 있는 것은 아니므로 기회로 삼기에 좋다. 2차 프로젝트 진행하면 팀원 한명이 자바를 사용한다고 둘이서 매우 놀렸는데 결과적으로 좋은 점수를 얻을 수 있었다(?) 만약 컨벤션이나 코딩 스타일로 싸우게 되면(절래절래)

지원금

사실 대부분의 소프트웨어 마에스트로 연수생이 가장 즐겁게 기다리는 것이다. 월 100만원의 지원금은 전체 기간동안 1200만원이나 되고, 150만원의 기기 지원금 600만원의 프로젝트 지원금, 인증하게 되면 2000 혹은 3000만원의 지원금이 추가로 나오게 되니 실로 엄청난 금액이 아닐 수 없다. 심지어 이 조차도 이전에 비해 줄어든 액수이다. 물론 돈 때문에 소마를 하는 것은 아니겠지만, 물질적 여유가 뒷받침되는 상황에서 하는 프로젝트는 더 여유롭고 프로젝트에만 집중할 수 있는 환경을 제공할 수 있다. 실제로는 100만원이라도 없으면 인간의 존엄성을 해칠 정도로 열심히 해야 될 수 있다.

소프트웨어 마에스트로의 단점

딱히 주요한 소프트웨어 마에스트로 만의 단점은 존재하지 않는다. 대부분 어떤 교육 프로그램이나 팀 프로젝트에 필연적으로 존재할 수 밖에 없는 단점들이다.

서류

정부 주관 사업이라 꽤 많은 양의 서류가 작성되어야 한다. 프로젝트 기획서와 설명서 뿐 아니라 갖가지 과제와 교육에 해당하는 서류 혹은 발표가 필요하고, 생각보다 많은 양의 기획서와 프로젝트 설명서를 제출해야 한다. 글을 많이 써 보았거나 이런 서류에 익숙한 사람은 쉽게 작성할 수 있을 지 모르나, 공돌이들은 그런거 없다.

PR

이건 단점이기 보다 어려웠던 점 인데, 프로젝트를 심사하는 심사위원들은 공정성을 위해 멘토가 아닌 외부 심사위원인 경우가 많다. 이런 심사위원의 경우 30-40분의 발표로 프로젝트 전반을 다 이해하기 힘들 뿐더러 전문적인 지식이 부족한 경우도 있다. 이를 해결하기 위해서는 쉽고 중요한 부분을 강조하여 설명하는 것이 필요하다. 심사위원들은 기술의 훌륭함을 판단하지 않는다. 그것으로 무엇을 했고 문제를 어떻게 해결했으며 실제로 사용할 수 있는가를 심사한다.

50을 만들고 100을 만들었다고 하면 안되지만, 실제로는 100을 만들고도 20-30만 만든 것처럼 발표하기 쉽다. 100을 만들었으면 100을 만들었다고 설명하는게 얼마나 어려운지 알 수 있게 된다.

루팡

단점이라기 보다 고질적 문제인데, 소프트웨어 마에스트로의 핵심 목표인 프로젝트 진행이나 수업 등에 참여하지 않고 지원금만 받아먹는 사람들을 일컫는다. 사실 내 돈이 아니라 별 상관은 없지만, 정부 지원금이 이렇게 새는 것을 막아야 소프트웨어 마에스트로 프로그램의 향후 발전과 더 많은 지원금은 아니더라도 안정적인 사업 지원 등에 쓰일 수 있을 것이다. 가끔 뉴스기사에 소프트웨어 마에스트로에 대한 좋지 않은 실적을 언급하는 기사들을 볼 수 있는데, 이러한 문제도 겹쳐 있지 않나 싶다.