[우테코] 우아한 테크 코스 5기 FE 후기

정호진·2023년 1월 10일
1

우아한테크코스

목록 보기
1/6

우테코 5기 FE 과정에 지원을 했습니다. 우선 저는 지난 기수 최종 코테에서 떨어지고 2번째 도전하는 재수생입니다.

지난 1년 동안 창업활동을 접고, 취업 준비를 하면서 23년도 상반기 취업을 목표로 하고 있었지만 우아한 테크 코스(이하 우테코) 모집 공고를 보게 되었고, 그냥 신청해 보자는 마음으로 지원서 작성 페이지에 들어갔습니다.

지원서 작성

지난 기수에 작성했던 문항과 상당히 유사한 문항들이었던 것 같습니다. 지난 기수에 어떤 대답을 적었는지 기록해 두지 않아서 1년이 지난 지금 그때의 나와 지금의 내가 같은 질문에 어떤 답을 할지 궁금했지만 확인할 방법이 없어서 아쉬웠습니다.

지원서에서 묻는 문항들에는 주로 나의 공부 방법과 왜 우테코에 지원했는지 등 지원 동기와 왜 프로그래머가 되고 싶은지에 대한 이유를 묻는 질문이 주로 나왔습니다. 큰 기대 없이 지원서 작성을 시작했지만, 질문 하나하나를 보면서 나에 대해 곰곰이 생각하게 되고 나중에는 5일 동안 지원서를 작성하는 저의 모습을 보게 되었습니다.

지원서에는 내가 어떤 이유로 프로그래머가 되고 싶고, 이러한 이유 때문에 우테코가 현재 최선의 상황이다.라는 것을 어필했습니다. 공부 방식이나 몰입 경험 같은 경우는 개인차가 많이 존재하기 때문에 꿀팁(?)이라고 말씀드릴 수는 없지만, 자기주도적으로 공부하고 그걸 꾸준히 해왔다는 것을 언급했습니다.

프리코스

5기부터는 기존의 선발 과정과는 약간 다르게 진행이 되었습니다. 4기 까지는 서류 합격자에 의해 프리 코스를 경험할 수 있게끔 했는데 이번에는 지원서를 작성한 모든 인원이 프리코스 학습이 가능하도록 하였습니다.
최대한 많은 인원들이 프리코스를 경험할 수 있도록 한 우테코의 배려(?)였던 것 같습니다. 덕분에 slack 채널을 통해 사람들과 커뮤니티가 생성되어 다양한 토론이 오고 가기도 했습니다.

온보딩

1주 차에는 프리코스가 이러한 방식으로 진행된다는 것을 보여주기 위한 말 그대로 온 보딩의 성격을 띠는 미션이었습니다. 진짜 진짜 간단한 레벨의 코딩 테스트 문제가 주어졌고 그다지 어렵지 않게 제출할 수 있었습니다.

2주 차 - BaseBall

2주 차 미션은 숫자 야구 게임이었습니다. 4기 때 프리코스와 같은 문제였는데 다른 점이 있다면 1) 테스트 코드가 추가되었다는 점. 2) 4기는 웹 화면에 구현하는 형식이었지만, 이번에는 console 창에 입력받는 형식으로 진행되었다는 점입니다.

개인적으로 우테코가 좋다고 생각하는 점이 주어지는 미션마다 새로운 요구사항이 추가된다는 점입니다. 2주 차 미션에서는 다음과 같은 요구사항이 있었습니다.

위에서 제시한 요구사항에 맞춰 코드를 작성했고 문제는 생각보다 빨리 풀었지만 문제는 테스트 코드 작성이었습니다. 사실 한 번도 해본 적 없는 테스트였기 때문에 제시한 가이드라인에 따라 하긴 했지만 처음 시도해 보는 것이라 테스트 코드 작성에서 좀 상세하게 하지 못했습니다.

추가적으로 2주 차 미션을 진행할 때 주어진 skeleton 코드가 class 형식이었습니다. 저는 평소에 JS class를 사용해 본 적이 없어서 저한테 편한(?) 함수형으로 임의로 변경해서 사용했습니다. 처음에는 이래도 되나? 싶었지만 코드 제출이 잘 되었고 테스트도 무난하게 통과해서 이래도 되나 보다~ 싶어서 그냥 제출했습니다.

우테코 프리코스 참여해 보신 분이라면 다른 분들은 코드 어떻게 작성했나 한 번씩 훑어보시는 거 다 알고 있습니다. 저 역시 당당하게 제출하긴 했지만 혹시나 하는 마음에 다른 분들 코드를 봤더니 전부 클래스로 작성되어 있어서 엎어야 하나? 생각을 했지만 확인했을 때 시간이 이미 너무 늦어서 다음 미션부터 class 쓰자라고 생각했습니다.

3주차 - Lotto

3주 차 미션은 랜덤 로또 생성이었습니다. 우테코에서는 매 주차 미션을 공유하면서 피드백을 제공하는데, 지난 과제 제출 때 아쉬웠던 부분을 복기하면서 해당 사항들을 지키기 위해 노력했던 것 같습니다. 그리고 2주 차에 추가되었던 요구사항에 더해 3주 차역시도 추가로 요구 사항이 있었습니다.

3주 차부터 class를 위주로 코드를 작성했습니다. 뭔가 통일성을 주어야 할 것 같은 개인적인 압박이 없지 않았던 것 같습니다. 이번 미션에서는 객체 위주로 코드를 분리해서 작성했습니다. 테스트 역시 큰 테스트 위주보다는 자잘한 기능 함수 하나하나의 기능을 위주로 테스트를 작성하라 가이드라인이 내려왔습니다. jest의 경우에는 나름 공부를 하고 적용을 한다 해도 손에 완벽히 익은 기술이 아니다 보니 여전히 다루는데 어색함이 많이 있었습니다.

디자인 패턴을 적용시켜 좀 멋있게 폴더를 나누고 코드를 작성하고 싶었지만, 그러한 것들을 모두 염두에 두며 작성하기 쉽지 않았습니다. 나름 JS를 좀 두드렸다 생각했지만 역시 설계가 가장 힘든 것 같습니다.

4주차 - Bridge Games

4주 차 미션은 위/아래 구분을 통해 다리를 끝까지 통과하고, 시도 횟수를 나타내는 문제였습니다. 4주 차 미션에서는 예외 처리가 발생한다면 바로 종료하는 것이 아니라 해당 질문을 다시 받도록 요구를 받았습니다. 또한 스켈레톤 코드 자체에서 제공하는 제약사 항도 추가되었습니다.

그래도 지난 3주간 피드백을 좀 받다 보니 살짝 자신감이 생긴 상태였고 이번 미션은 무엇일까?라는 생각을 가지면서 약간은 설레기도 했습니다. 하지만 문제를 풀수록 설렘은 작아지고 초조함이 커지기 시작했습니다. 생각보다 문제가 풀리지 않았었고 객체 분리가 쉽지 않았습니다.

문제를 풀면서 제일 많은 시간을 쏟았던 것 같습니다. 2주 차 미션을 수행하면서 생긴 나름의 습관은 일단 하드 코딩을 통해 기능만 수행하도록 작성한 뒤 그 뒤에 파일과 함수를 기능에 맞춰 리팩토링 하는 것이었습니다. (그리고 여전히 테스트 코드 작성은 어려웠습니다.)


공통적으로 매 주차 미션을 제출하면서 이번 미션을 수행하면서 겪은 문제와 그것을 해결하기 위해 노력한 나의 학습 과정을 글로써 작성하여 제출했습니다. 매번 작성을 할 때마다 최대한 상세히 작성하려고 노력하였고 매 주차마다 미션을 공유 받을 때 전체 피드백을 제공해 주시는데 해당 피드백과 추가되는 요구사항을 중점으로 학습을 했고 그것들 위주로 작성을 했습니다.

최종 테스트

인생은 운 7기 3이라 했던가. 최종 테스트 시험 안내를 받았습니다. 여기까지 온 김에 진짜 붙고 싶다는 생각이 너무 간절했던 것 같습니다. 시험은 잠실 교육장에서 5시간 동안 봤습니다. 이런 말 하면 안 되지만 전날에 체육관 사람들이랑 송별회 하느라 속이 좀 안 좋았습니다

좀 일찍 도착해서 롯데 타워에서 밥 먹고 1시간 전에 입장해서 심호흡하고 준비를 했던 것 같습니다. 긴장을 했는지 화장실을 계속 갔는데, 화장실 갔다 오는데 시험 안내를 하고 있어서 아차차 싶었습니다. (이후에 시험 볼 때 이동하면 안 되는 줄 알고 다른 사람이 일어날 때까지 화장실 가지 않고 참았습니다.)

최종 테스트 역시 프리 코스와 유사한 형태의 문제가 출제되었습니다. 시험 안내를 할 때 나름 꿀팁을 주셨는데 제출할 때 적어도 굴러가는 쓰레기를 만들어라라는 말씀을 해주셨습니다. 그 말을 가슴에 새기고 문제를 푸는데 처음에는 너무 긴장해서 손이 바들바들 떨릴 정도였습니다.

어느 정도 진정하고 시험을 보기 시작했습니다. 시험 시작 후 3시간 까지는 나름 순조(?)롭게 흘러갔는데, 갑자기 어느 부분에서 오류가 나오더니 그때부터 멘붕이 오기 시작했습니다. 작년에 시험 보다가 새롭게 innerHTML 할 때 등록된 event 들이 모두 초기화되어 1시간 동안 헤매다가 결국에는 기능 구현을 다 하지 못한 기억이 떠오르면서 또다시 손이 떨리기 시작했습니다. ( 결국 insertAdjacentHTML 을 사용하거나, 이벤트 버블링과 캡처링을 사용하면 되는 문제였습니다.)

프리 코스를 할 때는 일주일이라는 시간 동안에 썼다 지웠다 계속 반복할 수 있었지만, 최종 테스트에서는 한정된 시간 안에서 문제를 풀다 보니 심적 압박이 좀 심했던 것 같습니다. 리팩토링 과정에서 마주했던 오류도 해결하고 (함수 참조 에러였습니다. this와 클로저에 대한 공부를 좀 더 해야겠다는 생각을 했습니다.) 테스트 코드도 이전에 작성했던 것들을 참조해서 단위 별로 작성했습니다.

20분 정도 시간이 남아서 소감문 적고 6시에 나가면 사람 많을 것 같아서 5분 남기고 제출하고 나왔습니다. 마음에 들지 않는 부분이 한두 군데가 아니었지만 5시간 안에 할 수 있는 최선을 다했고 후회 없는 코드를 작성하고 왔다는 생각에 집으로 돌아가는 길에 버스 안에 진이 다 빠져서 왔습니다...

최종 결과

합격했습니다... 하... 진짜... 뭔가 2트 만에 성공한 거라 감격이 남달랐던 것 같습니다. 지난 기수에는 12월 초에 시험을 봐서 거의 한 달 내내 마음 졸이며 지냈는데 이번에는 그 기간이 나름 짧아서 다행(?) 이었습니다. 최선의 코드를 작성하고 왔다고 해도 항상 마음을 졸이며 있었고 기대하지 말자라고 생각을 했지만 합격 발표 전날부터 잠이 오지 않고 심지어 아침 일찍 깨서 3시가 되기까지 전전긍긍하며 기다렸던 것 같습니다.

자기 위로를 하기 위해 만약 합격해도 10개월 언제 또 해~ 이런 생각을 마음 한편에 가지며 스스로를 속이고 다른 사람들에게도 그렇게 말했지만, 사실 마음속으로는 너무 간절히 원했던 것 같습니다. 만약 이번에도 떨어졌다면 지난 1년 동안 나는 무엇을 한 가에 대한 자책이 좀 크게 왔었을 것 같습니다.

간절히 원했던 결과인 만큼 그만큼 2월부터 좀 더 열심히 달려야겠다는 생각을 하고 있습니다. 캠퍼스 배치가 아직 나오지 않았기 때문에 이번 1월은 안내가 나오기 전까지 진짜 그냥 푹 쉴 생각입니다.

0개의 댓글