무스펙의 소프트웨어 마에스트로 14기 최종합격 후기 + 공부법

개미·2023년 3월 24일
22
post-thumbnail
post-custom-banner

소프트웨어 마에스트로 14기를 준비하면서 정말 볼 수 있는 블로그를 다 본 것 같습니다. 여러 블로그를 통해 많은 도움을 얻었기에 다음 기수를 준비하는 사람들을 위해 저도 최대한 자세하게 작성해보려 합니다.

✅ 스펙

일단 저는 무스펙이라 봐도 무방합니다. 컴퓨터공학과 4학년를 재학중이지만, 개인적으로 협업한 프로젝트는 전혀 없었습니다. 다른 대외 활동도 없었고, 학교에서는 코로나 19로 인해 3년을 온라인 활동을 하다보니 모든 것이 흐지부지 되었습니다. 그래서 비전공자든, 스펙이 없는 전공자이든 합격할 수 있다고 꼭 말씀드리고 싶습니다. 아마 저의 후기를 보시면 '어, 나도 할 수 있을 거 같은데?' 생각이 드실 겁니다. 고민하지 말고 일단 지원하세요!


📄 서류 전형

서류 전형 지원 기간은 2월 9일까지 였습니다. 저는 대략 2주 전부터 작성하기 시작하였습니다. 필수 문항은 총 4개로, 고민할 시간이 충분히 필요하였습니다. 문항은 바뀌지 않을 확률이 높으니 미리 준비해두면 좋을 것 같습니다. 모든 문항이 최대 3000자까지 작성할 수 있으나, 써보면 알겠지만 매우매우 많은 분량입니다. 하지만 많은 블로그의 후기를 보았을때 분량이 중요한 것 같지는 않았습니다. 그래서 쓸 수 있는 만큼 작성하였습니다. 그리고, 서류 전형은 이상한 말만 쓰지 않으면 다 붙여주니 너무 걱정하지 않으셔도 됩니다! (그리고 면접 항목에서도 말하겠지만 저는 면접에서 자소서 내용이 하나도 나오지 않았습니다.)

참고하시라고 제가 쓴 내용을 간단히 요약해보았습니다.

[자기소개1] 소프트웨어분야 전문성을 키우기 위해 남들과 달리 특별한 노력을 한 경험을 서술하여 주시기 바랍니다. (최소 400자, 최대 3,000자 입력가능)

  • 컴공에 관심을 가지게 된 계기
  • 배운 컴퓨터공학 과목 중 하나
  • 수업 과제 프로젝트
  • 랩 인턴 경험

(2350자)

[자기소개2] 귀하의 장래희망을 서술하여 주시기 바랍니다. (최소 400자, 최대 3,000자 입력가능)

  • 장래희망 계기
  • 개발하고 싶은 플랫폼

(1148자)

[연수계획서 1] 귀하께서는 2023년도 「SW마에스트로」 과정에서 동료 연수생들과 협력하여 새로운 프로젝트를 완성하여야 합니다. 어떤 능력을 갖춘 연수생들과 어떠한 프로젝트를 어떻게 수행할 것인지 귀하의 구체적인 계획을 서술하여 주시기 바랍니다. (최소 400자, 최대 3,000자 입력가능)

  • 하고 싶은 프로젝트
  • 같이 하고 싶은 팀원
  • 구체적인 진행 계획

(1053자)

[연수계획서 2] 2023년도 「SW마에스트로」 과정에서는 연수생에게 장학금, IT기기, 프로젝트 활동비 등을 지원할 예정이며, 본인이 희망하는 온라인 강의와 프로젝트 수행을 도와주는 멘토를 통해 귀하의 SW능력을 향상 및 발전시킬 수 있는 기회를 제공하고 있습니다. 앞으로 귀하께서 본 과정을 통해 이루고자하는 목표가 무엇인지 구체적으로 서술하여 주시기 바랍니다. (최소 400자, 최대 3,000자 입력가능)

  • 하고 싶은 프로젝트 연결해서 쓰기
  • 소프트웨어 마에스트로로 얻을 수 있는 것들

(739자)


💻 코딩테스트 1차

지원서 결과가 나오고 일주일 뒤(2월 25일), 코테 1차를 보았습니다. 따라서 지원서를 작성하면서 코딩테스트 준비도 같이 해야합니다. 이번 소프트웨어 마에스트로 14기 코딩테스트에는 웹 문제가 없어져서 알고리즘과 sql만 준비하면 되었습니다.

알고리즘 준비

저의 알고리즘 상황은 다음과 같았습니다. 최근 1년간 알고리즘 문제를 전혀 풀지 않았습니다. 1년 전에는 방학때마다 풀어본 정도가 다였습니다. 1년간의 공백으로 알고리즘력은 리셋이 되어, 처음부터 준비해야했습니다.

2월 2일에 코테 준비를 시작하였으니, 23일안에 실력을 끌어 올려야 했습니다. 이때 저는 방황할 시간이 없다고 생각하여, 알고리즘 풀이의 방향성이 필요하다고 느꼈습니다. 이에 이것이 취업을 위한 코딩테스트다라는 책을 구입하게 되었습니다.

이 책에는 코테에 잘 나오는 유형이 수록되어 있고, 풀이의 방향성을 알려줍니다. 게다가 유튜브에 무료 강의가 있습니다. (하지만 저는 까먹고 보지는 못했습니다.) 1차 코테 이전에 이 책을 독파한다는 생각으로 이 책으로만 준비했습니다.

제 공부 스텝은 다음과 같았습니다.

  1. 알고리즘 유형별 설명 보기 + 정리 (3일)
  2. 알고리즘 유형별 문제 풀기 (10일)
  3. 알고리즘 유형별 문제 복습하기 (5일)
  4. ⭐⭐ 어려웠던 문제 계속 반복해서 풀어보기

중요한 건 복습입니다. 못 푼 문제를 정답 보고 나서 풀었다고 해서 내 것이 되지 않습니다. 무조건 시간이 흐른 후 다시 한번 스스로 풀어봐야 됩니다. 저는 노션에 학습한 내용 및 문제들을 정리해두었습니다. 그리고 어려웠던 부분은 한 곳에 모아서 여러번 다시 보았습니다. 코테 직전까지 봤었습니다.

코테가 조금 남은 시점에서는 프로그래머스 환경에 익숙해지기 위해 프로그래머스 문제들을 풀었습니다.

sql 준비

sql은 코테 12일전부터 시작하였습니다. 직전 학기에 데이터베이스 과목에서 sql을 배워서 어느정도 할 줄 아는 수준이었습니다.

가장 유명한 프로그래머스 SQL 고득점 KIT을 풀기 시작했습니다. 대부분의 블로그에서 저것만 해도 충분하다고 하였지만 작년 기수에서 생소한 함수가 나왔다고 해서 HackerRank에서 난이도 Medium까지는 풀었습니다.

코딩테스트 환경

프로그래머스 플랫폼에서 진행되었으며, 모니토 앱을 사용하여 자신의 모습을 비춰야합니다. 코딩테스트는 처음이었기에 꽤 체계적이다라는 느낌을 받았습니다. 외부 IDE는 사용할 수 없으며, 자동완성 기능이 없습니다. 저는 평소에도 자동 완성 기능을 많이 안써서 괜찮았습니다. 그리고 시험 중 화장실을 가는 것도, 음식물이나 물/음료를 섭취하는 것도 불가능합니다. 그리고 빈 종이 한장을 검사를 받고 사용할 수 있습니다.

코딩테스트

알고리즘 4문제 + sql 1문제로 출제되었습니다.

저는 sql이 가장 쉽게 풀릴거라 생각하여 sql부터 풀기 시작했습니다. 그런데 생각과 다르게 너무 어려워서 포기하고 1번부터 풀기 시작했습니다. 1번은 난이도가 낮았으며, 나머지 세문제는 모두 난이도가 높았습니다. 1번을 빠르게 풀고, 2-4번은 문제만 읽고 이건 시간내에 못풀겠다 싶어 다시 sql문제로 돌아갔습니다. CONCAT함수를 써서 겨우 풀 수 있었습니다. 시험 중에 문자열 길이 구하는 함수를 유추해서 썼습니다ㅋ (정답은 LENGTH) 만약 HackerRank 문제들을 풀지 않았더라면 틀렸을 것 같습니다.

그리고 약 30-40분정도 남았길래, 남은 문제를 풀 수 없다고 판단했습니다. 그런데 프로그래머스 서버가 터져서 추가시간이 45분?정도 주어졌습니다. 저도 서버가 한번 터졌지만 5분 후 새로고침을 하니 괜찮아졌습니다. 하지만 지원자들마다 서버가 터진 시간이 천차만별로 달라서 공평성 문제가 제기되었습니다. (어떤 사람은 50분, 어떤 사람은 전혀 터지지 않았다고 했다.)

저는 추가된 시간에 알고리즘 문제를 하나 더 풀었습니다. 1차는 알고리즘 2솔 + sql 1솔로 총 3솔로 마무리하였습니다.

테스트 후, 다른 사람들의 반응을 보았을 때, 난이도가 매우 높았다는 것을 알 수 있었습니다. 내가 어려웠으면 남도 어려우니 끝까지 포기하지 말고 푸세요!

1차 코딩테스트와 비슷했던 문제를 알려드릴께요. 어려웠던 3문제와 비슷한 문제들입니다. 참고하길 바랍니다!
프로그래머스 아이템 줍기
백준 도미노 (Small)
백준 소트 게임

(+결과: 0솔도 합격했다고 들었습니다. 공평성 문제 때문에 코테 응시자 전부 합격 처리한 것 같습니다.)


💻 코딩테스트 2차

1차에서 서버 이슈로 응시자 모두가 합격하면서 2차로 많이 갈릴 것이라고 예상했습니다. 1차와 2차 간격은 일주일이라서 준비를 많이 할 수 있는 시간은 아니었습니다. 게다가 개강과 겹쳐 더욱 시간이 부족하였습니다.

알고리즘, sql 준비

1차때 정리해 놓은 것을 틈틈히 보고, 어려운 문제들을 다시 풀었습니다. 그리고 백준 문제 추천에 나와있는 문제들도 조금 풀어보기도 하고, 백준에서 SW마에스트로 12기 지원대비 문제풀이 문제들도 조금씩 풀었습니다. (당연히 다 못풀었..) sql도 정리해둔 것들을 봤고, 1차의 충격으로 sql 내장 함수를 쫙 정리해서 외웠습니다. 이 블로그에 그 흔적들이 있습니다 ㅎㅎ

코딩테스트

1차와 같이 알고리즘 4문제 + sql 1문제로 출제되었습니다.

이번에도 sql 먼저 풀었는데 저에게는 너무 복잡한 문제였습니다. 종이에 테스트 인풋을 다 적고 직접 테이블까지 그려가며 확인했습니다..ㅎ 다 풀고나니 40분이 지나가 있었습니다. (근데 확인하길 잘한게 대충 보고 풀었으면 틀렸을 것 같다. left join을 썼어야 했음.)

알고리즘은 1차와 같이 1번 문제는 쉽고 나머지는 어려웠습니다. 1번을 풀고 나니 1시간 정도 남아 한 문제를 계속 잡고 풀었는데, 90%정도 구현하고 끝이 났습니다.(다시 복기해보니 하나만 고쳤으면 풀렸다 ㅠㅠ)

따라서 저는 알고리즘 1솔 + sql 1솔 총 2솔로 마무리 했습니다.
다른 사람들 반응이 2차가 더 쉽다고 해서, 저는 당연히 떨어질 줄 알았습니다. 그런데 다행히 2솔 컷으로 합격할 수 있었습니다. 어떤 분은 1.5솔로 합격했다는 말도 있었습니다! 어려운 문제일 경우 1.5솔 컷일수도..?

추가 조언

알고리즘 유형을 많이 공부했었는데 (다익스트라, 크루스칼, 플루이드 워셜 등등..) 코테의 대부분이 구현 문제가 많았습니다. 호흡을 길게 가져가는 빡구현 문제들이 많아서 어려운 구현 문제들을 많이 풀어보는 것을 추천해드립니다.

그리고 2차 코테에는 1차 코테와 비슷한 유형이 더 난이도가 높게 나온다고 하여 1차 코테 복기를 하였는데, 사실 이번에는 비슷한 문제가 나오지는 않았습니다.

sql을 가장 먼저 푸는 것을 추천드립니다. 그 이유는 보통 sql이 쉬워서입니다. 은근 1문제 풀려있냐 없냐의 차이가 큽니다. 저의 경우 1문제도 안 풀려있을 때는 손이 벌벌 떨렸는데, 1문제 풀고 나니 심적으로 좀 편안해졌습니다.


🎤 면접

겨우겨우 2차를 합격했지만, 더 큰 난관이 기다리고 있었으니.. 바로 면접이었습니다. 13기부터 포트폴리오 발표가 생겨 준비해야 했는데, 스펙이라곤 없으니 걱정이 많았습니다. 그리고 개발자로서의 면접이 처음이라 어떻게 준비해야할지 막막했습니다.

포트폴리오

3분안에 발표할 포트폴리오를 만들어야 했습니다. 3분이 은근 짧은 시간이라 포트폴리오에는 최대한 자세히 적되, 발표는 요약해서 하는 것을 추천드립니다. 자기 소개 + 기술 스텍 + 주요 활동 + 프로젝트 정도로 만들면 됩니다. 프로젝트는 최대 2개까지 작성할 수 있는데, 스펙이 없는 저는 학교 과제로 했던 프젝과 아주아주 작고 소중한 토이프젝 하나를 작성했습니다. 그리고 스펙이 없는 것을 커버치기 위해서 다양한 도전들을 했어요~ 라는 것을 나타내기 위해 노력했습니다.

면접 예상 질문 준비

기술 면접은 처음이었기에, 정말 열심히 준비했습니다. 소마 후기 블로그를 모두 보고, 질문들을 긁어모아 예상 질문 리스트를 만들었습니다. 그리고 자소서, 포트폴리오 예상 질문들과 2차 코테에 관한 질문들도 모두 준비했습니다. 지금 보니 150개 정도 준비했었네요.

그리고 저는 프론트엔드 개발자였기에 프론트엔드 개발자 면접 예상 질문도 따로 검색해서 공부했습니다. 검색해보면 잘 나와있는 블로그들 많아요. 브라우저 렌더링 방식, 자바스크립트 클로져/호이스팅 등등.. 정말 1년치 공부 이때 몰아서 한 것 같습니다ㅋㅋ

대망의 면접

경쟁률?

예상으로 3일 x 5타임 x 5분과 x 5명 = 375명이 면접 대상자였습니다. 그리고 합격자가 260명이니 약 1.5:1이었습니다. 보통 예전 기수에서는 면접 대상자로 2~3배수를 뽑았다고 하니, 이번에는 2차 코테에서 많이 탈락되었다고 예상합니다.

면접장 분위기?


소마 공식 인스타 계정에 올라온 사진입니다! 생각보다 면접관과의 거리가 가까웠습니다. 의자 위에는 2차 코테 문제가 코팅되어 올려져 있습니다. 그리고 저 갈색 단상에서 포트폴리오를 발표하게 됩니다.

받은 면접 질문들

저는 3번이라서 항상 중간에 질문을 받아서 참 좋았습니다 ㅎㅎ 제가 받았던 질문들은 다음과 같습니다.

  • 포트폴리오에 기술스택이 안쓰여있는데 뭘 써봤는지?
  • 왜 Vue.js를 사용했는지?
  • 여기서 프로젝트하면 뭘 쓸건데?
  • 왜 Vue.js 안쓰고 리액트랑 타입스크립트 쓸건데?
  • Vue.js는 mvvm을 사용하는데 mvc랑 무슨 차이가 있는지 아냐
  • 어떤 it 기술이 세상에 좋은 영향을 끼쳤냐
  • 프로젝트 관련 질문 2개 -> 기술 질문은 아니고, 기능의 필요성에 대한 질문이었음.
  • 클린코드를 작성하기 위해 했던 경험들을 말해봐라
  • 지방에 거주하고 있는 것 같은데, 합격 시에 어떻게 할 것인지?
  • 네가 팀장이라면 어떤 팀원을 뽑고 싶니?
  • 뽑힐려면 딴 사람을 떨어뜨려야 하는데 자신이 뽑혀야 하는 자신의 강점을 말해봐라
  • 마지막으로 못한 말 있으면 말해봐

mvvm 관련 질문에 대한 답은 못했습니다. 그래도 전체적으로 준비한만큼 잘 한 것 같습니다. 특이 사항은 개인 질문은 모두 포트폴리오에서 작성한 프로젝트에서 나왔습니다. 그리고 아주 간단한 토이 프젝에 대해서는 질문이 하나도 안들어왔습니다. 학교 과제더라도, 협업을 했고, 의미와 필요성이 있는 프젝을 작성하시는 것이 좋겠습니다.

조언

  1. 순서 주어지지 않고, 원하는 사람부터 답해봐라고 하는 공통질문에는 먼저 손을 들어 적극성을 표현합시다.

  2. 지방 대학교에 재학 중이신 분들은 휴학을 고려해보세요! 소마에 대한 열정을 어필할 수 있습니다.

  3. 모르는 것은 모르겠다고 솔직히 말하는 것이 좋아요. 괜히 아는 척하면 꼬리질문에서 들통날 수 있습니다.

  4. 기술질문 준비 열심히 하기. Github 들어가시는 경우도 있으니 관리 잘 해놓으시면 좋습니다. 하지만 그렇게 딥한 기술 질문은 나오지 않았습니다.

✨ 최종 결과

일주일 간 정말 간절한 마음으로 결과를 기다렸습니다. 결과 나오는 날짜만 알려주고, 시간은 알려주지 않기 때문에 언제 정확히 나오는지 알 수 없습니다. 전화를 해도 알려주지 않기 때문에 잠자코 기다리는 게 좋습니다 ㅎㅎ

작년의 경우 10시 반에 나왔다고 해서 10시부터 초조하게 기다렸는데 나오지 않았습니다. 정각마다 심장이 떨렸는데 5시에 나왔습니다 ㅋㅋ 수업 중에 합격 결과를 받고 얼마나 기뻤는지 모르겠네요. 짧은 기간이었지만 정말 열심히 준비한 보람이 있었습니다.

지원할 때 부터, 합격하고 후기를 작성하는 상상을 계속 했었는데 현실로 이루게 되어서 너무 기쁩니다. 지원 과정에서 정말 많은 것을 얻고 배울 수 있었습니다. 가장 크게 얻은 것은 자신감인 것 같습니다. 개발자로 가는 것이 맞는 것인지, 너무 늦은 것이 아닌지 스스로 의심을 많이 했는데, 합격을 통해 나도 좋은 개발자가 될 수 있겠다는 자신감이 생긴 것 같습니다.

곧 워크샵이 예정되어 있는데, 굉장히 기대가 됩니다! 2023년에는 소프트웨어 마에스트로를 통해 개발자로서 큰 터닝포인트를 맞게 될 것 같네요.

저도 했으니, 여러분들 모두 할 수 있습니다. 모두 끝까지 포기하시지 말길 바래요!

profile
개발자
post-custom-banner

4개의 댓글

comment-user-thumbnail
2023년 10월 8일

좋은 글 작성해주셔서 감사합니다.!! 저는 15기 지원하려고 하는데 많은 도움이 되었습니다! ㅎㅎ

답글 달기
comment-user-thumbnail
2024년 1월 13일

15기를 준비중인 한 감자입니다.. 제가 볼 땐 엄청 멋지시네요!!

답글 달기
comment-user-thumbnail
2024년 3월 8일

안녕하세요 SW마에스트로 준비관련에 대해 질문드리고 싶은게 있는데 연락 가능할까요? ㅠㅠ

1개의 답글