소개
지난 27일 정말 가고 싶었던 우아한테크코스의 최종 합격 소식을 들었습니다.
준비 과정에서 우테코 이전 기수 크루분들의 후기를 읽고 도움을 많이 받았었기에,
저 역시 다음 기수를 준비하는 분들께 도움이 될 글을 작성해보려 합니다.
우선 제 소개를 드리자면, 저는 컴퓨터공학과 4학년으로 24년 2월 졸업 예정자입니다.
교육에 관심이 많아 교육 관련 활동을 3년 간 경험했습니다.
개발은 노드로 반 년, 자바 스프링으로 1년 반 정도 경험했습니다.
강의를 듣기보단, 직접 프로젝트를 하며 그때 그때 필요한 것들을 익혀와서 개념적인 부분은 약합니다.
제 장점이자 단점은 단기간동안 프로젝트를 많이 경험해보았단 점이었습니다.
왜 이가 장점이자 단점이냐면, 이를 통해 협업 능력은 기를 수 있었지만
제가 경험한 모든 프로젝트가 feature 중심의 단발성 프로젝트였기에 딥다이브한 경험이 없었기 때문입니다.
그런 제게 우아한테크코스의 프리코스는 딥다이브에 대한 갈증을 채워주는 존재였습니다.
프리코스는 일주일 당 한 개 문제씩 깊게 고민해보는데,
이 문제가 꿈에도 나올 정도로 하나의 문제에 대해 딥다이브 해볼 수 있었습니다.
프리코스 기간 중 경험한 딥다이브를 통해 좋은 습관들과 지식들을 얻어갈 수 있었는데,
대표적으로 책과 가까워졌으며 클린 코드와 테스트에 대한 관심을 키워나갈 수 있었습니다.
딥다이브를 즐기시는 분들께, 딥다이브가 필요하신 분들께 모두 프리코스를 추천드립니다.
각 단계 별 특징을 이야기하며 저는 어떻게 우테코 준비 과정에 임하였는지 후기를 남겨보겠습니다.
서류 접수(지원서)
먼저, 지원서입니다. 이번 6기엔 지난 기수들과 달리 지원서 문항이 바뀌었습니다.
지원서 작성 기간은 10일 정도로 길지도 짧지도 않은 기간입니다.
간혹, 지난 기수 문제로 지원서를 미리 써두시는 분들도 계시긴 한데 저는 미리 써 두진 않았습니다.
그리고 글을 잘 쓰는 것보단 솔직하게 제 모습을 다 보여주는 데에 초점을 맞췄습니다.
문항을 보고 맨 처음에 떠오른 소재들로 적었습니다. 그 소재가 살짝 부끄러운 과거의 얘기일지라도
있는 그대로 제 모습을 보여주는 게 중요하다 생각해 현재의 성장한 제 모습들과 엮어 적었습니다.
또, 최대한 증명 가능한 이야기들로 적으려 노력했습니다.
증명이 불가하다면 아무리 멋진 지원서일지라도 신뢰도가 떨어질 것이라 생각했기 때문입니다.
문항 별로 어떤 식으로 답변 했는지 특징들을 아래 적어보겠습니다. 아래 문장들은 실제 지원서에 답변한 문장과는 아예 다른 문장들입니다. 말 그대로 지원서 답변에 대한 소감을 작성한 것이니 참고해주세요.
2. 효과적인 학습 방식과 경험 (1000자 이내)
프로그래밍 학습을 하고 장기간 개발자로 살아가기 위해, 본인만의 효과적인 학습 방식을 찾는 것은 매우 중요합니다. 프로그래밍이 아니더라도 지금까지의 모든 학습 경험을 되돌아봤을 때, 본인에게 유용했던 학습 방식을 찾아낸 과정과 경험을 공유해 주세요. 그리고 이 경험은 현재 본인의 프로그래밍 학습 과정에 어떻게 적용되고 있나요?
이 문항은 보자마자 떠오르는 소재가 있어서 그렇게 어렵지 않게 적었습니다. 대학 재학 중 저만의 학습법을 찾은 순간을 기점으로 성적이 가파르게 상승한 적이 있었기 때문입니다. 저는 기억력이 좋지 않아서 매번 시험에 가면 방대한 대학 시험 범위 내용들이 가물가물 기억나질 않았는데, 마인드맵을 그려 암기한 후 학점이 3점대 초중반에서 4점대 초중반으로 올랐습니다. 내용보단 위치로 기억을 잘한단 제 특징을 이용했습니다.
어떻게 보면 별 거 아닐 수도 있지만, 제겐 굉장히 효과적인 학습법이라 이를 2번 문항의 답변으로 적었습니다. 과할 수도 있지만, 실제로 성적이 오른 성적표 사진들(성적이 안 좋았던 성적표들도 부끄럽지만 함께 첨부했습니다)과 그동안 그린 마인드맵 사진들을 첨부 자료로 제출했습니다. 글솜씨가 부족하더라도 이를 뒷받침해주는 실제 자료들이 더 큰 임팩트를 줄 거라 생각했습니다.
3. 성장 중 겪은 실패와 극복 (1000자 이내)
좋은 개발자가 되려면 성장 과정에서 많은 실패와 어려움이 기다리고 있습니다. 나의 성장을 위한 경험 중 실패나 어려움을 해결하기 위해 어떤 시도를 했고 여기서 얻은 배움은 무엇인가요? 그리고 이런 경험이 현재 여러분의 성장 방식에 어떤 영향을 주고 있는지 이야기해 주세요.(혼자 겪은 경험도 좋고, 타인과 함께한 협업과정에서의 실패와 어려움도 좋습니다.)
이 문항은 쓰면서도 이게 맞나 싶어 고민을 많이 한 문항입니다. 그 이유는, 제 부족함으로 인해 실패했던 협업 경험을 써야 했기 때문입니다. 당시엔 너무도(어쩌면 살면서 가장 쓰라린) 경험이었는데, 이를 극복하며 가장 많이 성장할 수 있었기에 친구들에게도 잘 이야기 안 하는 오래 전 협업 실패 이야기를 적었습니다. 제겐 가장 부끄러운 이야기이자, 어쩌면 개발자로서 최악이었던 제 과거 한 순간의 모습을 꺼내야 했기에 오히려 저를 안 좋게 보실까 걱정이 되기도 했습니다. 하지만, 이는 현재의 제 모습이 아니고, 현재는 극복한 과거의 모습이기에 적기로 결심했습니다.
개발을 처음 시작할 때, 개발자 마인드셋 부족으로 인해 팀에 잘 적응하지 못했던 이야기였는데, 이를 부끄러워 하거나 속상해하는 모습으로 적기보단 당당하고 덤덤하게 적었습니다. 그때 반성하며 결심했던 내용들이 우테코가 추구하는 인재상과 거의 유사했기에 오히려 좋게 봐주시지 않았을까 싶습니다.
그리고 현재는 그런 결심을 하게 해준 해당 경험이 너무나 감사합니다. 어쩌면 그때의 실패 경험이 없었다면, 지금의 저도 없었을 거 같습니다.
4. 오랜 시간 몰입했던 경험 그리고 도전 (1000자 이내)
진정한 몰입은 즐거움과 동시에 성장을 이끌어냅니다. 여러분이 오랜 시간 동안 주도적으로 몰입했던 경험은 무엇이었나요? 그 과정에서 어떤 도전을 마주했고, 이 경험으로 무엇을 배우고 얻었는지 '구체적으로' 이야기해 주세요.(반드시 소프트웨어에 대한 경험이 아니어도 괜찮습니다. 만약 몰입한 경험의 결과물을 함께 보여주실 수 있다면 더 좋습니다.)
우테코 지원서에서 가장 중요한 문항입니다. 몰입. 적어도 1년 이상의 몰입 경험을 적는 것이 중요한 것 같습니다. 저는 3년 간 경험한 교육자로서의 경험을 개발과 엮어 적었습니다. 처음엔 수학 과외 강사로 시작했다가 후엔 아이들을 대상으로 한 코딩 학원의 강사로 이어졌기 때문입니다. 교육에 몰입해 개발도 지속할 수 있었다고 적었습니다. 이 문항에 대한 증빙 자료를 가장 많이 첨부했는데, 강사 활동을 하며 만들어둔 교안, 학습지, 수업일지 중 일부를 첨부했습니다.
저는 초등학생 때부터 고등학생 때까지 쭉 꿈이 교사였을 만큼, 누군가에게 교육적인 도움을 주는 걸 좋아합니다. 대학에 들어와서 20살부터 22살까지 순전히 제가 좋아서 수많은 과외와 강사 활동을 했습니다. 어떨 땐 매일 과외가 있어서 체력적으로 지친 적도 많았을 만큼 20대 초반을 모조리 바쳤던 교육자로서의 경험을 개발자란 길을 택하고선 이력으로 써먹지 못할 줄 알았습니다. 그런데 의도치 않게 몰입 경험으로써 우테코 지원에 도움이 되어 신기했습니다.
참고로 저는 현재엔 교육 만큼 개발도 재밌어서 교육자와 개발자의 꿈을 모두 이루려 노력 중입니다 ㅎㅎ 지원서에 적진 않았지만 취업 후 여유가 생긴다면, 작게는 아이들을 대상으로 한 코딩 교육 봉사라도 다닐 계획입니다.
5. 원하는 프로그래머 모습 (1000자 이내)
여러분이 되고 싶은 프로그래머의 모습은 무엇인가요? 그 모습에 가까워지기 위해 현재 어떤 구체적인 노력을 기울이고 있는지 알려주세요. 여기에 더해 만약 우아한테크코스가 없다고 가정한다면 어떻게 성장해 나갈 것인지도 함께 이야기해 주세요.
이 문항은 조금 뻔하게 적어서 길게 드릴 말씀은 없습니다. 닮고 싶은 실존하는 개발자분의 일례를 적고, 위 문항들에서 언급했던 내용들을 정리해 답변했습니다.
프리코스
프리코스에 대해선 매주 회고를 보시는 게 가장 생생할 거 같아 링크 첨부합니다.
저희는 숫자 야구, 자동차 경주, 로또, 크리스마스 프로모션이 문제로 나왔습니다.
단순히 문제만 풀기 보단, 문제를 고민하며 배우려 노력했습니다.
그렇다 보니 설계를 공부하다 4일 내내 설계만한 적도 있습니다.
100점이 정답인 시험이 아니기에 충분히 고민하고 학습하며 프리코스를 즐기면 좋을 거 같습니다
저는 프리코스를 합격을 위한 시험이라기보단, 소중한 학습의 기회라 생각하고 임했습니다.
프리코스 과정 중에 개인적으로 가장 도움이 많이 된 책은 객체지향의 사실과 오해, 자바와 Junit을 활용한 실용주의 단위 테스트 두 권입니다.
객체지향의 사실과 오해
객체지향 관련해서 잘 알고 있다 생각했는데, 막상 실제 문제에 적용하려니 너무 어려웠습니다. 책 예제를 이용해 어려웠던 설계를 쉽게 하는 법을 터득했고, 이를 우테코 커뮤니티에도 공유해 좋은 반응을 얻고 뿌듯했습니다.
자바와 Junit을 활용한 실용주의 단위 테스트
테스트 코드를 정말 하나도 모르는 분께 추천드립니다. 그게 저였거든요 ㅎㅎ 2주차부터 해당 책을 보고서 테스트 코드를 작성하기 시작했는데, 단위 테스트의 효용성을 직접 느끼고선 개안한 느낌이었습니다.
매주 과제가 끝나면 바로 다음 회차 풀이에 집중하기 보단, 지난 회차의 코드 리뷰를 정말 꼼꼼히 했던 거 같습니다.
한 번은 4일 내내 코드 리뷰만 한 적도 있었습니다. 리뷰만 해버리면 문제 풀이 시간이 부족하겠지만, 코드 리뷰에서 배우는 것 역시 크기에 한 주쯤은 코드 리뷰에 전력을 다해보는 주도 있으면 좋은 거 같습니다.
4일 내내 코드리뷰만 했을 적 정리해둔 내용 링크 첨부합니다. 제가 정답은 아니니, 이 사람은 이렇게 사고했구나~ 하고 봐주시면 될 거 같습니다.
코드 리뷰는 평균적으로 3~4분과 주고받았는데 comment를 거의 60개 가량씩 남길 정도로 열정적으로 토론했습니다. 대부분의 답글을 장문으로 남겼는데, 이 답글 하나하나를 작성할 때마다 많은 생각을 해볼 수 있어서 즐거웠습니다. (tmi를 말하자면 entp이라 토론 사랑합니다)
참고로 아래 사진은 converter가 유효성 검사와 예외 처리(validate)를 해도 되는가에 대한 고민이 담긴 comment입니다. 제 답변이 정답은 아닙니다. 그저 제가 사고한 바를 정리해둔 것입니다:)
그렇게 프리코스 과제는 매주 완벽하게 예쁜 코드를 제출하진 못했지만,
어느정도 저만의 클린코드에 대한 기준을 확립해가며
계속해서 점점 더 성장한 모습으로 제출했습니다.
(참고로 최저 점수 요건인 테스트 케이스는 4주 모두 성공했습니다)
최종 테스트
일단 저는 제가 1차를 합격할 줄 몰랐습니다,,,,,,, 경쟁률이 워낙 쎄서 운도 따라 줘야 한다 생각해서 우테코를 잊고 현생을 다시 열심히 살고 있었습니다. 프리코스에서 배운 것만으로도 너무나 도움이 되었어서 1차를 떨어져도 한 달간의 노력이 아깝지 않았고, 결과를 달달 떨며 기다리지도 않았습니다. 1차 발표 당일날이 되어서야 조금씩 긴장되다 떨리는 마음으로 메일창을 열었는데 합격이었습니다. 너무 기뻤고 얼떨떨했습니다. 그러다 세 시간도 채 안되어 현실을 자각했습니다. 최종테스트가 남았다는 현실을요.
주변에 저보다 잘하시는 분들도 정말 많았고, 열심히 하신 분들도 정말 많았는데 일정치 이상 열심히 하면 자소서가 중요했던 거 같습니다. 코치님들께서 자소서에 적은 솔직한 제 모습을 좋게 봐주신 덕이 아닐까 싶습니다.
발표가 난 월요일로부터 시험날인 토요일까지 5일의 시간이 주어졌습니다. 주어진 시간동안 저는 기출 문제를 매일 한 문제에서 두 문제씩 풀었습니다. 이전 세 기수의 최종 테스트와 마지막 주차 문제를 풀었습니다.
기출을 풀어보니 문제가 있었습니다. 프리코스에서 했던 방식 그대로 풀었더니 시간 안에 못 푼다는 점이었습니다 따라서 설계 방식을 조금 바꿔줬습니다. 프리코스 기간 동안엔 스토리텔링식 설계로 이야기를 짜며 설계했었는데, 최종테스트를 준비하면선 간단한 플로우를 작성하는 거로 이를 대체했습니다. 또한, 클린 코드에 대해 확립한 제 기준을 많이 놓아줬습니다. 이를 연습하는 게 중요했던 거 같습니다. 연습하지 않았다면 실제 시험장에선 시간 내에 풀지 못했을 거 같습니다.
최종 테스트는 무조건 시간 내에 주어진 기능을 돌아가게 만드는 게 중요합니다. 안 돌아가는 프로그램보다 돌아가는 쓰레기를 만드는 연습을 꼭 해보고 오길 추천드립니다.
또, 저는 긴장을 많이 하는 스타일이라 12시에 도착해서 할 일, 1시에 할 일, 전 날 준비할 것 등을 적어갔습니다.
이건 양이 많기도 하고 조금 부끄럽기도 해서 아래 상세 페이지로 남겨두겠습니다.
저 역시 이전 기수분께서 남겨두신 준비 문서를 보고 도움을 받았었기에 급하신 분들을 위해 슬며시 두고 갑니다.
테스트에 대한 디테일한 소감은 너무 길어서 따로 남겨두겠습니다.
쓰다보니 후기가 정말 길어졌는데, 제가 이전 기수분들 블로그를 보고 도움을 많이 받아서 저 역시 최대한 도움을 많이 드리고 싶어 꾹꾹 눌러담아 보았습니다.
다들 응원합니다
우테코라는 소중한 기회 놓치지 않고 최선을 다해보겠습니다.