혹시 7기를 지원하는 분들에게 도움이 될까싶기도 하고 지원부터 합격까지 긴 시간이 걸린만큼 얼마나 간절했는지 이후에 힘들 때바다 보기 위해 기록해둘 겸 작성!
늦게 작성하는 이유는.. 혹시나 전산오류전형일까 겁먹어 사전 준비 안내 메일까지 받고나서 작성을 시작했기 때문에...
위의 상황을 해결하기 위해 공백기가 생기지 않으면서 퀄리티가 보장된 교육을 듣고싶다는 생각이 들었고 마침 모집하고 있던 우테코 6기에 지원을 결심했다.
지원서는 일주일전부터 작성을 시작했다. 작성시 지키려고 했던 목표는 총 세 가지였다.
프로그래밍 학습을 하고 장기간 개발자로 살아가기 위해, 본인만의 효과적인 학습 방식을 찾는 것은 매우 중요합니다. 프로그래밍이 아니더라도 지금까지의 모든 학습 경험을 되돌아봤을 때, 본인에게 유용했던 학습 방식을 찾아낸 과정과 경험을 공유해 주세요. 그리고 이 경험은 현재 본인의 프로그래밍 학습 과정에 어떻게 적용되고 있나요?
Spring boot 프레임워크를 처음 공부할 때 반복을 통해 점진적으로 발전하는 것이 효과적인 학습법임을 찾아냈던 경험을 작성했다. 각 반복 단계의 목적과 실제로 어떻게 적용해서 공부했는지와 함께 어떤 학습 환경을 조성해서 성과를 높였는지도 함께 작성했다.
좋은 개발자가 되려면 성장 과정에서 많은 실패와 어려움이 기다리고 있습니다. 나의 성장을 위한 경험 중 실패나 어려움을 해결하기 위해 어떤 시도를 했고 여기서 얻은 배움은 무엇인가요? 그리고 이런 경험이 현재 여러분의 성장 방식에 어떤 영향을 주고 있는지 이야기해 주세요. (혼자 겪은 경험도 좋고, 타인과 함께한 협업과정에서의 실패와 어려움도 좋습니다.)
대학교에 입학한 후에는 자소서에 쓸만큼 의미있는 실패와 극복을 한 기억이 없는 것 같아 많이 당황했던 문항이었다. 무언가 거창한 것에 도전했다가 실패하고 멋진 방법을 써서 극복한 경험을 써야할 것 같았는데 기억나는 극복이 없었다. 없는 경험을 만들어낼 순 없었기에 솔직하게 작성하는 것을 목표로 두고 주제를 선정했다.
이전에 대학생 연합 IT 동아리에 지원했다 면접에서 탈락한 경험을 작성했다. 이때 실패를 극복해본 경험이 부족함을 솔직하게 인정했다. 이 경험을 통해 어떤 극복법을 배웠고, 이후 찾아온 실패에 어떻게 적용했는지에 대해 작성했다.
진정한 몰입은 즐거움과 동시에 성장을 이끌어냅니다. 여러분이 오랜 시간 동안 주도적으로 몰입했던 경험은 무엇이었나요? 그 과정에서 어떤 도전을 마주했고, 이 경험으로 무엇을 배우고 얻었는지 '구체적으로' 이야기해 주세요. (반드시 소프트웨어에 대한 경험이 아니어도 괜찮습니다. 만약 몰입한 경험의 결과물을 함께 보여주실 수 있다면 더 좋습니다.)
다른 사람들의 회고를 보면 이 문항이 가장 중요한 것 같다는 의견이 많았다. 나 역시 이 문항을 작성할 때는 문제점과 그 극복법 그리고 그 과정에서 겪은 배운점을 자세히 쓰려고 많은 시간을 들였다.
프로젝트에 참여할 당시 신기능을 개발했던 경험을 작성했다. 이때 마주친 문제점과 그 해결법을 작성했고 해결법을 깨닫는 과정에서 배운점을 토대로 어떤 개발자가 되고 싶은지 방향성을 발견했음을 작성하고 이 몰입을 통해 이전보다 어떻게 성장했는지를 자세히 쓰려고 노력했다.
여러분이 되고 싶은 프로그래머의 모습은 무엇인가요? 그 모습에 가까워지기 위해 현재 어떤 구체적인 노력을 기울이고 있는지 알려주세요. 여기에 더해 만약 우아한테크코스가 없다고 가정한다면 어떻게 성장해 나갈 것인지도 함께 이야기해 주세요.
4번 문항에서 발견한 어떤 개발자가 되고 싶은지, 어떤 개발자로 성장했는지에서 주제가 이어지도록 살을 더 붙이는 방향으로 작성했다. 또한 해당 모습을 갖추기 위해 현재 어떤 노력을 하고 있는지에 대해 작성했다.
증빙 자료로는 취업을 위해 만들어둔 노션 포트폴리오를 제출했다. 해당 포트폴리오는 내가 참여했던 프로젝트와 동아리 활동에 대해 정리해둔 페이지였다. 각 활동에서 어떤 역할을 맡았고 어떤 스택을 사용하고 어떤 기능을 개발하고 어떤 문제점을 해결했는지와 깃허브 주소를 적어 제출했다.
프리코스는 지원서를 작성한 모두에게 참여할 기회가 주어졌다. 매주 목요일 3시에 메일로 프리코스에 대한 안내가 도착하고 안내에 따라 프리코스를 진행하면 된다. 총 4주동안 진행되는 과정이어서 신경쓸게 많았다. 그리고 매주 제공해주는 공통 피드백과 다른 사람이 진행한 리뷰를 볼 수 있었기 때문에 배운게 많은 기간이었다.
디스코드를 살펴보다 보면 1주차부터 디자인 패턴 적용에 대해 고민하거나 MVC 패턴에 대해 토론하는 등 잘하는 사람이 많아보여 주눅 들었던 기억이 있다. 하지만 이런 기법을 적용하는 것도 코드의 퀄리티를 높이기 위해 도움이 되겠지만 일단 주어진 요구사항을 만족하는게 1순위인 것 같다.
실제로 나는 2주차까지는 특별한 패턴은 적용하지 않고 단순히 클래스 분리만 진행했다. 3주차부터는 UI 로직을 분리하라는 요구사항을 맞추기 위해 MVC 패턴을 적용했다. 처음부터 완벽한 퀄리티를 낼 자신이 없었기 때문에 매주 발전된 모습을 보여주는 것을 목표로 잡았다.
1주차는 프리코스 적응 및 맛보기 -> 2주차는 class 분리 -> 3주차는 MVC 패턴 적용 -> 4주차는 객체를 객체답게 사용하기
등 매주 어떻게 발전할지 방향을 정하고 이걸 코드와 소감에 보여주는 방식으로 프리코스에 임했다.
또한 학교 수업 및 취준과 병행하고 있었기 때문에 많은 시간을 쏟을 수는 없었다. 매주 토요일에 시작해 화요일에는 제출하는 루틴으로 진행했는데 코드 작성 -> 요구사항 점검 및 리팩토링 -> 테스트 코드 작성
순으로 과제를 완성했다.
프리코스 진행 깃허브 저장소 🐈⬛
혹시 다른 분들에게 참고가 될까봐 저장소를 공개하..지만 코드의 퀄리티가 좋다고 생각되지는 않아서 참고용으로만 보길 바란다!
1주차를 제외한 모든 주차에서 소감을 최대한 작성하려고 노력했다. 매주 1000자 정도 작성한 것 같다. 코드의 퀄리티도 중요하지만 내가 프리코스를 진행하면서 배운게 무엇이고 이걸 어떻게 적용해서 더 성장했는지를 보여주는게 중요할 것 같다는 생각이 들어 소감에 공을 많이 들였다. 해당 주차를 진행하며 어떤 것을 배웠는지, 프리코스 이전에 코드를 작성하던 습관이 배움을 통해 긍정적으로 바뀌었음을 자세하게 작성했다.
디스코드 커뮤니티에서 활발하게 활동하시는 분들은 다른 분들께 리뷰를 신청하는 등 리뷰를 많이 받은 걸로 알고 있다. 나는 소심해서 커뮤니티에서 활동할 깜냥이 안됐기 때문에 리뷰를 직접적으로 받지는 못했지만 다른 참가자의 코드가 공개돼 있는 덕분에 다른 분의 코드와 리뷰를 통해 간접적으로 많이 배울 수 있었다. 해당 주차가 종료되면 깃허브 레포와 디스코드 채널을 돌아보며 배울 것이 있거나 다음에 적용해볼만한 사항이 있는지 확인했다.
혹시 리뷰 신청하기가 부끄럽다면 나처럼 다른 분의 리뷰를 읽는 방법도 좋은 것 같다. 코드 리뷰가 정말 활발하게 이루어지기 때문에 직접 받지 않아도 저장소를 돌아다니며 얻을 수 있는게 많았다. 프리코스 과제를 제출하는 것도 의미가 있지만 그 과정에서 배운게 있어야 다음 과제를 더 잘할 수 있고 소감을 쓸게 있기 때문에 제출 후 끝내는 것보다는 저장소와 디스코드를 돌아다녀보는 걸 추천한다!
프리코스가 끝나고 3주 ~ 4주 정도 후에 1차 합격자 결과가 나온다. 다른 분들의 후기를 보면 이 기간동안 정말 열심히 준비하셨던데 나는 이 기간 동안 면접 보러다니고 수업 듣고 시험 공부 하느라 준비를 하지 못했다.
1차 합격자 발표가 나온 후 5일 뒤가 최종 코딩 테스트였다. 이 5일동안 그 동안의 프리코스 과제(2 ~ 4주차)를 프리코스 기간을 통해 배운 것(MVC 패턴 적용, 공통 피드백에 적힌 내용 등)을 적용해 처음부터 새로 작성하는 연습을 했다. 낮에는 할 일을 하고 밤 ~ 새벽동안 연습을 했는데 5시간 타이머를 맞춰두고 2시간 안에 구현을 완성할 수 있게 연습했다.
시험 전날에는 5기 문제로 5시간 내에 코드 작성 + 테스트 작성까지 연습하고, 시험장에서의 마음가짐과 체크 리스트를 준비했다.
시험장에서는 긴장돼 정신이 없을 것 같아 읽으면서 마음을 차분히 할 수 있도록 체크 리스트를 미리 만들었다. 가장 먼저 할일과 코드 작성시 주의할 점, 준비 중에 마주친 오류와 해결법, 대략적인 타임라인을 적어뒀다. 실제로 시험장 도착해서는 뭘 읽을 정신이 없기 때문에 이 체크리스트만 계속 읽었고 나름 도움이 됐던 것 같다.
정말 사소한 것도 다 적어뒀다. 시험장에 가면 머리가 안돌아가 사소한 걸 놓칠 것 같았기 때문에 바보같은 실수만이라도 막자는 마음가짐이었다. 각 주차 제공됐던 공통 피드백에서 최종 코딩 테스트에 적용하면 좋을 것 같은 것을 정리했고 프리코스와 비슷한 문제가 출제된다 했으므로 그 동안의 연습을 토대로 프로젝트 구조도 미리 정리했다.
최종 코딩테스트 제출 시 소감은 .만 찍어도 된다고 안내 메일에 적혀있었지만 마지막까지 최선을 다하자는 마음가짐을 지키기 위해 최종 소감도 미리 작성해뒀다. 프리코스를 진행하면서 전반적으로 배우고 느낀 것을 중점으로 작성해뒀다. 처음엔 혹시 몰라서 쓰자였는데 쓰다보니 또 진심으로 쓰게돼서 내가 프리코스만으로도 이런걸 얻었구나를 느낄 수 있었고 길게 작성할 수 있었다 ...
코딩 테스트 당일에는 생각보다 많이 떨리진 않았다. 나는 선릉 캠퍼스에서 시험을 봤는데 기념품으로 노트랑 스티커, 펜도 주고 간식을 무제한으로 먹을 수 있어서 좋았다. 혹시 당 떨어질까봐 걱정되시는 분들은 시험장에 다양한 종류의 간식이 많이 준비돼있으니 따로 준비하지 않아도 될 것 같다. 물도 한 병 주셨다. 신분증으로 신원 확인을 한 번 하니까 신분증도 꼭 챙기길 바란다.
원래는 1시에 시험이 바로 시작해야 했는데 네트워크 연결 문제로 1시 30분으로 시작이 밀렸다. 당일 와이파이 연결이 안되는 이슈였는데 나도 처음에는 연결이 안돼서 긴장됐지만 금방 해결할 수 있었다. 덕분에 화장실도 다녀오고 미리 준비한 체크 리스트도 수십 번 읽고 수정하며 시뮬레이션을 할 수 있었다.
시험장은 굉장히 자유로운 분위기다. 대기 시간에 노래도 틀어주시고 캠퍼스 구경도 자유롭게 해도 되는 것 같았다. 시험이 시작하고 나서도 자유롭게 왔다갔다 할 수 있고 헤드셋으로 노래를 들을 수도 있었다. 간식도 여러 번 가지러 다녀올 수 있었다. 다른 사람의 풀이를 방해하지 않는 선에서는 편의를 많이 봐주시는 것 같았다.
시험의 난이도는 5기 시험보다는 어려운 것 같았다. 다른 분들이 말을 보면 4기보다는 쉬웠지만 5기보다는 어려운 난이도 정도로 나온 것 같다. 내가 헷갈리고 어려웠던 부분은 비상 근무자들이 겹치지 않게 조정하는 방법이었는데, 나는 모든 근무자를 배정한 후 겹치는 부분만 로테이션 돌리는 방식으로 구현했으나 다른 분들은 deque를 활용하는 등 더 좋은 방법이 많은 것을 디스코드를 통해 또 배웠다.
테스트 코드는 전부 통과했고 문제에 써진 예시도 통과했으나 이후 다른 분이 디스코드에 올려주신 테스트 코드에서 통과하지 못하는 부분이 있어 굉장히 걱정했었다. 다행히 최종 합격을 했으니 아예 잘못 푼건 아닌 것 같다. 방향이 조금 틀리더라도 일단 제시된 테스트 케이스를 모두 통과하는게 중요한 것 같으니 어렵더라도 해당 케이스라도 통과할 수 있도록 끝까지 코드를 작성하는게 좋을 것 같다.
특히 최종 코딩테스트 메일에도 돌아가는 쓰레기를 만드는게 중요하다고 강조돼있다. 코드의 퀄리티를 신경쓰는 것도 중요하지만 5시간 안에 끝내야 하므로 일단 테스트 케이스를 통과하게 만드는걸 1순위 목표로 잡는게 좋을 것 같다!
최종 코딩 테스트 깃허브 저장소 🐈⬛
역시나 도움이 될까봐 공개는 하지만 5시간 안에 만들어야 해서 코드의 퀄리티도 떨어지고 문제의 이해도 잘못한 부분이 있는 것 같아 완전한 정답이라고 보긴 힘들 것 같다. 참고용으로만 보길 바람!
결과 발표는 최종 코딩 테스트가 진행된 후 2주 뒤쯤이었다. 딩일에 계속 결과만 기다릴까봐 일부러 약속을 잡았는데 약속을 준비하는 내내 결과만 기다리느라 제대로 준비도 못하고 결국 지각했다. 5기까지는 합격자에게 사진으로 메일이 온다는 것을 미리 봤기 때문에 메일 미리보기에 글이 보인 순간 탈락인줄 알고 굉장히 가라앉은 마음으로 메일을 읽었다. 근데 합격했다는 내용이 있어서 처음엔 정말 꿈인 줄 알았다.
이 날 지원했던 인턴도 합격했다는 메일을 받았다. 우테코와 인턴 중 어떤걸 선택해야 할지 꽤나 많이 고민했는데 인턴은 솔루션 개발이라 원하던 직무와 결이 조금 달랐고, 언제 또 10개월이란 긴 시간동안 온전히 개발 공부를 할 수 있을 지.. 정말 좋은 기회인 것 같았기에 우테코를 선택했다.
결과를 받고 다른 사람의 후기를 읽으며 내가 다른 사람에 비해 크게 노력하지 않은 것 같은데 어떻게 붙었는지 정말 얼얼했다. 하지만 막상 내 후기를 작성해보니 나도 꽤나 간절했고 열심히 준비한 것 같아 자신감을 조금 되찾았다.
6기를 준비하고 결과를 기다리면서 5기 합격 후기를 정말 많이 읽었는데 혹시나 이 글이 다른 분들에게도 도움이 될 수 있으면 좋겠다!
늦었지만 합격 축하드립니다!