We will find a way, we always have.

-interstellar

우아한테크코스

[우테코] 프리코스, 최종 코테 및 최종 합격 후기 (백엔드)

Redddy 2024. 1. 2. 01:46

우테코 6기에 지원하여 최종합격하고 난 후 작성하는 글이다.

 

(이녀석 프리코스 진행할 때는 회고록도 안쓰더니)

(하지만 프리코스 때에는 미션하기도 벅찼는걸)

 

전체적인 과정을 쭈욱 돌아볼 계획이다.


 

자소서

5기때와 자소서 문항이 변경되었지만 묻고자하는 본질은 비슷했다.

스터디를 하면서 피드백을 주고 받았고, 찐최최최최종본을 연락하고 지내는 국어선생님께 부탁하여 마지막 피드백을 받았다. 

최종 제출 마감일이 10월 16일 월요일 10시까지였는데, 일요일 새벽까지 술마시다가 술기운을 빌려 새벽 3시 9분에 제출하였다. 🍻

 

 

 

1. 효과적인 학습 방식과 경험 (1000자 이내)

프로그래밍 학습을 하고 장기간 개발자로 살아가기 위해, 본인만의 효과적인 학습 방식을 찾는 것은 매우 중요합니다. 프로그래밍이 아니더라도 지금까지의 모든 학습 경험을 되돌아봤을 때, 본인에게 유용했던 학습 방식을 찾아낸 과정과 경험을 공유해 주세요. 그리고 이 경험은 현재 본인의 프로그래밍 학습 과정에 어떻게 적용되고 있나요?

 

질문 주도 개발이라는 키워드로 스터디나 강의를 들을 때 어떤 식으로 학습하였는지를 작성하였다.

 

 

2. 성장 중 겪은 실패와 극복 (1000자 이내)

좋은 개발자가 되려면 성장 과정에서 많은 실패와 어려움이 기다리고 있습니다. 나의 성장을 위한 경험 중 실패나 어려움을 해결하기 위해 어떤 시도를 했고 여기서 얻은 배움은 무엇인가요? 그리고 이런 경험이 현재 여러분의 성장 방식에 어떤 영향을 주고 있는지 이야기해 주세요.(혼자 겪은 경험도 좋고, 타인과 함께한 협업과정에서의 실패와 어려움도 좋습니다.)

 

 

백준을 풀다가 코드포스를 시작했을 때, 잘하고 싶은데 원하는 실력이 나오지 않아 고민이 많았다. 이를 극복해나가는 과정을 작성하였다. 

 

 

3. 오랜 시간 몰입했던 경험 그리고 도전 (1000자 이내)

진정한 몰입은 즐거움과 동시에 성장을 이끌어냅니다. 여러분이 오랜 시간 동안 주도적으로 몰입했던 경험은 무엇이었나요? 그 과정에서 어떤 도전을 마주했고, 이 경험으로 무엇을 배우고 얻었는지 '구체적으로' 이야기해 주세요.(반드시 소프트웨어에 대한 경험이 아니어도 괜찮습니다. 만약 몰입한 경험의 결과물을 함께 보여주실 수 있다면 더 좋습니다.)

 

 

아무래도 우테코 측에서 자소서에서 제일 중요하게 보는 항목일 거 같다. 역시 나도 제일 공들여서 작성하였다.

1년 동안 "자기 자신과의 싸움"을 주제로 머리는 큐브, 몸은 마라톤, 마음은 첼로 연주 이렇게 3가지 분야로 나눠 프로젝트를 진행한 경험이 있는데 이를 풀어썼다. 아니 압축하여 작성했다.

 

 

4. 원하는 프로그래머 모습 (1000자 이내)

여러분이 되고 싶은 프로그래머의 모습은 무엇인가요? 그 모습에 가까워지기 위해 현재 어떤 구체적인 노력을 기울이고 있는지 알려주세요. 여기에 더해 만약 우아한테크코스가 없다고 가정한다면 어떻게 성장해 나갈 것인지도 함께 이야기해 주세요.

 

개인적으로 가장 어려웠던 문항이다. 내가 되고 싶은 프로그래머의 모습은 다른 사람들에게 도움이 되는 프로그래머였다. 그리고 아이돌 덕질을 하면서 같이 덕질하는 사람들의 불편을 해소했던 점들을 작성하였다. 게시판 알림봇을 만들어 빠르게 소식을 접할 수 있도록 도와주거나, 원클릭 슴리를 만들어서 더욱 손쉽게 스밍할 수 있도록 도왔던 경험을 써내려갔다.

(덕질도 인생에 도움이 된다구욧 여러분:))

 

그리고 설명글에 있는 '만약 우아한테크코스가 없다고 가정한다면 어떻게 성장해 나갈 것인지' 이 부분에는 고민을 많이 하다가 내가 작성한 자소서의 내용을 쭈욱 요약하여 그렇게 성장해 나갈 것이라고 적었다. 

 

 

 

그리고 증빙 관련 자료를 첨부할 수 있는 부분도 있었다. 만들었던 알림봇 플젝이나 원클릭 슴리 사이트 등도 같이 첨부할까하다가 3번 항목에서 '몰입한 경험의 결과물'만 요구하여서 다른 것들은 제외하고 자신 자신과의 싸움을 주제로 진행하면서 작성했던 보고서와 첼로 연주 영상을 제출하였다. 

 

 


 

프리코스

총 4주동안 4개의 미션이 나가는데, 1,2,3 주차는 이전 기수와 같거나 혹은 비슷한 수준의 난이도의 미션이 주어진다. 예를 들면 로또, 숫자야구게임 등등, 그리고 4주차에는 새로운 미션이 주어지는데, 이번 기수에는 제출 방식도 달랐었다.

 

포크 후 풀리퀘스트를 작성하는 방식이 아닌, 비공개로 만들고 컨트리뷰터에 우아한테크코스 계정을 추가하는 방식이었다. 

 

 

프리코스 꿀팁

 

  1. 미션의 요구사항 꼼꼼히 분석하기
  2. 구현의 실수가 없는지 테스트케이스를 통해 확인하기
  3. 소감문 작성시 미션을 진행하면서 느꼈던 점들 솔직하게 작성하기
  4. 피어리뷰 적극적으로 하여 피드백 받기
  5. 다른 사람들의 코드에도 리뷰해보기

 

프리코스의 최대의 장점은 같이 성장할 수 있다는 것이다. 매주 불명확한 요구사항으로 가득찬 미션을 가지고 서로의 의견을 묻고, 또 나의 의견을 피력해보는 의미있는 시간이었다. 

 

피어리뷰할 때 실력이 너무 차이나는 사람들끼리 하면 어떻하냐는 질문이 있었는데, 그런 경우 코드를 보고 생기는 질문들을 남겨줘도 좋다고 생각한다. 다른 사람이 남겨준 질문으로 인해 다시 한번 생각해보는 계기가 되고, 또 이를 설명하기 위해 스스로를 정리할 수 있는 좋은 기회가 되기 때문이다. 

 


최종 코딩테스트

 

최종 코딩테스트는 프리코스와 비슷한 형식으로 진행되지만 가장 큰 차이점은 바로 시간이다. 

프리코스는 한 미션당 일주일의 시간이 있었지만 최종 코딩테스트는 5시간으로 매우 짧다. 

 

전략을 잘 세워야 한다. 프리코스가 끝나고 1차 합격자 발표때까지 한달정도의 시간이 빈다. 그리고 12월 11일 월요일에 합격자를 발표하고 12월 16일 토요일 그주 토요일에 최종 코딩테스트르 보았다. 다시 말해 1차 합격자 발표 후 최종 코딩테스트까지 준비 시간이 길지 않기 때문에 프리코스 끝나고 난 후의 한달을 알차게 보내야 한다. 

 

하지만 그게 쉽지 않다. 한달동안 열심히 준비해도 1차에서 떨어진다면 말짱도루묵이 되어 버린다는 불안감이 쉽게 떠나지는 않는다. 그래도 어쩐담 해봐야지.

 

프리코스 미션과 이전 기수의 미션들을 5시간 제한을 두고 풀어보는 연습이 중요하다.

 

최종 코딩테스트는 오프라인으로 치뤄지는데, 오픈북, 인터넷, 채찍피티 전부 허용한다. 

 

나는 템플릿을 준비해가서 유용하게 사용하였다.

 

사실 미션을 여러번 진행하다보면 비슷한 로직들이 눈에 띈다. 예외시 [ERROR] 를 출력한다거나, 입력 오류시 옳바른 값을 받을때까지 다시 입력받는다거나, ','로 구분하여 받는다거나 등등등 이런 것들을 모아서 템플릿을 만든다면 시간을 좀더 줄일 수 있을 것이다. 

 

나의 템플릿이 궁금하다면,,

 

템플릿코드

 

GitHub - reddevilmidzy/java-template: 미션 템플릿

미션 템플릿. Contribute to reddevilmidzy/java-template development by creating an account on GitHub.

github.com

 

 

그리고 최종 코딩테스트에서 명심해야하는 점은 객체지향적이지만 돌아가지 않는 코드보다는 돌아가는 쓰레기가 더 낫다는 점이다!!

 

일단 테스트코드 통과 그리고 놓친 요구사항이 없는지를 우선적으로 확인한다음 리팩토링과 테스트코드를 작성하도록 하자.

 

 

 

 

수고많았어. 이제 더 힘내보자.