
이번 소프트웨어 마에스트로 17기(부산) 과정에 최종합격 하였다.
사실 작년부터 소프트웨어 마에스트로에 가고싶었다 대표적인 이유라고 한다면 본 연수과정에서 나와있다 싶이
팀 프로젝트를 개발하며 해당 분야의 전문지식을 가지고 있는 멘토들에게 질문하며 시도해보지 못한,
내가 알지 못하는 기술에 대한 심도 있는 이해도를 경험할 수 있다고 생각한 것이 1순위였고
두번째는 학교 선배들이 무조건 소마는 할 수 있으면 하라는 이야기가 있었기에 이것이 2순위였다.
작년에 소프트웨어 마에스트로 16기 과정을 지원해보았고 그때 당시 1차 코딩 테스트에서 언어를 파이썬을 사용하다가 C++로 바꾼지 얼마 되지 않았기에 언어 익숙하지 않아 탈락한 경험이 있어서 이번엔 더 빡세게 준비했었다.
서울센터
1. 지원서 제출
1. (*필수) [자기소개] AI 및 SW분야의 전문성을 키우기 위해 몰입했던 경험과 도전이 무엇인지, 또한 이러한 성장과정을 통해 얻은 배움은 무엇인지를 서술하여 주시기 바랍니다.(최소 400자, 최대 1000자 입력가능)
2. (*필수) [연수계획서] AI·SW마에스트로 과정 참여를 통해 어떠한 프로젝트를 수행하고 싶은가요? 해당 프로젝트를 수행하기 위한 계획과 이루고자 하는 목표가 무엇인지 구체적으로 서술하여 주시기 바랍니다.(최소 400자, 최대 1000자 입력가능)
언제부터인지는 잘 모르겠지만 작년부터는 계속 해당 2문항을 고정으로 가져가는 것 같다 아무래도 최종합격하기 위해서는 면접까지 준비해야하기 때문에 면접에서도 일관성 있는 답변을 하기 위해서
1번 문항에서는 내가 학부, 대외활동을 하면서 어떤 노력을 했는지와 실패 경험, 협업 경험들을 중점적으로 작성해서 면접때 어필 할 수 있도록 작성하는것이 좋고
2번 문항에서는 소프트웨어 마에스트로에서 무한한 지원을 통해서 내가 해보고싶은 프로젝트등을 작성하는 것이 좋다고 생각한다.
웬만하면 서류에서 대부분 통과한다는 카더라가 있다고 들어서 코딩 테스트 부분을 열심히 준비하는 것이 좋다.
2. 1차 코딩 테스트

나는 개인적으로 2년이란 시간동안 백준 사이트를 이용하면서 굉장히 좋은 플랫폼이라고 생각하지만 이번 2026년 4월 28일부로 서비스를 종료한다는 공지를 보고 굉장히 안타깝다고 생각이든다. 실제로 기업 코딩테스트를 진행하면서 비슷한 유형의 문제를 풀어봤던 문제들이 웬만하면 백준 플랫폼에서 출제되었었다.
https://www.acmicpc.net/
Baekjoon Online Judge
Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.
www.acmicpc.net
소마에서는 코테를 프로그래머스 환경에서 입력을 받고 제출하기 때문에 시험 1주일 전에 프로그래머스 플랫폼을 사용하여 문제를 푸는 것이 굉장히 도움이 많이 된다 (백준은 직접 입력을 받고 출력을 하지만 프로그래머스는 함수를 직접 작성하여 답을 리턴해야함)
또한 SQL 고득점 Kit의 모든 문제를 풀어보며 내가 풀지 못한 문제는 1, 3, 7, 14일 후에 다시 풀어보며 내가 실제로 비슷한 문제를 만났을때 바로 풀 수 있게 만들어야한다.
https://programmers.co.kr/
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
마지막으로 추천드리는 플랫폼은 리트코드이다.
리트코드는 실제 해외 기업에서 내는 문제들을 풀어 볼 수 있으며 프로그래밍, SQL, 동시성등 다양한 문제들을 풀 수 있다.
또한 문제를 풀며 틀렸을때 엣지 케이스를 보여주는 것이 강점이며, 맞은 경우 해당 코드가 시간복잡도와 공간복잡도를 고려하여 상위 몇 %인지 알 수 있는것이 굉장히 좋다.
https://leetcode.com/problemset/
LeetCode - The World's Leading Online Programming Learning Platform
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
따라서 우선순위는 프로그래머스, 리트코드 순으로 추천한다.
이번 서울센터 문제에서는
1. 문자열
2. 2차원 배열(3차원으로도 풀 수 있음) + 구현
3. 큐 + 구현
4. 기억이 안남...
5. Union ALL + Join
으로 냈던것 같다.
사실 저 1차 코테를 대비하면서 SQL문제는 뭐 어렵게 나오겠어? 라면서 꺼드럭대다가 문제 보고 어케 풀지 생각하다가 된통 혼났던 기억이 있다. 결국 1번과 2번문제를 풀고 3번 문제를 풀다가 시간이 없어서 2솔로 문제를 마무리 했다.
3. 2차 코딩 테스트
2솔을 하고 무조건 불합격이겠지 하고 부산센터를 대비하려던 와중 합격이라는 메일을 받고 일주일이라는 기간동안 내가 가장 약한 부분인 dp를 더 공부하고 SQL을 공부했었다.
1. 빡구현
2. dp
3. 어떤 유형인지 모르겠음...
4. 복잡한 dp
5. Cast 함수 사용
1번 문제를 처음에 보고 와 이거 구현하는데 시간 꽤걸리겠는데? 생각을 하고 막상 구현하고 나니 구현한 여러 함수중에 어디가 잘못된지는 아직까지도 모르겠지만 배열 부분에서 실수 하여 인덱스 오류가 났던 부분이 있던것 같다.
디버깅을 하지 못했기에 어디가 오류가 났는지 찾아보다 시간을 거의 다썼고 2번 문제는 보자마자 뭔가 dp인거 같은데 생각하고
dp유형에 자신이 없던 나는 풀 생각도 하지 않고 바로 넘어갔었다. (결국 시험 끝나고 문제 복기했을때 15분 만에 풀었는데ㅜ)
이후 4번 문제를 보고 비슷하게 풀었던 유형이 있어서 접근했건만 문제의 제약을 해결하기가 그때 당시에는 빡셌어서 결국 틀린 코드만 제출한것 같다 이번엔 0솔로 제출하였으며
서울은 결국 불합격을 통보 받았다....

부산센터
하지만 이번엔 부산 센터가 2번째 기회로 주어졌기에 나는 이번에 피와 살을 갈아서 무조건 합격해야겠다는 생각으로
제일 약한 dp유형을 공부하고 SQL도 프로그래머스 계정을 새로 만들어 다시 풀어보고 리트코드에 있는 SQL도 풀어보며 빡시게 준비하며 2~3주 기간동안 꾸준히 풀었던 것 같다.
1. 1차 코딩테스트
위와 마찬가지로 여러 플랫폼에서 풀어보며 풀어봤던 문제도 다시 풀어보며 풀 수 있는 문제는 빠르게 풀 수 있도록 계속해서 연습하였다.
물론 코딩테스트의 경우 PS(Provlem Solving) 여러 문제를 푸는 것도 중요하지만 CP(Competive Programming) 시간안에 빠르게 풀 수 있는것도 중요하기에 어느정도 PS를 한다고 하면 시간을 재면서 푸는 노력을 하는 것이 좋다고 생각한다.
1. 단순 계산
2. 문자열 파싱
3. 기억 안남...
4. 그래프 문제 + 계산?
5. Join + Group by + Case 문
내 기억상 1번은 빠르게 풀고 2번에서 약간 문자열 파싱 문제였고 공백 기준으로 나눠야 했기에 파이썬으로 풀려고 했지만 함수라던지 문법이 너무 손에 안익어서 오류가 엄청 났기에 바로 C++로 공백 파싱도 구현해서 풀었다.
SQL문은 문제읽고 다행히 어렵게 나오진 않아서 15분만에 풀었던 것 같다.
2. 2차 코딩테스트
1. 완전탐색, 백트래킹
2. dp
3. 이분탐색 + 다익스트라
4. 차분 배열? 사실 조건이 너무 빡세서 잘 모르겠음..
5. Join + Group by + min
사실 1번 문제를 보고 아 이거 백트래킹이다 생각해서 모든 경우를 탐색하려고 했는데 이전 2차 코테에서 인덱스 오류 났던 것처럼
또 seg fault 오류가 발생하였다. 아무래도 시간을 좀 허비했기에 나머지 문제들을 얼른 푸는것이 좋다고 생각하여 건너 뛰었다.
2번 문제는 사실 점화식을 잘 생각하면 빠르게 풀 수 있는 문제였지만 나는 잘 떠오르지 않았고 dfs를 사용해서 풀기에는
시간초과가 났기에 최적화를 하기 위해서 map과 답이 가능한지에 대한 flag를 사용하여 어떻게든 최적화를 해서 풀었다.
3번 문제는 그림을 보자마자 그래프 문제라고 생각하였다. 이때 1번 노드에서 N번 노드로 가기위한 최소 시간과, 도착했을때의
시간을 구해야 했으며 문제 제약조건으로 인해 최소시간을 이분탐색으로 최적화 해서 구해야 했다.
다행히 비슷한 문제를 풀어본 경험이 있어서 20~30분? 만에 구현했다.
4번 문제는 사실 입력 조건을 보고 이걸 어케품? 이라고 생각했다. 배열의 크기가 말도 안되게 주어졌고
이걸 구현하기엔 메모리가 안될거같은데? 하고 바로 포기했다.
5번 문제는 테이블을 보고 조인을 해서 하면 풀 수 있을 거 같은데 경우의 수가 너무 많지 않을까 생각하고 풀지 못한 문제였다.
3. 심층 면접
2차 코딩테스트에서 뭔가 만족스럽지 못한 결과가 나왔어서 떨어지지 않을까 생각하며 기다리고 있던 와중 다행히 합격 메일이 왔다.

작년에 면접을 몇번 봤던 경험이 있지만 그때는 내가 그때로 돌아갔으면 더 열심히 했을텐데... 라는 아쉬움이 남아 있었어서
이번엔 후회없이 열심히 준비해야겠다는 생각을 하며 합격 통보를 받고 바로 서울 근처 면접 스터디를 구했다.
다행히 나의 조력자 친구와 학교 선배가 서울 센터를 합격했어서 여러 꿀팁들과 포트폴리오를 봐주었다
(준서, 정용이형, 민지센세 땡큐👍)
면접관들은 여러 면접을 봐왔기에 포트폴리오나 자소서에 우리가 뻔히 생각하지 않는것들을 물어보지 않을까 라고 생각하며
면접 스터디에서 뻔하지 않은 질문들을 하며 임기응변을 길렀다.

또한 포폴에서 내가 어필할 수 있는 부분은 어필하고 나의 약점은 최대한 숨기는 것이 가장 중요하며 발표에서는
면접관들도 사람이기에 3분이라는 제한 시간 안에서 프로젝트에 대해서 설명하면 중간에 집중이 안되지 않을까? 라는 생각을 하였고 저 3분동안 나의 PR만을 말했으며 내가 소마에 어떤 마음가짐으로 활동할건지를 어필했다.
준비했던 질문들은 다음과 같다.
<인성질문>
1. 소마에서 팀원이 나가면 어떻게 대처할 것인가요? (혼자 팀에 남은 경우 어떻게 할 것인가요?)
2. 소마가 본인에게 도움되는 점, 지원하게 된 이유에 대해 설명해보세요
3. 본인의 장단점에 대해서 설명해보세요
4. 팀 갈등을 해소한 경험이 있나요?
5. 트러블 슈팅 경험에 대해서 얘기해보세요
6. 알고리즘 기록은 꽤 있으신데 트러블 슈팅 기록은 많이 없는데
7. 장기 프로젝트는 없음, 어떻게 생각함
8. 최근 중요한 기술에 대해서 설명해봐라
<기술질문>
1. 두번째 프로젝트에서 왜 Docker를 사용했나요?
2. 두번째 프로젝트에서 DOOD를 쓴 이유가 뭔지 DinD와의 차이가 뭔지
3. JWT 방식으로 로그인을 구현했는데, 세션과 차이는 무엇이고, 토큰은 어떤 구조로 이루어져있나요?
4. 무연 프로젝트에서 이메일 인증 구현할때 ConcurrentHashMap을 사용한 이유
5. AI 문제 생성에서 왜 문제 설명 생성과 실행 환경 생성을 분리했는가
4. 최종합격

합격 발표가 10시라 9시 30분부터 계속 대기하면서 마음쫄였었다. 면접은 나름 잘봤던것 같은데 대답이 애매한 부분에 대해서
좋지 못한 평가를 하지 않았을까라는 불안한 생각이 존재했었기에 기대반 설렘 반으로 기다렸고 다행히 합격 메일을 통보받았다.
이번 소마를 준비하면서 다양한 생각들이 들었다. 최근 AI기술이 날이 갈수록 발전하고 있으며
개발을 하면서 AI를 사용하는것이 양날의 검이지 않을까라는 생각을 하게된다.
어려움에 마주했을때 AI를 사용해서 해결하는 것이 고등학생때 수학문제를 풀때 조금만 생각하고
아 어렵네 하면 바로 답안지를 보게 되는 것과 똑같은 맥락 아닐까?
현재 배우는 입장에서 AI를 사용하는 것이 과연 나에게 도움이 될까? 라는 생각을 요즘 갖게 된다.
취준생 입장에서 사용하기엔 편하지만 해당 기술을 사용하며 내가 잃는 것도 있는것이 당연하다고 생각한다.
무엇이든 처음 배울때 혼자 해보며 오류가 발생하고 찾아보며 배우는 과정이 더욱 머리속에 많이 남지 않나? 라는 생각이 많이 들었다.
최근에 형과 대화를 해보았는데 현업자 입장에서 AI쓰는것은 모든 사람들이 다 사용한다고 하며
오히려 연구소에서는 각 팀마다 토큰량을 확인하여 위에서 왜 AI 안쓰냐고 뭐라 한다고 한다.
그만큼 성과를 내야하기 때문에 그런 것 같지만 너무 AI의존도가 높지 않나? 라는 생각도 들곤한다.
이번 소마과정에서 나는 최대한 AI를 사용하지 않고 개발을 한번 해볼까 생각한다. 그만큼 머릿속에 남는것도 많지 않을까??
