터벅터벅 나의 일상/회고 & 후기

[우아한테크코스] 우테코 백엔드 5기 최종 합격 후기

vㅔ로 2022. 12. 29. 23:20
728x90

탈락하고 나서는 후기를 못 쓸 것 같았는데, 다행히 합격해서 후기를 남긴다.

아무래도 개인적인 이야기다 보니, 읽으시는 분들도 이 글이 정답이라고 생각하지 않으셨으면 좋겠다.

 

우아한테크코스를 신청했던 계기

우테코에 대해서는 예전부터 들어왔었다. 처음 알게 된 건 1학년 말이었던 것 같다. 

 

우테코 지원 페이지를 보면서 내가 학년이 올라가면 저기에 지원할 수 있을까? 라는 생각을 했었다.

 

그때는 내가 실력이 모자라다 생각했고, 어차피 떨어질 거라 생각했다. 그래서 지원하지 않았다. 무엇보다 학업도 마음에 걸렸다. (2학년 때 휴학하기는 싫었기 때문에)

특히 이 페이지였다. 내가 저 항목들에 답변할 수 있을거라는 자신이 없었다.

그러다가 올해 10월에 우연히 다시 우테코 5기 모집 공지를 보게 되었다. 어디였는지도 기억나는데, 동기와 함께 6피 팀플실에서 나중에 뭐 할 지 이야기 하다가 발견해서 이번에는 꼭 지원해보겠다고 호기롭게 도전했다.

 

1학년 때와는 마음이 달랐다. 그때는 시도도 해보지 않아 내가 얼마나 부족한지 몰랐지만, 이번에는 떨어져도 좋으니 후회할 일을 만들고 싶지 않았다. 3학년이 되니 1~2학년 때 지레 겁먹고 하지 않았던 일들이 미련으로 남아서 더 그랬던 것 같다.

 

자기소개서

나는 자기소개서를 잘 못 쓰는 편이다. 글을 쓰는 건 좋아하지만 자기소개서 형식으로 맞춰 글을 쓰는 건 항상 어려웠다. 그나마 우테코에서 바라는 자기소개서가 내 글 스타일과 잘 맞아서 합격의 요소가 되지 않았나 싶다.

 

1. 프로그래밍 학습 과정은? (1000자 이내)

실제로 책으로 학습하기 보다는 프로그램을 만들어보면서 학습해왔다. 1학년 때 java도 모르면서 해커톤에 나가서 앱을 만들고, 거기에서 부족함을 느꼈던 부분을 더 공부했다고 적었다. 내 경우 지금까지의 프로젝트가 모두 안드로이드 프로젝트였기에, 마지막 부분에 왜 백엔드를 선택하여 지원했는지도 적었다.

 

2. 프로그래머가 되려는 이유는 무엇인가요? (1000자 이내)

내가 불편한 것을 해결하는 사람이 되고 싶었고, 나에게 필요한 것을 만들고 즐겁게 개발하는 것을 좋아한다. 코로나 학번이라 대면 밥약을 해본적이 없어서 동아리 해커톤에서 밥약을 잡을 수 있는 플랫폼 앱을 개발했던 경험을 적었다. 글의 말미에는 앞으로는 어떤 프로그램을 만들고 싶은지에 대한 내용도 추가했다.

 

3. 마음이 끌리는 무엇인가에 긴 시간 동안 몰입해 본 경험이 있나요? (1000자 이내)

ZeroPage에서 1년간 동아리 회장을 했던 경험을 적었다. 그 시간은 온전히 동아리를 위해 보낸 시간이었고, 어떻게 하면 참여활동을 높일 수 있을지, 비대면 시국에서 잘할 수 있는 행사들이 무엇인지 고민했던 이야기를 썼다.

 

4. 우아한테크코스에 참여하려는 이유는 무엇인가요? (500자 이내)

깊은 지식에 대한 이야기를 썼다. 지금까지의 내 회고를 보면 항상 얕은 지식에 대한 고민이 있었다. 열정적인 다른 사람들과 다양한 가능성이 있는 여러 방법을 이야기하면서 깊은 지식을 쌓고, 함께 성장하고 싶어 지원하고 싶다고 적었다.

 

자소서에 언급된 모든 프로젝트와 활동에 대한 증빙 서류, 블로그 링크를 노션에 정리하여 링크로 제출하였다.

자기소개서로 붙을 거라고는 기대 안 해서, 지원 마감일 전 날 하루 동안 그냥 최선을 다해서 썼다.

 

프리코스

3학년 2학기라 많이 바빴다. 캡스톤, 팀플, 시험 ... 프리코스를 포기하고 싶었던 순간들은 수없이 많았다. 특히 5기 프리코스는 모든 사람에게 기회를 주고, 4주간 진행되었기 때문에 더욱 기간에 대한 압박이 심했다. 1달간 나는 캡스톤과 캡스톤급 프로젝트, 주간 과제를 하고 있었기 때문에, 프리코스 과제에 할애할 수 있는 시간은 많아봤자 3일 남짓이었다. 배운 것도 많았지만 학기 중에 따로 프리코스 회고를 남기지 못할 정도로 바빴다. 그렇지만 나는 내가 할애할 수 있는 시간 안에서 최선을 다했다고 말할 수 있다.

 

1주차 프리코스는 단순한 알고리즘 문제지만 양이 많아서 시간을 꽤 할애했다. 관련 요구사항이 명시되어 있지 않아 일부러 클래스를 분리하지 않고 구현하였다.

2주차 프리코스는 야구 게임이었다. 2주차부터 소프트웨어 공학 시간에 배웠던 MVC 패턴을 사용해서 구현했다. 난이도 자체는 어렵게 다가오지 않았지만, 클린코드 규칙, 객체지향을 지키며 설계하는게 쉽지 않았다.

3주차 프리코스는 로또 게임이었다. 2주차까지는 상수만 사용해서 구현했는데 3주차 부터는 enum을 적극적으로 활용하기 시작했다. 많은 if 문이 지저분했었는데, enum을 사용하니 깔끔한 코드가 되어 만족스러웠다. 2주차보다 stream을 다양하게 사용했다. 제출 2시간 전에 테스트를 통과하지 못해 당황했었는데, try catch를 사용해 에러를 처리하는 것을 뒤늦게 알아채서 알맞게 제출할 수 있었다.

4주차 프리코스는 다리 건너기 게임이었는데, 2~3주차 프리코스와 착각한 나머지 에러 메시지를 구현하고 다시 입력을 받는 요구사항을 구현하지 못했다. 메소드 라인이 10줄 이하로 구성하라는 요구사항이 함수를 어떻게 분리해야 할 지에 대한 고민을 더 해보라는 것처럼 느껴졌다. 다른 사람이 읽기 쉬운 코드, 명확한 논리로 동작하는 코드를 만들고 싶어서 항상 어떻게 하면 더 나은 코드를 쓸 수 있을지 고민했던 시간이었다. 

 

사실 2~4주차의 과제들이 내가 과외에서 냈던 과제들과 내용과 비슷하기도 했고, 나에게는 오히려 과제 형식이 익숙해서 빠르게 구현할 수 있었던 것 같다. 4주차의 실수 때문에 프리코스 합격은 물 건너 갔구나 싶었는데 1차 합격을 하게 되어서 의외였다.

 

최종 테스트

최종 코딩테스트를 봤던 곳

토요일 날 최종 코딩테스트가 있었는데, 월요일에 컴퓨터 통신 기말고사가 있어서 최종 코딩 테스트 준비는 따로 하지 못했다. 지금까지의 프리코스와 동일하게 나온다고 해서 크게 걱정하고 가지는 않았지만, 전날에는 좀 떨렸다. 오히려 당일 날 더 덤덤했던 것 같다. 이어폰을 끼고 해도 된다고 해서, 프리코스 했을 때처럼 노래를 틀고 코딩했다. 긴장도 풀리고 더 잘 되는 것 같았다.

 

포비가 자기소개서에서 울림이 있었던 사람들을 뽑았다고 하셔서 조금 놀랐다. 생각했던 그대로 솔직하게 썼는데 내가 자기소개서를 적으면서 생각했던 것들이 평가관들에게도 와닿은 것 같아서 감사했다. 

 

저번 기수까지는 최종 코딩 테스트 난이도가 훨씬 더 어려웠다고 해서 조금 걱정이 됐었는데, 체감상으로는 프리코스 4주차보다 훨씬 쉽게 느껴졌다. 3시간 정도 할애해서 기능 구현은 마무리 지었다. commig log는 이전에 하던 것과 동일하게 진행했고(영어 commit 대신 한글로 쓰긴 했다..ㅋㅋ), 최종적으로 약 80개의 커밋을 남겼다.

 

다만 3시간 동안 ApplicationTest를 돌리지 않고 머리 속에서 생각나는대로 코딩했는데, 테스트를 돌리니 에러가 나서 당황했다. 찬찬히 에러를 살펴보니 내가 구현한 방식과 테스트에서 구현하기를 바라는 방식이 달라서 일어나는 문제였다. 해결이 어렵지 않아서 30분 만에 해결할 수 있었다. 시간이 조금 남아서 입력 테스트까지 작성하고, 기능 구현이 빠진 부분들을 추가로 보강하고 제출했다. 

 

전날에 다른 사람들은 다시 입력 받는 걸 어떻게 구현했나 싶어서 4주차 pull request를 둘러보고 갔었는데, 재귀를 사용해서 다시 입력 받는 건 생각지도 못한 해결 방법이라 최종 테스트 때 꼭 써야겠다고 생각했다. (실제로 잘 써먹었습니다) 잘하시는 분들이 많아서 프리코스 때부터 코드에서 많이 배울 수 있었다. 

 

5시간의 짧은 시간동안 작성한 코드라 부끄러운 부분이 많다. 여전히 객체 사이의 의존성과 결합도는 어떻게 잘 컨트롤할 수 있을지 확실히 와닿지 않는다. 최종 코딩 테스트 코드는 아래 링크에 남겨두겠다.

https://github.com/Cyma-s/java-menu/tree/Cyma-s 

 

GitHub - Cyma-s/java-menu

Contribute to Cyma-s/java-menu development by creating an account on GitHub.

github.com

5시간 동안 마냥 재밌었다 ㅋㅋ 시험 기간이라 코딩을 할 시간이 없었어서 더 그랬던 것 같다. 아무런 생각 없이 프로그램 만드는 시간이 그리웠어서 부담 없이 즐겁게 테스트 보고 왔었던 기억이 난다.

 

최종 합격

다들 올리길래 나도 올려본다

합격하지 않았다면 아마 이 글을 못 썼을 것 같다. 아직 옹졸한 마음(?) 때문에 실패한 걸 내어놓고 말하기 힘든데, 합격해서 이렇게 풀어놓고 이야기할 수 있어서 다행이다. 사실 고민이 많았다. 원래 휴학 기간 동안 소마에 도전해볼 생각이었는데, 생각치 못하게 우테코에 합격하게 되어 계획 변경이 이루어질 듯 하다. (아마도 우테코와 소마 모두 떨어졌다면 지피 사람들과 스터디를 만들어서 휴학 기간 내내 스터디 했을 것 같다.)

 

우테코를 합격하고 나니 뭔가 증명 받는 느낌이었다. 지금까지 해 온 것들이 틀리지 않았고, 잘 나아가고 있다는 증명. 1차 합격 때도, 최종 합격 때도 비슷한 기분이다. 그렇다고 자만하지는 않는다. 나는 아직 부족한 것이 많고, 알아야 할 것도, 깨달아야 할 것도 많기 때문이다. 아직 그 정도 실력이 되지도 않는다...

 

1년간 할 일이 생겨서 묘한 안심이 들기도, 여전히 내가 잘하고 있는게 맞나 싶기도 하다. 아직도 내가 가는 길에 확신이 없고, 자신감이 없다. 다른 사람들이 인정하는 객관적인 성과를 내도 내 스스로 인정하기가 쉽지 않다. 나에게 인정 받는 것이 제일 어려운 과제 같다. 

 

내년부터는 조금 더 확실한, 건강한 마음 가짐을 갖고 살아가고 싶다. 파이팅!

728x90