🏋️ 학습 계획
꾸준한 습관
4월 즈음에 싸피 10기 공고가 올라왔다.
작년 말에 친구의 권유로 9기에 지원했었는데, 당시에는 개발공부를 해본적도 없었고
SW적성진단 또한 두어시간정도만 풀어보고 시험을 봤었기에 당연히 볼 것도 없이 불합격했었다.
불합격을 기점으로 개발에 흥미가 생겼고 그때부터 꾸준히 학습해왔다.
2022년 12월 즈음부터 현재 2023년 6월까지, 지난 6개월동안
나는 정말 단 하루도 빠지지 않고 백준에서 알고리즘 문제를 풀었다.
이러한 꾸준한 습관은 1차적으로는 당연히 개발실력을 올리기 위해서 였지만
나아가 이를 통해 싸피 10기나 취업을 할 때에도 어필을 할 수 있을 것이라 생각했다.
보잘 것 없는 스펙
- 학교 : 인서울
- 전공 : 상경계 (비전공)
- 학점 : 3.5
- 어학 : 미작성
- 이외 대외활동, 수상, 인턴, 직무경험 없음
처참할 정도로 스펙이 없다.
대학교도 sky 이런 곳 아니고 그냥 이름 들으면 아는 정도의 인서울이다.
토익은 졸업 요건 때문에 땄었는데 그닥 높은 점수는 아니라 작성하지 않았다.
스펙 관련한 것들에 신경을 아예 안썼어서 교내활동, 대외활동, 수상,
심지어 그 흔한 동아리 활동 마저 아무것도 없다.
졸업하면서 취준을 한 것도 아니기에 인턴 경험이나 직무 경험 또한 아예 없었다.
전략세우기
4월에 10기 모집 공고를 보자마자 나는 질 수 없는 전략을 세워야겠다고 다짐했다.
나는 지난 기수들의 스케쥴을 참고하여 적성진단과 인터뷰 날짜 등을 유추했다. (실제 인터뷰 날짜는 6/8~ 이었다)
공고가 떴을 때 적성 진단까지는 약 한 달 정도 남았던 것 같고 에세이 제출 기한도 넉넉했다.
9기 때 적성진단을 경험했었기에 얼추 어떤 방식으로 나오는 지는 알고있었다.
그리고 무엇보다도, “시간이 굉장히 부족하다”는 것 또한 알고있었다.
그래서 나는 미리 유형에 익숙해져서 빨리 푸는 습관을 길러야겠다고 생각했다.
한 달이나 적성진단을 준비한다고? 라고 할수도 있겠지만
그만큼 합격이 간절했기에 차분하게 일찍부터 준비했던 것 같다.
📕 S/W 적성진단
공고가 뜬 다음 날(적성진단 약 한 달전), 바로 교보문고에 갔다.
작년에는 해커스에서 나온 하늘색의 싸피 통합 기본서를 구매했었는데
왜인지 올해 상반기에는 출시된 게 없었다. (1년 주기로 출시하는 듯 하다)
그래서 대신 가장 최신에 출간되었던 ‘에듀윌 싸피 통합 기본서’를 구매했다. (노랭이)
결국은 출제유형을 다루는 문제집이기 때문에 무엇을 사도 크게 중요하지 않다고 생각했다.
GSAT 문제집으로 준비하는 사람들도 많다고 하길래 마침 밀리의 서재를 1년간 구독중이어서
밀리의 서재에서 문제들을 훑어보았다. (양이 너무 많아서 풀어보지는 않았다)
적성진단의 경우 다음과 같은 유형으로 출제된다.
그 중에서도 가장 중요하다고 생각하는 것은 수리/추리 논리 파트였다.
난이도는 학창시절 수학 문제 정도이지만 제한시간 내에 풀기란 시간이 상당히 촉박하다.
나는 이렇게 생각했다.
- 주어진 시간 내에 모든 문제를 푸는 사람은 거의 없을 것이다.
- 쉬운 문제는 1분, 어려운 문제는 최대 2분 내로 풀어야 한다.
- 앞 부분의 쉬운 문제들을 빠르게 푸는 연습이 필요하다.
- 너무 오래 걸릴 것 같은 문제는 과감하게 패스하고 남는 시간에 푼다.
- 빠르고 정확하게 판단하고 푸는 것이 관건이다.
이를 바탕으로 문제집의 문제들을 하나씩 풀어나갔다.
오랜만에 보는 문제들이어서 유형들이 다소 낯설었던 것 같다.
그래서 풀이방식이 낯선 문제들은 따로 정리했다.
예를 들어 소금물의 농도나 양을 구하는 문제의 출제 유형은 크게 3가지였다.
- case1) 가중평균
- x, y, z 각각의 농도 주어진다고 가정 ex) 3, 4, 5
- 3x + 4y = 3.6(x+y) 이런식으로 구해서
- 3x = 2y = 2z
- 이후 x + y + z = 800 을 x 에 관한 식으로 변환하여 x,y,z 도출
- case2) 사이값
- 8% 소금물 A 와 14% 소금물 B 합하여 10% 소금물 300
- ⇒ 10% 까지의 거리 2 : 4 이므로 10% 되려면 A:B = 2:1 = 200:100
- case3) 소금 추가
- 농도 20%인 100g 의 소금물에 소금을 추가하여 농도를 짙게만든다?
- → 소금 x g만큼 추가 시 소금물 농도 = 20 + x / 100 + x
이런식으로 가물가물한 유형들(소금물, 일의 양 등)은 접근 방식이나 풀이방법을 정리했다.
이를 수 차례 복습하고, 빠르게 풀려고 노력했던 것 같다.
📘 CT
CT의 경우 지난 반 년간 꾸준히 알고리즘 문제를 풀어온 덕분에
9기 때와 비교했을 때 뇌가 말랑말랑(?)한 상태여서 비교적 수월했던 것 같다.
체감상 백준 실버 정도의 문제를 손으로 풀어야했는데
주어지는 숫자들이 노가다로 접근할 수도 있을 정도의 범위로 주어진다.
그러나 가장 좋은 방법은 규칙을 찾는 것이다.
예제를 비롯하여 1~5번까지의 문제는 점점 범위나 크기가 확장된다.
여기에는 거의 무조건적으로 규칙이 존재하는데 이를 빠르게 캐치하여 적용하는 것이 중요하다.
그럼에도 불구하고 규칙이 안보인다면 빠르게 노가다를 하는 방법도 나쁘지는 않다.
뭐가됐든 제한시간 내에 일단 맞추기만 하면 된다는 마인드로 임했다.
CT의 경우에는 공부를 많이 하지 않았기에 정석적인 학습법을 잘 모르겠다.
여러 블로그를 살펴보니 알고리즘 문제를 손으로 풀어보는 연습을 하면 좋다고 하던데 난 잘 모르겠다.
책에 있는 문제나 모의고사에만 충실해도 충분하다는 생각이 들었다. (실제로 양이 적지도 않다)
📝 에세이
나는 에세이 제출이 시작되기 이틀 전부터 에세이를 쓰기 시작했다.
꾸준히 학습을 해온 경험과, 싸피가 필요한 이유를 진솔하게 어필했다.
500자 밖에 안되기에 누구나 앉은 자리에서 금방 쓸 수 있는 분량이다.
틈틈히 에세이를 읽어보면서 객관적으로 보려고 노력했고 이틀 간 조금씩 다듬었다.
성격 상 제출 마지막 날까지 질질 끌면서 계속 수정에 수정을 거듭하고 첨삭받고..
이러한 것들을 상당히 피곤해하는 편이라 첫날 오전에 쿨하게 제출해버리고 기억에서 지웠다.
(아마 1등으로 제출하지 않았을까?)
에세이에서 중요하다고 생각되는 것은 학습 경험과 성실함이다.
아무리 비전공자라고 하더라도 내 생각에는 싸피는 개발경험이 아예 없는 사람을 뽑지는 않는 것 같다.
(실제로 스터디원들 5명중 3명이 국비나 부트캠프를 수료했었다)
분명한건, 비전공자라 하더라도 개발분야에 관심을 가지고 있는 인재를 뽑는 것이 목적일텐데
이와 관련한 학습경험이 아니고서야 이를 증명해낼 방법은 딱히 없다.
실제로 나 같은 경우에도 작년 9기 때 개발경험이 전혀 없었기 때문에
학창 시절 해킹툴을 다뤄보거나, 오토핫키를 사용하여 매크로를 만든 경험 등을 쓸 수 밖에없었고
이는 개발공부를 해오고 있는 사람들과 비교했을 때 상당히 괴리감이 느껴질 수 밖에 없다고 생각한다.
고로, 싸피에 입과하고 싶다면 꼭 개발 공부를 미리 꾸준히 해보고 이를 에세이에 녹여내길 바란다.
🎉 1차 발표
지정했던 희망하는 날짜에 S/W 적성진단을 보았다.
모든 문제를 완벽하게 풀지는 못했지만 그래도 싸피 오픈톡방의 여론(?)을 살펴보았을 때 평타 이상은 쳤겠구나 싶었다.
못 푼 문제도 있었기에 무조건 합격할 것 같다 정도의 확신은 없었지만,
그래도 어지간하면 합격하지 않을까? 정도의 기대를 할 수 있을 정도로 봤던 것 같다.
다행히도 인터뷰 대상자로 합격이 되었고, 면접을 준비해야하는 시기가 다가왔다.
그러나 문제는, 1차 발표시기가 생각보다 늦어서 면접을 준비할 수 있는 기간이 1주일 정도였다는 것이다.
1차에 불합격할지도 모르는데 미리부터 면접을 준비하기가 좀 꺼려졌기에 면접을 미리 준비하지는 않았었다.
📢 인성 면접
스터디 만들기
면접을 준비하기위해 나는 바로 스터디를 만들었다.
누군가 만들어주지 않을까? 했지만 아무도 나서는 사람이 없어서 그냥 내가 만들기로 했다.
먼저 오픈톡방에서 마포구쪽 면접스터디를 희망하는 1차 합격자를 모았다.
13명의 합격자들이 모였고 4~5명 정도가 적당할듯 싶어서 제비뽑기를 통해 3조로 나누었다.
이후 투표를 통해 희망하는 시간대별로 사람들의 조를 조금씩 교체해주었다.
진행되는 스터디의 방식이나 세부적인 시간 및 장소 조정등은 각자의 그룹끼리 알아서 하기로 했다.
최종적으로 내가 참여한 스터디는 5명의 사람들로 이루어져 있었다.
예상 질의 준비
우리 조는 1차 발표 날 스터디가 결성이 되었고 여러 의견을 나누었다.
일단 가장 먼저 구글 독스의 공유문서를 통해 각자의 에세이를 공유했다.
첫 날 자정까지 상대방의 에세이를 읽고 각자 3가지 예상 질문을 써오기로 했고,
다음 날 스터디까지 예상 질의에 대한 답변을 구상해오기로 했다.
즉, 한 명의 에세이에 총 12개의 예상질문을 뽑아낼 수 있었다.
너무 지엽적인 질문보다는 크게크게 나올법한 질문들을 위주로 작성하기로 했는데
500자밖에 안되는 짧은 에세이였기에 뽑아낼 수 있는 질문은 한정적이었고
그러다보니 어느정도는 조금씩 겹치기도 했다. (어쩔 수 없는 부분이다)
다음 날 스터디는 각자 번갈아가며 준비해온 질문을 하고 이에 대한 답변을 하는 방식으로 진행됐다.
나는 면접의 경험이 없어서 어떻게 답변을 해야하는지 잘 몰랐고
약 1분 이상 대답할 수 있을 정도의 양을 글로 정리해서 준비해온 스크립트를 줄줄 읽었다.
피드백은 “너무 길다”가 대부분이였다.
그래서 다른 분들 차례 때 답변을 보니, 확실히 면접 경험이 몇 번 있으셔서인지
훨씬 깔끔하고 적당한 길이의 답변이었고 나는 이 때 “면접은 저렇게 하는거구나” 싶었다.
그때부터 가지치기를 통해 양을 줄이고 또 줄였다.
공동 질의 준비
공동 질의의 경우 블로그를 검색하다보니 여러 정보가 나왔다.
흔히들 면접을 볼 때 누구에게나 나올 법한 질문들을 정리하고 직접 카테고리화 했다.
질문 수를 세어보니 약 35개정도 되는 것 같은데 이를 다 공유하기 보다는
카테고리화를 어떻게 했는지 간략하게 나열해보고자 한다.
- 일반 : 본인의 장단점, 경험, 개발자가 되고싶은 이유 등
- 싸피 : 지원동기, 해보고싶은 프로젝트 등
- 전공 : 본인의 전공 설명, 전공이 아닌데 개발을 하려는 이유 등
- 프로젝트 & 스터디 : 프로젝트or스터디 경험, 본인이 맡은 역할 등
- 협동 : 협업 경험, 갈등 경험 등
- 학습 & 기술 : 공부하고있는 기술, 사용해본 프레임워크 및 선택이유 등
최대한 전공자에게 나올법한 깊이있는 질문들은 제외한 편인데
학습경험에 대해서 답변하다가 구체적인 질문이 들어올 수도 있기에 꼬리질문까지 간략하게 대비했다.
그런데 문제가 발생했다.
에세이 기반의 예상질문은 12개정도라 글로 정리해서 답변을 외울 수는 있었지만
서른개가 넘어가는 공동 질의에 대해서는 도저히 스크립트를 세세히 적고 외울 엄두가 안났다.
그래서 이때부터 나는 마음을 조금 놓은 것 같다.
그냥 이런 내용의 질문이 들어오면 이러한 것들 대해서 말하면 되겠다 정도의
키워드 정도만 머리속으로 정리하고 그때그때 편하게 답변했다.
이렇게 하니까 갑자기 면접 실력이 눈에 띄게 향상했다.
혹시라도 본인이 면접 경험이 없거나, 잘 못외우는 편이거나, 대비해야할 질문의 양이 많다면
무엇에 대해서 답변을 할지 키워드 정도로만 정리하고 편하게 말하는 연습을 하면 좋을 것 같다.
연습방법
이러한 답변 방식을 바탕으로 나는 면접 연습을 매일했다.
먼저 40개가 넘는 모든 질문을 녹음해버렸다. (공동질의 35개 + 예상질의 10개정도)
나는 이걸 꾸준히 들으면서 답변을 연습했다.
집에서는 웹캠을 사람 눈이라 생각하고 아이컨택을 하면서 답변 과정을 녹화했고
확실히 기록된 무언가를 보니 안보이던 문제점들까지 보이기 시작했다.
말할 때 “어~, 음~, 조금~, 이러한~, 실제로~” 등과 같은 말을 많이 쓴다는 것을 발견했고
이를 줄이고자 노력했으며 답변의 속도가 전반적으로 빠른편이라 천천히 말하는 연습을 했다.
나아가 비언어적인 표현들, 예를 들면 손의 제스쳐라든지, 몸을 움직인다든지,
불확실한 표정을 짓는다든지, 아이컨택을 제대로 하지 않는다든지와 같은
여러 사소한 문제점들 또한 개선하려고 노력했다.
면접준비기간동안 나는 샤워를 할때에도, 멍을때릴때에도, 길을 걸어가면서도
마스크를 쓰고 계속 편하게 말하는 연습을 했다.
📣 PT 면접
역할분담
우리 스터디는 PT 면접을 준비하기 위해 15개의 주제를 추려냈다.
인원 다섯명이서 세로로 한줄 씩 3가지 주제에 대하여 조사를 해서 노션을 통해 링크를 공유했다.
(위에 있는 주제일수록 중요하다고 판단했다)
정리는 탬플릿을 만들어서 채워넣는 방식으로 했는데 이는 다음과 같다.
- 정의 및 설명
- 핵심 기술
- 기술 활용 영역
- 문제점과 해결방안
- 이슈 (아직 해결되지 않은, 지속되고 있는 문제)
- 주제와 관련된 최신 기사
연습 방식
발표 방식은 강민혁님의 유튜브 영상을 참고했다.
나는 아예 영상에 소개되는 발표 방식과 도식화 과정을 통으로 외워버렸고
어떠한 주제가 나오더라도 이 프레임에 맞추어 발표를 할 수 있게 되었다.
추가적으로 정말 꿀팁이 하나가 있는데,
저기 있는 15가지 주제들의 모든 리스크와 해결방안을 짧은 시간 내에 외워서
발표까지 하는 것은 불가능하다고 판단했기에 다른 방법을 찾아야만 했다.
정리를 하다보니 발견하게 된 사실은, 결국에는 이러한 15가지의 여러 주제들에 있어서
발생할수 있는 리스크와 해결방식은 어느 정도 정해져있다는 것이다.
리스크의 경우 대표적으로 크게 4가지가 있다고 정리했다.
- 기술격차
- 윤리적 문제
- 보안 문제
- 환경 문제
15개의 주제들이 대부분 신기술들이라 기술격차 문제는 당연히 발생할 수 밖에 없고,
보안문제 역시 당연히 따라올 수 밖에 없다고 생각했다.
추가적으로 윤리적 문제나 환경문제를 다룰 수 있는 주제면 추가해 주기만 하면 된다.
이러한 문제에 대하여 구체적인 해결방안을 준비하기만 하면 된다.
예를 들어보자면,
기술격차의 경우 연령별, 지역별, 국가별로 발생할 수 있는데 이와 관련한 구체적 해결책을 제시하면 된다.
윤리적 문제의 경우, 법적 제도적 차원의 규율 정립 및 인간 중심적 기술설계 등을 통해 극복 가능하다.
보안문제와 관련한 해결책으로는 개인정보 보호 및 데이터 규제, MFA 등이 있을 것이고
환경문제의 해결책에는 지능형 에너지 관리 시스템이라든가, 첨단 재활용 기술 활용 등이 있겠다.
이를 활용하니 어느 주제가 나와도 꽤나 그럴듯한 짜임새있는 발표를 할 수 있었다.
추가로 마인드맵을 활용해보는 것도 좋은 방법이다.
긴 시간 주어진 주제에 대해서 말을 해야하는데 말할 거리가 부족하다면 절대 발표를 길게 할 수 없다.
그렇기 때문에 주제를 놓고, 생각나는 키워드나 다룰 수 있는 추가적인 부분들을 한번 마인드맵으로 그려보자.
예를 들어 인공지능 한다면 떠올릴 수 있는 것들에는 무엇이 있을까.
보안, 금융, 스마트시티, 자율주행, 국방, 의료, 게임 등 너무나도 많다.
또 여기서 가지를 뻣어나가 발생할 수 있는 문제점과 해결방안들에 대해서도
대략적으로 도식화하여 정리한다면 보다 얘기할 거리가 많아질 것이다.
💡 정말 중요한 점!!
강민혁 님께서도 말씀하셨지만 PT 면접은 관심도와 논리사고력를 확인하기 위함이다.
스터디원분들 중에 PT 면접을 어려워하는 분이 있었는데, 나는 이렇게 말씀을 드린 적이 있다.
“꿩을 닭이라 해도 된다. 꿩을 닭이라 한 이유를 논리적으로 설명할 줄 알기만 하면 된다.”
이와 더불어 예시를 들어드렸다.
꿀벌의 행동패턴을 파악하는 학습형 AI가 개발이 됐다는 기사가 주어졌다고 가정해보자.
여기서 추가적으로 다룰 수 있는, 상상해볼 수 있는 아이디어에는 무엇이 있을까?
기존에는 출입을 할 때 카드만 찍고 들어갔다면 행동 패턴을 분석하는 기술을 통해
걸음걸이를 분석하여 추가적인 본인인증의 척도로 활용할 수 있다.
녹조를 제거하는 자율주행 로봇이 활용된다는 기사가 주어졌다고 가정해보자.
여기서 추가적으로 다룰 수 있는, 상상해볼 수 있는 아이디어에는 무엇이 있을까?
실제로 에코로봇은 80% 정도의 녹조만 제거할 수 있으므로 완벽한 정화를 할 수 없다.
그러므로 녹조를 먹이로하는 개구리 등을 강에 푼다. (실제로 개구리가 녹조를 먹는지 나는 모른다..)
이런식으로 사고의 확장과 더불어 논리적 뒷받침을 하는 연습이 필요하다는 내용이었다.
글만 보면 웃기긴 하지만.. 실제로 나는 이러한 방식을 통해 PT 실력을 크게 올릴 수 있었다.
PT 면접의 경우에도 위에서 다뤘던 프레임 자체를 계속해서 외웠고,
어떤 주제가 나와도 끼워맞춰서 저 프레임대로 편하게 발표할 수 있을때까지 수시로 연습했다.
PT 면접 스터디 과정
나는 15개의 주제와 관련된 기사를 하나씩 총 15개 프린트했다.
여기서 랜덤으로 한 사람당 하나씩 기사를 가져가서 PT 면접을 진행했다.
우리는 실제 PT 면접을 하는 방식으로 10분동안 기사를 읽고 다룰 내용을 정리했다.
꽤나 긴 시간동안 발표를 해야하는데 10분은 너무나도 짧다고 생각했다. (실제로 10분인지 아닌지는 모른다)
그러나 촉박한 제한시간을 두고 연습을 하는 과정을 통해서
혹시라도 시간이 더 길게 주어진다면 편하게 할 수 있을 것이라 판단했다.
10분의 정리시간이 끝나면 번갈아가며 5분씩 발표를 진행했고 꼬리질문과 답변을 했다.
💬 인터뷰
인터뷰 시간은 아침이었다.
70~80% 정도의 사람들이 모두 정장을 입고 있었다.
여기가 교육생을 뽑는 곳인지 삼성 정규직원을 뽑는 곳인지 헷갈릴 정도였다.
나는 슬랙스에 카라가 달린 반팔을 입고 갔었는데 너무 후리하게 입었나?싶었으나
면접만 잘보면 된다라고 생각했다.
연습을 정말 많이했다. 그래서 자신도 있었다. 만반의 준비를 하고 가서인지 크게 떨리지도 않았던 것 같다.
애초에 나는 준비를 하면서 발생할 수 있는 거의 모든, 여러가지 변수들을 고려했고
어떤 질문이 나와도 다 내 예측의 바운더리 안에 있길 바랬다.
결과적으로 인터뷰는 정말 만족스러웠고 싸피에 합격할 것 같다는 확신이 들었다.
신기하게도 면접 후 거의 녹음을 한것처럼 받았던 모든 질문과 말씀드렸던 모든 답변들이 생각이났다.
이를 완벽하게 복기했고 복기하는 과정은 자가적인 피드백이 되는 시간이었던 것 같다.
🎊 최종 발표
다행히도 최종 합격을 했다.
서울에서 자취를 하는 중이라 혹여나 다른 지역에 합격하게 된다면 갈 생각이 없었다.
(싸피 하나만 보고 1년간 지방에 가 있을 자신이 없었다)
그래서 지역 2지망을 선택하기 싫었는데 무조건 골라야 하길래 지역 무관을 선택했었다.
정말 다행히도 서울 지역에 최종합격을 하게 되었고
합격 후 바로 회고를 작성 중이다.
🎯 결론
난 이길 수 밖에 없는 전략을 짰고 이를 제대로 행동으로 옮겼다고 생각한다.
원했고, 절실했고, 그래서 열심히 했다.
회고와 더불어 나도 정말 많은 블로그들을 통해서 도움을 받았기 때문에
혹시라도 나중에 싸피에 지원을 하게될 사람들을 위해서 최대한 구체적으로 남겨보았다.
마지막으로 다시 한번 강조하자면
1. 개발 공부를 미리 꾸준히 해보고 이를 에세이에 녹여낼 것
2. S/W 적성진단과 CT는 미리부터 준비할 것
3. 면접스터디를 꼭! 할것
(실제로 나는 면접 스터디가 아니었다면 떨어졌을 거라고 확신한다)
앞으로 싸피를 통해서도 좋은 개발자로 성장해 나가도록 부단히 노력해야겠다.