블로그 이미지

ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 우아한테크코스 4기 지원 후기
    Diary/Review 2022. 1. 1. 22:34

    우테코는 우아한형제들에서 주관하는 무료 교육 프로그램이다. 우테코에 대해서는 우아한Tech 유튜브 채널과 우아한형제들 기술블로그를 통해 알게 되었고, 당장 실무에 투입될 수 있을만한 개발자를 양성하는 것이 목적이라는 점과 실제로 수료생들의 결과가 좋았다는 점에 끌려 지원을 하게 되었다. 개발바닥이라는 유튜브 채널에서 우아한 형제들의 개발 팀장이자 Spring 1타 강사 김영한 님의 인터뷰를 보았을 때, 우테코 수료생을 보면 팀에 정말 빨리 기여를 해서 놀랍다는 말을 듣고 더더욱 경험해보고 싶은 교육 프로그램이 되었다. 캡스톤 디자인 프로젝트 때문에 긴 선발 과정을 소화해낼 수 있을까 걱정했지만, 일단 지원하고 미래의 내가 알아서 하겠지 라는 마인드로 자소서를 쓰기 시작했다.


    선발 과정

    우테코는 1차에서 서류와 코딩테스트를 종합적으로 평가해 1차 합격자를 가려낸 뒤, 3주간의 프리코스와 최종 코딩테스트로 최종 합격자를 선발한다. 3주간의 프리코스라는 굉장히 긴 선발 과정이 있다는 것이 특징이다.


    1차 서류 + 코딩테스트

    1차 관문은 서류와 코딩테스트이다. 먼저, 자소서의 문항은 다음과 같다.

    1. 프로그래밍 학습 과정과 현재 자신이 생각하는 역량은?
    2. 프로그래머가 되려는 이유는 무엇인가요?
    3. 마음이 끌리는 무엇인가에 긴 시간 동안 몰입해 본 경험이 있나요?
    4. 우아한테크코스에 참여하려는 이유는 무엇인가요?
    5. Github 혹은 블로그 URL

    사실 몇몇 문항은 추상적이고 생각하기가 쉽지 않은데, 문항을 작성하기 위해 천천히 생각하다 보면 나에 대해 돌아볼 수 있는 계기가 되는 것 같다. 또한, 우테코 서류를 작성하면서 중요하다고 생각하는 부분은 자소서 내용에 대한 증빙이다. 어떠한 프로젝트를 했고, 어떠한 공부를 했는지에 대해 자소서에 적어 놓고 그에 대한 증거가 없으면 아무래도 좋은 평가를 얻지는 못할 거라고 생각된다. 나는 학교 프로젝트와 개인 프로젝트, 인턴 하며 진행했던 프로젝트 경험들을 쓰고, 그 경험을 했을 때 겪었던 기술적 어려움과 해결해 나간 방법을 써 내려갔다. 물론, 모든 프로젝트들은 개인 Github에 저장되어 있었기에 이를 증빙 자료로 제출하였다.

     

    코딩테스트는 7문제를 4시간 동안 풀이하게 된다. 우테코가 채용을 위해 코딩테스트를 보는 것이 아니라 정말 프로그래밍의 기본이 갖추어져 있는지 확인하는 과정이기 때문에 난이도는 그리 어렵지 않다. 7문제 중 1문제는 변별력 문제로 출제되는데, 우테코는 일정 문제 이상을 맞추면 모두 동점이라고 간주하기 때문에 이 문제를 풀기 어렵다면 다른 문제들에 대한 예외 처리를 더 신경 써 완성도를 높이는 게 합격에 가까워지는 방법이라고 생각한다.

    1차 선발 결과

    1차 결과는... 합격이다! 합격했을 당시 굉장히 기뻤지만 한창 캡스톤 디자인 프로젝트에서 개발하는데 바쁠 시기였기 때문에 잘 소화할 수 있을지 걱정이 되긴 했다. 하지만, 아무리 바빠도 어떻게든 하게 돼있기 때문에 다시 미래의 나에게 짐을 넘기고 걱정을 내려 놓았다^^ 

    물론, 프리코스에 시간을 쓸 것을 대비해 개발에 시간을 더 많이 투자해 해당 이터레이션에 끝내야 할 개발에 더해 다음 이터레이션을 추가적으로 미리 개발을 해 여유를 남겨 두었다.

     


    3주간의 프리코스

    프리코스는 3주간 이루어지는데, 각 주차마다의 미션이 출제되고 기간 내에 미션을 제출하면 된다. 프로젝트를 진행하느라 하루 온전한 시간을 다 쏟지 못하는 상황이었기 때문에, 구현해야할 기능 목록을 작성하고 어떻게 구현해야 할 지 설계를 한 뒤, 매일 남는 시간마다 기능을 구현해 미션을 수행하였다. 각 주차의 미션이 완료될 때마다 공통 피드백이 주어지는데, 이 피드백을 보면서 많은 깨달음을 얻을 수 있다. 원래 지키고 있던 부분도 있었지만, 생각지 못한 부분도 있었고, 내가 지키고 있다고 생각한 것을 다시 보니 엉터리였다는 것을 알기도 했다. 3주라는 기간이 단순히 우테코 합격을 위한 선발 과정이 아니라, 많은 부분을 배워 나갈 수 있는 말 그대로 pre-course 라는 것을 느꼈다. 특히, 코드를 작성할 때 제약사항으로 메소드는 한 가지 일만 수행해야 된다 던가, 한 메소드의 라인은 15라인이 넘지 않아야 한다던가 하는 로버트 C. 마틴의 클린 코드에 대한 내용을 직접 수행해보는 것이 굉장히 값진 경험이었고, 이를 습관으로 만들 수 있는 시간이었다. 실제로, 프리코스를 진행하며 배운 것을 캡스톤 디자인 프로젝트를 진행하며 적용 시켜보는 것이 또 하나의 재미였다고 생각한다. 그렇게 3주간의 미션이 끝나고 최종 코딩테스트를 보게 된다.


    최종 코딩테스트

    최종 코딩테스트는 프리코스에서 했던 미션과 비슷한 문제를 5시간이라는 시간 내에 구현해야 한다. 최종 코딩테스트를 보기 며칠 전에, MVC 패턴을 더 잘 적용시킬 수 있는 방법을 찾던 중, 인프런의 CTO 향로님의 기술블로그에서 일급 컬렉션(First Class Collection)에 대해 알게 되었다. 이를 적용시키면 더 이상적인 코드가 될 것이라고 생각하여 최종 코딩테스트날에 적용하였는데... 나의 가장 큰 실수였다. 새로운 설계 방법을 적용시키려면 많은 연습이 필요한데, 나는 그만큼 연습 하지도 않고 5시간이라는 시간 내에 많은 기능을 구현해야 하는 테스트에서 그걸 적용시켜 버린 것이다. 당연히 평소 설계를 하던 것보다 더 시간도 오래 걸렸고, 기능도 다 구현하지 못하고 객체지향적으로 코드를 작성하지도 못하였다. 내 흑역사로 남을만한 코드라고 생각한다. 그렇기 때문에 나는 당연히 불합격할 것이라고 생각하고 마음을 놓은 채로 22년 상반기 취업을 준비하기 위해 공부할 책도 주문하였다. 그렇게 최종 합격자 발표날이 왔고, 기대를 하지 않고 있었는데...


    최종 합격

    최종 합격 메일

    최종 합격을 하게 되었다. 합격 메일을 받고 이게 무슨일인가 싶었다. 마음을 가라 앉히고 생각해 보니, 최종 코딩테스트로 모든 것을 판단 하는게 아니라, 서류와 프리코스 그리고 최종 코딩테스트까지 종합적으로 판단하여 선발했다는 것을 알게 되었다. 최종 코딩테스트를 망쳤다고 생각한 나에게는 정말 행운같은 일이였다. 정말 참여하고 싶었던 프로그램이기 때문에 굉장히 기뻤고, 10개월이라는 긴 교육 기간으로 졸업과 취업이 늦어지긴 하지만 그만큼 가치있는 시간이 될 것이라고 생각한다.

     

    방학동안 할 인턴을 구해놓은 상태였는데 우테코 교육이 2월부터 시작이기 때문에 회사와 조율을 먼저 해야할 것 같다!

    댓글

Designed by Tistory.