Activity/우아한테크캠프 4기

우아한테크캠프 4기 최종 합격 후기

Hov 2021. 6. 25. 13:59

우아한 테크캠프 4기 포스터

이 글은 후에 다가오는 우아한 테크캠프를 준비하시는 분들께 도움이 되었으면 하는 의미에서 작성한 글입니다. 저작권 때문에 문제를 알려드릴 수는 없지만, 개인적으로 어떻게 준비를 했는지 최대한 자세하게 작성을 해보겠습니다.

서류 접수

지난 4월 말에 배달의 민족 기술 블로그에 글 하나가 올라왔다. 내가 그토록 기다리던 우아한 테크캠프 4기의 모집이 시작된 것이다. 게임 개발자에서 웹 개발자로 전향한 내게 있어서 큰 전환점이 될 것 같아 바로 지원을 했다.

우테캠에 지원하게 된 세가지 이유는 아래와 같다.

1. 좋은 프론트엔드 동료 개발자들과의 협업 기회
  - 지방에 게임 개발자로 살면서 가장 큰 갈증을 느낀 부분이다. 주변에 웹 개발자가 없었고, 때문에 코드리뷰를 하거나 다양한 기술에 대한 의견을 공유 할 사람이 없었다. 이번 캠프를 통해 좋은 동료들을 많이 만날 수 있을 것 같아 너무 기대가 됐다.
2. 시니어 멘토링
  - 혼자 인터넷과 책을 통해 공부를 하다 보니, 같은 지식을 다르게 설명하는 경우가 많았다. 새로운 기술을 배워도 이렇게 쓰는게 맞는지 내 스스로 의구심을 많이 가지기도 했다. 그래서 지식을 쌓아 나가는 데에 있어서 현업에 계시는 개발자님들의 의견과 도움을 받고 싶었다.
3. 우아한형제들 채용의 기회
  - 창업을 관두면서 성공한 회사의 프로세스를 겪어 보고싶었다. 그리고 현 IT기업에서 가장 성공한 기업 중 하나인 우아한 형제들으로의 채용 기회도 있기에 정말정말 열심히 해서 꼭 좋은 결과를 만들고 싶다!

서류전형에는 총 4개의 항목이 있었는데, 개발자로써의 자질, 지원 동기, 공부 습관, 협업 능력 등 모두 우아한 테크캠프의 좋은 참가자가 될 수 있을지를 확인하기 위한 질문들 같았다. 포트폴리오는 노션 링크로 첨부했다.

* 서류는 대부분의 지원자가 통과하는 항목으로 보이지만, 면접에서 내용과 관련된 질문을 할 수 있으니 최대한 꾸밈없이 솔직하고 성실하게 작성했다. 그리고 포트폴리오는 선택이라고 쓰여 있지만 필수다!


1차 코딩 테스트

총 4문제를 150분 동안 푸는 테스트였다.
테스트 전 약 일주일 간 하루에 두 문제씩 프로그래머스 Level2 문제를 풀었고, 바로 전날에는 카카오 인턴십 기출문제 세트를 주어진 시간동안 풀어보는 연습을 했다.

시험 당일, 첫 문제를 보자마자 교육과정이라고 생각했기에 우습게 생각했다가, 생각보다 난이도가 있어 놀랐다. 일반적으로 첫 문제는 프로그래머스에서 Level 1 단계 정도로 10 ~ 20분이면 푸는 문제로 나오는데, 첫 번째 문제에서 30분 ~ 40분 정도 걸렸던 것 같다. 

시간이 좀 지나서 자세하게 기억은 안나지만 개인적으로 체감상 프로그래머스 Level 2의 중간 난이도 2개, Level 2 어려운 난이도 1개, Level 3 1개 정도의 문제들이었고, 정렬, 완전탐색, BFS, DFS등의 유형이었던 것 같다. 나는 1, 2, 3번을 풀고 4번을 풀다가 제출했다. (1, 2, 3번도 예외처리 때문에 다 맞았는지는 모르겠다.) 4번은 진짜... 정말 어려웠다 ㅜㅜ

( 나와 함께 우테캠을 준비하시던 동료분은 두 문제를 풀고 제출했다고 하셨는데, 아쉽게도 떨어지셨다. 아마 3문제를 풀어야 안정권인 것 같고, 2문제를 풀고 제출했다면 테스트 케이스에서 완벽하게 통과해야하는 듯 하다. )

* 다른 코딩 테스트와 같이 테스트 케이스는 몇개 주어지지 않는다. 때문에 가능하면 모든 문제를 풀려고 하기보다는 적어도 내가 확실하게 풀 수 있는 문제들에 대해 다양한 예외처리 테스트를 꼼꼼히 해 나가며 푸는 것이 좋은 것 같다.


2차 과제 테스트

 2차 과제 테스트는 운도 좋았지만, 프로그래머스 과제관의 도움을 정말 많이 받았다. 기존에 과제 테스트 경험에서 요구하는 기능을 모두 구현했음에도 불구하고 모두 결과가 좋지 않았는데, 프로그래머스의 과제를 응시해보니 왜 떨어진지 알 것 같았다. Vanilla JS로 웹 앱을 만들때 컴포넌트들이 어떤 구조로 이루어 져있는지 체험을 할 수 있었고, 2차 과제 테스트 전까지 반복 연습을 통해 이 구조를 익히는데 힘썼다. 덕분에 우테캠 2차 과제의 기본 구조를 이해하는데 한 층 수월했었다. (혹시 이 글을 읽는 분들 중 2차 과제를 준비중인 분이 있다면 프로그래머스 과제 테스트를 꼭 해보시길 권한다)

과제 테스트는 총 4시간 동안 이루어졌다. 사전 공지대로 과제는 Vanilla JS(ES6+) 또는 TypeScript를 활용해서 풀어야 했고 다른 외부 라이브러리나 웹프레임워크는 사용할 수 없었다. 그리고 여느 과제와 같이 API 호출을 통해 받은 데이터를 테이블로 나타내는 과제였다. 테이블은 이번 과제에서 처음 사용해 봤지만 다행히 크게 어려운 점은 없었다.

사실 과제테스트는 붙어 본 적이 없었고, 필수 구현 사항을 모두 구현하지도 못해써 합격할 수 있을지 정말 반신 반의 했는데, 정말 운이 좋았던 것 같다. 시험을 치고 약 2주(18일) 뒤에 합격 메일을 받고 서울 쪽으로 큰 절을 올렸다.

* 나는 필수 구현사항을 우선적으로 구현 하고 (사실 하나는 구현을 못했다) 컴포넌트 단위의 재사용 가능한 코드를 짜는데 신경을 썼다. 다른 후기들을 보니 필수 구현사항을 모두 구현하지 못하더라도 합격한 경우가 있다고 하니, 아무래도 필수 구현사항을 짜는 것도 중요하지만 코드 스타일을 더 중요하게 보는 것 같다.


면접 심사

2차 과제 합격 후 면접까지 약 2주의 시간이 있었다. 코로나19 로 인해 면접은 구글 행아웃을 통해 비대면으로 이루어 졌다. 우테캠 3기 후기글을 엄청나게 찾아 보았는데 대부분의 포스팅에서 JS 관련 지식이나 완전 깊은 지식을 요구하는 질문은 보다는, 프로젝트에 대한 질문과 개발에 대한 열정과 의지를 많이 본다고 해서 그동안 했던 프로젝트를 블로그에 정리해가며 이 기술을 왜 썼는가를 중점으로 준비를 했다.

면접 전 3일 정도는 예상 질문과 답변을 정리하고 주위에 친구들이나 선배 등과 직접 만나 면접 시뮬레이션을 많이 해봤다.

면접 당일, 스터디룸을 빌려 구글 행 아웃으로 비대면 면접을 진행 했는데, 심사 하시는 분은 코드스쿼드 측이 아닌 우아한형제들 직원분 두 분이 들어오셨다. 그래서 그런지 면접은 내 예상과 달리 단순히 우테캠을 통해 좋은 개발자로 성장할 수 있는 사람이 아닌, 2달 사이에 성장해서 우아한 형제들에 채용이 될 만한 좋은 인재를 뽑는 과정이라고 느껴졌다.

면접은 30분 정도 진행했는데, 역시나 전문적인 지식 보다는 공부하는 습관에 대해서 많이 보는 것 같았고 프로젝트과 관련된 질문을 포함해서 협업과 경험을 구체적으로 물어보셨다. 심지어 마지막에는 배달의민족 서비스에 대한 질문도 받았다.

마지막에 내가 면접관들에게 질문하는 시간이 있었는데, 우아한형제들이 원하는 동료상에 대해 질문을 드렸다. 면접관님께서는 프로그래밍 실력도 중요하지만 협업능력을 더 중요하게 본다고 말씀 해 주셨고, 뒤 돌아 생각해보니 협업을 좋아하고 자신있다고 강조했던 부분이 좋은 점수가 되지 않았을 까 싶다.

*  면접을 준비할 때 (시간이 없다면) 너무 깊은 지식까지 파고 들어서 준비하는 것 보다는, 프로젝트 리뷰, 인성 면접 위주의 질문을 준비하는 것이 좋을 듯 하다. 물론 다음 기수에는 어떤식으로 면접이 이루어 질 지 모르니 기초 지식도 한번쯤은 훑어 보고 가길 바란다.


합격 통보

합격 당일, 1시부터 한시간마다 메일을 확인했 던 것 같다. 카페에서 공부를 하던 중에 5시 쯤 결국 합격 메일을 확인하고서 입을 막고 소리를 질렀다 (내적 환호). 정말 합격 할 줄 몰랐는데 운이 좋았던 것 같다 😂. 교육과 함께 나의 서울살이가 시작될 예정이다. 너무너무 설레고 떨린다. 앞으로 우테캠 교육을 받으며 열심히 정리하고, 공부해서 채용까지 될 수 있도록 최선을 다 해야겠다!