조금 늦은 SW 마에트스로 15기 합격 후기와 지원자들을 위한 팁

Created:

후기가 조금 늦었지만 필자는 이번 2024년 3월 말에 SW 마에스트로(소마) 15기 연수생에 합격하였다.

합격 인증

후기가 늦은 이유는 첫째로 나태함이요 둘째로 연수생 생활이 굉장히 바빴기 때문이다. 예비 연수 기간인 4월~5월, 그리고 본 연수 기간 중 6월까지는 안 그래도 할 것 많은 소마 활동을 학교(무려 21학점)와 병행하느라 반쯤 죽어갔다. 7월과 8월은 학교 생활로 늦춰진 프로젝트를 발전시키느라 여유가 없었다.

그럼에도 어정쩡한 시점에 뒤늦은 후기를 쓰는 이유는, 이후의 지원자들에게 혹시 도움을 줄 수 있을 내용이 있을지 문득 생각이 들었기 때문이며, 그렇다면 조금이라도 빨리 쓰는 것이 지원 당시의 기억이 가장 많이 남아있을 것이기 때문이다. 목적이 목적이니 내 개인적인 감상을 줄글로 적기보다는 소마에 지원할 때 알면 좋은 팁과 정보들을 나열하여 작성하겠다. 잡설이 길다. 본론을 시작한다.

사소하지만 중요한 팁 1: 카카오톡 오픈 채팅방

“소프트웨어 마에스트로 준비방” 카카오톡 오픈 채팅방이 있다. 참여해라.

  • 소마 지원자들이 모여서 정보를 공유하고, 서로 질문하고 답변하는 공간이다.
  • 크게 도움 되지 않을 것이라 생각할 수 있지만, 생각보다 유용한 정보들이 많다.
    • 또한 경쟁자들의 수준을 파악할 수 있어 준비와 분위기 파악에 큰 도움이 된다.
  • 가능한 필요 없는 말은 하지 마라
    • 소마 관계자들이 채팅방을 지켜보고 있을 수도 있다. 아무나 참여할 수 있는 공개 채팅방이니 주의하자.
    • 특히나 코딩 테스트 문제와 면접 질문 내용들은 기밀이다. 공유하지 말자.

코딩 테스트

일단 필자는 아직 대학에서 자료구조와 알고리즘 수업을 수강하지 않았다. 물론 여러 분야들을 공부하며 보고 들은 알고리즘 개념들은 있었고, 알고리즘 문제 풀이도 초보적인 BFS, DFS, DP, 그리디 정도는 풀 수 있었지만, 그 이상의 어려운 문제들은 풀 수 없었다. 그럼에도 불구하고 필자는 코딩 테스트를 통과했다. 코딩 테스트 전 한두달 정도 하루에 한두문제씩 풀어보니 턱걸이로 합격하였다. 합격 당시 필자는 백준 실버 4, 프로그래머스 점수 1,217점이었다. (프로그래머스 SQL 문제는 전부 풀었음)

많은 기업들의 그것과 같이, 소마의 코딩 테스트는 잘 하는 사람을 찾는 것이 목적이 아니라 기본이 안 된 사람을 걸러내는 것이 목적이다. 때문에 고점을 높이기보다 저점을 높이는 공부 전략이 필요하다. 어려운 문제를 풀어내는 연습보다 적당한 난이도의 문제를 확실히 풀어내는 연습이 더 중요하다. 어지간히 알고리즘에 자신 있는게 아니라면 SQL 문제도 버리지 말자. 필자는 알고리즘 문제에 약하기 때문에 SQL 문제를 풀어낸 것이 코딩 테스트 통과에 큰 도움이 되었다.

코딩 테스트는 두 차례 진행된다. 두번째 코딩 테스트는 첫번째보다 난이도가 조금 올라 첫 번째 코딩 테스트를 무난하게 통과했어도 방심하지 않고 대비를 해야한다.

두 차례의 코딩 테스트를 통과한 후에는 면접이 남아있다. 이후 내용은 면접을 준비할 때 알면 좋은 것들이다.

사소하지만 중요한 팁 2: 면접 준비 스터디 그룹

코딩 테스트 합격 발표가 나올 때 쯤이면 위의 카카오톡 오픈 채팅방에서 면접 준비를 위한 스터디 그룹이 만들어지는 경우가 있다. 대면으로 면접을 대비하는 과정을 한번쯤 가져봐라. 필자의 경우 필자가 재학중인 경희대학교 재학생들끼리 스터디 그룹을 만들어 면접을 준비했는데, 이 때 서로 질문하고 답변하며 준비한 것들이 많은 도움이 되었다. 스터디 그룹에 소마 선배 기수분이 있다면 더욱 좋다. 필자의 경우 스터디로 모인 열 명 좀 안되는 인원들 중 한두명 빼고 전원 소마에 합격했다.

SW 마에스트로는 무엇을 하는 곳인가?

회사를 지원하든, 학교를 지원하든, 어떤 곳이든 그 곳이 무엇을 하는 곳인지 알아야만 제대로 된 방향으로 준비할 수 있다. 그러나 지금 생각해보면 내가 합격 전에 소마에 대해 가지고 있던 이미지는 생각보다 막연하다. 대학생 수준에서 지원할 수 있는 가장 크고 인기 있는 사업들 중 하나임에도 SW 마에스트로가 구체적으로 어떤 활동을 하고 무엇을 교육시키는 곳인지 정보를 찾기 힘들다. 때문에 필자가 소마 연수 생활을 하면서 느낀 소마의 활동과 목적을 간단히 정리해보겠다.

SW 마에스트로는 부트캠프가 아니다

일단 SW 마에스트로는 교육을 위한 부트캠프가 아니다. 굳이 따지자면 정부 지원 인재 육성 사업이라 말할 수 있을텐데, 이 인재 육성이라는 것이 우리가 흔히 생각하는 연수생들의 실력 향상이 목표인 부트캠프들의 방법론과는 사뭇 다르다. 아래는 필자가 그렇게 느낀 이유들이다.

  1. 정해진 교육 커리큘럼이 없음: 연수생들의 기술 교육을 위한 커리큘럼이 없다는 것이 여타 부트캠프들과 소마의 가장 큰 차이점이다. 멘토링 최소 참여 조건이 존재하지만 정상적으로 소마 과정에 참여한다면 명목상 존재하는 수준이다.
  2. 전적인 자율 프로젝트 중심 운영: 소마 과정은 전적으로 연수생이 팀을 이루어 본 연수기간 6개월동안 자율적으로 진행하는 프로젝트 중심으로만 진행된다. 즉, 알아서 안 하면 아무 것도 없고 배우는 것은 전적으로 프로젝트를 통해 배운다. 다만 프로젝트 진행에 있어 부족함이 없도록 팀당 700만원 이상의 프로젝트 활동비와 인당 월 100만원 상당의 장학금이 지원된다. 또한 다양한 IT 분야들의 최상급 인재들을 팀의 멘토로 모셔 길을 잃지 않도록 도와주신다. (그러나 일주일에 많아야 멘토님 별로 두세시간 뵙기 때문에 기술적인 교육을 해주시기 보다는 팀의 방향을 지정해주신다는 느낌이 강하다. 공부와 적용은 알아서…)
  3. 기획 심의의 존재: 기술적 성장이 목적이라면 어렵고, 기술적 도전의 의미있는 프로젝트만 진행하면 된다. 그러나 예비 연수 기간과 본 연수기간 사이에 존재하는 기획 심의의 존재는 프로젝트의 주제가 시장에서 유효한 아이템인지를 매우 중요하게 본다. 다른 말로 하자면 기술적 난이도만큼 사업성도 본다.
  4. 무엇보다, 기술 공부 할 시간이 없음: 본 연수과정 6개월은 절대적으로 짧지는 않은 시간이다. 그러나 아이디어를 구체화하고, 설계하고, 개발하고, 배포하고, 마케팅을 진행하고, 시장의 반응을 보고, 피드백을 반영하고, 그 사이에 중간 발표와 최종 발표 준비를 진행하기에는 짧은 시간이다. 때문에 소마 과정에서 새로운 기술을 공부하는 시간은 없거나 극히 일부일 것이며, 대부분 원래 각자 잘 하던 것을 활용하여 프로젝트를 바쁘게 수행하게 된다.

위의 이유들로 새로운 기술을 배우고 익혀 취업을 하는 것이 주 목적인 부트캠프들과 소마의 활동은 큰 차이를 보인다고 말할 수 있다. 필자는 극단적으로, 소마의 목적은 기술적 성장이 아니다라고도 생각한다. 물론 과장이 심한 말이지만, 그 만큼 기술만큼 기획과 프로젝트 관리도 중요한 곳이 소마이다.

SW 마에스트로에서는 “엔지니어링”을 배운다

그렇다면 소마에서는 무엇을 배우기에 “SW 인재 양성”을 내걸고 있는가? 필자는 소마는 엔지니어링의 본질을 배우는 곳이라고 말한다. 엔지니어링의 본질은 문제 해결이다. 그리고 문제는 개발자에게 있는 것이 아닌, 이 넓은 세상 속 어딘가의 고객에게 있다.

때문에 진정한 공학도로서의 자세를 갖춘 개발자는 기술에 집착하지 않는다. 기술은 문제 해결의 수단일 뿐이다. 진정 문제를 해결하기 위해서는, 우수한 기술력을 바탕으로 문제에 대한 해결책을 구현하는 것 외에도 중요한 것들이 많다. 다음이 필자가 당장 떠오르는 중요한 것들이다.

  • 가장 중요한 것, 과연 지금 해결하려는 문제가 진정 해결할 가치가 있는 문제인가?
    • 해당 문제로 고통받는 사람이 있기는 한가?
    • 소마 프로젝트로 진행할 만큼 적당히 큰 문제이면서, 소마 프로젝트 기간와 예산 내에 해결할 수 있을 만큼 작은 문제인가?
  • 해결할 가치가 있는 문제라면, 내가 지금 생각하는 해결책이 진정 그 문제에 대한 본질적인 해결책인가?
    • 문제의 본질이 아닌 이상한 지점을 목표로 잡아 해결책을 제시하고 있지는 않은가?
    • 제시한 해결책이 해당 문제를 가지고 있는 사람들/산업에 적용될 수 없는 해결책이지는 않은가?
  • 문제를 정확히 정의하고, 그에 대한 솔루션도 잘 정의했다면, 그것을 내가 구현할 수 있는가?
  • 솔루션을 잘 개발했다 치자. 그것을 어떻게 문제를 가지고 있는 사람들에게 전달할 것인가?
    • 홍보는 어떤 채널을 활용할 것이며 광고 타겟팅은 어떻게 해야 하는가?
    • 마케팅의 성과는 어떤 것을 지표로 측정할 것인가?
  • 위의 모든 조건들을 만족했을 때, 이 솔루션이 충분한 수익성을 갖추어 지속 가능한가?
  • 기적적으로 이 모든 조건들을 만족하는 프로젝트를 진행할 때, 그 프로젝트를 어떻게 심사의원들에게 멋있게 보여줄 것인가?

SW 마에스트로에서는 이 모든 고민들을 하게 된다. 때문에 소마 면접을 위해 기술적 도전을 포함하여 자신이 소마에서 구현하고 싶은 프로젝트 하나 정도는 생각해두고 가는 것이 굉장히 유리하다. 면접관은 당연히 어느 정도 소마의 방향성과 맞는 지원자를 뽑으려고 하기 때문이다. 물론 지원서를 쓸 때에 이런 고민을 해봤을 것이기에, 그 고민을 더욱 발전시켜 가는 것을 추천한다.

상기한 소마는 부트캠프가 아니라는 말이 여기서도 적용된다. 기술 외 분야의 치열한 고민들로 계획을 수립하고, 그 계획을 쳐내는 것만 해도 미친듯이 바쁘다. 때문에 자신이 시도해본 적 없는 완전히 새로운 기술 분야를 공부해서 적용하겠다는 계획은 유효하지 못할 확률이 높고, 면접에서도 열정의 어필은 좋지만 그렇게 말하는 것은 좋지 않을 것 같다. 소마는 어느 정도 완성되어 있는 인재를 뽑아서, 그를 최고급 인재로 키워내는 사업이기 때문이다.

개인적으로 생각할 때 소마에서 공부해서 적용 불가능한 경우와 가능한 경우는 대충 다음과 같다.

  • 나쁜 예 1: 지금까지는 프론트엔드 개발만 해봤는데, 이번에는 인공지능을 공부해서 적용해보겠다. (시도하려는 분야의 지식이 없음)
  • 좋은 예 1: 지금까지는 React를 주로 사용하여 프론트엔드 개발을 했었는데, 이번에는 Svelte를 한번 사용해보고 싶다. (기술 분야가 비슷하며 프레임워크만 다름)
  • 좋은 예 2: 옛날에 프론트엔드를 했었고 지금은 백엔드를 주로 하고 있는데, 인원이 부족해서 프론트엔드도 같이 해야 한다면 옛날 기억 끄집어내며 프론트엔드를 공부 해보겠다. (주력 분야는 아니지만 약간의 경험이 있음)
  • 좋은 예 3: 클라우드 구성을 좀 할 줄 아는데, 이번에 프로젝트를 진행하며 모니터링 시스템을 한번 구축해보고 싶다. (자신의 기술을 심화시킴)

면접 팁

  • 웃어라. 웃는 얼굴에 침 못 뱉는다. 필자는 들어가서 나올 때까지, 심지어 다른 사람이 발표 중일 때에도 내내 미소를 유지했다.
  • 자신감을 가지고 발표해라. 자신에 대해 확신이 없는 사람은 다른 사람도 그를 믿어주지 않는다.
  • 당연히 자기 소개서에 주력 언어와 주력 프레임워크로 써둔 것, 프로젝트에 사용한 기술에 대해서는 질문이 나온다. 만약 써봤는데 자신이 없는 기술이 있다면, 기술별로 숙련도를 옆에 표시해둬라.
  • 자신의 협업 스타일과 리더십, 팔로워십에 대해 고민하고 가라. 소마는 팀 프로젝트 중심으로 진행되기 때문에, 협업 태도에 대한 질문 가능성이 높다.
  • 무조건, 진실해라. 모든 면접의 기본은 인성 평가이며, 인성을 평가하는 가장 쉬운 방법은 답변의 일관성을 보는 것이다. 모르면 모른다고 말하고, 그런 성격 아닌데 그런 척 하지 말아라.

마치며

그 외에 궁금한 점들은 물어보는 것 환영입니다. 연락처는 홈페이지에 있습니다.