안녕하세요, 헌치입니다!😉
이번 4기에 합격하게 되면서, 관련 리뷰를 요청하시는 분들이 계시고
저도 기록으로 남기고 싶어 이렇게 글을 씁니다.
지원 및 프리코스 기간 동안 막막하고 궁금한게 많으실 5기 이후 기수 지원자 분들에게 도움이 되었으면 합니다!
우아한테크코스 익명 커뮤니티 '속닥속닥'에서 5기를 위한 예비 크루 게시판
을 오픈했습니다!🎉
https://sokdaksokdak.com/board/5
우테코와 관련된 질문, 잡담을 자유롭게 올려주세요! 기존 기수들의 정성어린 댓글과 관심을 드리겠습니다😄
온라인 설명회 영상을 보면
전공자 여부나 부트캠프나 국비 과정 수강 경험이 메리트가 되진 않을 것 같습니다.
코스 안에서 배우는 것들과 중복될 수도 있고, 균등한 기회를 위해서입니다.
우테코에서 원하는 인재는 완성되고 이미 코딩을 잘하는 사람이 아닌, 발전가능성이 있고 프로그래밍을 향한 열정이 있는 사람인 것 같습니다.(적어도 설명회에 따르면 그렇습니다.)
만약 저처럼 프로그래밍 입문 후 기간이 길지 않으시더라도(6개월~1년) 겁먹지 마시고 솔직하게 작성해주시면 메리트가 될 것 같습니다.
역량 부분도 기술스택에 관련된 것 뿐 아니라
정성적 요소들(끈기, 집중력, 지적호기심...) 들도 증명 가능한 예시들과 함께 제출해주시면 좋은 평가를 받을 수 있을 거라 생각합니다.
프로그래머가 되려는 이유는 지원자들마다 큰 차이가 없습니다.
(취업을 위해, 적성에 맞아서, 성취감 등...)
그래서 저의 경우 프로그래밍을 통해 세상이 어떻게 변할 것인지, 기술로 세상에 어떤 기여를 할 수 있는지 고민했던 것을 녹여 작성했습니다.
또한, 설명회에서 프로그래밍으로 만들고 싶은 소프트웨어 영역을 꼭 작성하라 했던 것으로 기억합니다.
어떤 비전을 갖고 있는 사람인지 역시 중요한 평가요소일 수 있을 것 같습니다.
되도록 10개월 이상의 긴 시간동안 했던 경험을 쓰면 좋을 것 같습니다.
그리고 설명회를 보면, 다른 분들이 했을 경험들(게임, 연애, 수험생활, 운동 등)이라면 특별한 성과가 있는게 아닐 시 크게 어필이 되지 않는 것 같습니다.
(물론 세계 대회를 나갔거나, 글을 맛깔내게 쓰셨거나 3대 500을 찍었다면 얘기가 다를 수는 있을 것 같습니다. 그런 사례로 1차 합격하신 분들은 몇 분 계셨습니다.)
또한 비개발적 영역이라도 상관없다고 생각합니다.
저의 경우 게임 개발 프로젝트에서 그래픽, 사운드를 담당했습니다. 프로그래밍 관련 경험은 아니었습니다.
만약 다음 기수 지원을 고려하시는 분이 계신다면 지금부터 라도 자신만의 몰입 경험을 만들어가시면 좋을 것 같습니다!
우테코에서는 어떤 사람을 참여시키고 싶을지 염두했습니다.
다른 부트캠프나 취업의 길보다 우테코가 필요한 사람임을 드러내려 했습니다.
우테코 홈페이지로 알 수 있는 커리큘럼과 여러 장점들, 이전 기수 분들의 생생한 후기들을 참고했습니다.
당시 백준 실버이고 관련 알고리즘 테스트를 많이 풀어보진 못했습니다. 또한 프로그래머스로 코딩테스트를 본다는 얘기를 들었기 때문에 해당 플랫폼에 익숙해질 필요성을 느꼈습니다.
일주일 가량의 기간 동안 프로그래머스의 모든 레벨1 문제와 일부 레벨2 문제를 풀었고, 전날 다시한번 모든 레벨1 문제들을 풀었습니다.
또한 노션에 문법들과 주요 알고리즘을 정리하고 반복적으로 복습했습니다.
상당히 쉬웠습니다. 기업 코테를 준비하시는 분들이라면 시간 내에 어렵지 않게 푸실 수 있으실거라 생각합니다.
또한 특정 개수 이상으로 맞으면(4~5솔 추정)
더 맞더라도 가산점이 없는 것 같습니다.
사실 문제들의 난이도가 크게 어렵지 않았던 만큼, 해당 코테는 어느 정도의 기초 실력을 갖고 있다는 것을 판가름하는 기준으로만 작용한 것 같습니다.
1차 코테는 말 그대로 최저합격 기준이며, 자소서를 중심적으로 보는 것 같습니다.
저작권 때문에 문제 공유는 힘들지만 프로그래머스 알고리즘 1~2레벨 문제 중심으로 풀면 충분히 대비 가능합니다.
(프리코스 과정 및 공부한 것들은 이전 게시글들을 참고해주세요.)
객체 지향 강의를 듣고 홀로 간단한 프로그램이나 게임을 만드는 동안
깨끗하고 잘 작성된 코드를 짜려 노력한 적이 별로 없었습니다.
설령 노력하더라도, 코드의 가독성보다는 단순히 줄 수나 퍼포먼스 요소에만 신경을 썼고 그 코드를 다시 보게 될 저나 다른 사람들의 편의를 생각하지 못했습니다. 코드를 읽는 것이 어려워지니 바로 직전에 쓴 코드도 해독하기 힘들었던 적 역시 많았습니다. 그래서 프리코스 기간 동안 쉽지 않은 도전이었지만 그만큼 많은 것을 배워나갈 수 있었던 시간이었습니다.
여러 컨벤션과 API를 배우고
TDD, SOLID, MVC 등 셀 수 없이 많은 설계 방법들을 배우고
코드 안에서 적용시키는 시간이었습니다.
또한 단순히 강의나 책에서 떠 먹여주는 방식이 아니라, 문제와 피드백을 분석해보며 스스로 고민하고 답을 찾아나서는 방식으로 진행되었습니다. 방향성을 잡고 나아갈 용기를 얻었습니다.
3주간의 긴 기간 때문에 지원을 망설이시는 분이 계실 거라고 생각합니다. 그러나 최종합격 여부와 관계없이, 기존 외부교육 경험이 없는 프로그래머 꿈나무들에게 정말 좋은 경험이 될 거라 생각합니다. 주저말고 지원하세요!
3주 간의 과정 속 여러 메일들을 받았고, 그 중 프리코스 과정에 대한 후기를 올리는 것을 장려하는 내용이 있었습니다. 저 역시 3주간 열심히 블로그에 후기를 남겼습니다. 6일 가량 열심히 과제를 진행 한 후 마지막 날은 항상 후기를 작성했습니다.
이를 통해
- 이제 막 배워 낮선 내용들을 잊지 않을 수 있었습니다.
- 블로그 글을 작성하는 동안 새로운 인사이트가 떠올랐습니다.
- 다른 사람들이 제가 공부한 내용들을 확인하고 실력/성실성 등을 가늠할 수 있었습니다.
- 프로젝트 동료들과 소통할 때 블로그 링크를 활용하기 좋았습니다.
- 다 쓴 블로그 글을 보며 뿌듯했습니다.
처음에는 글쓸 시간에 제출할 과제 검수나 더 하는게 좋지 않을까 싶었는데, 오히려 쌓여가는 기록들이 이후 과제들의 진행에 스퍼드를 내줬습니다. 또한 제출 후 다른 지원자 분들의 블로그를 보면서 몰랐던 부분들과 새로운 개념들을 알게 되기도 했습니다. 프리코스 기간 동안 기술블로그나 노션 등에 과정을 기록하는 것을 추천드립니다!
참고했던 이전기수 회고 문서들, 여러 유용한 링크들을 제 나름대로 정리했습니다.
기술블로그 관련 링크
처음 벨로그를 만들 때 고민했던 것들이 해당 포스팅의 도움으로 많이 해결됐습니다.
최종 코딩테스트는 3주차 과제와 비슷한 난이도이며 5시간 동안 진행될 것이라 안내되었습니다.
아무래도 7일동안 코딩하던 것을 5시간만에 제대로 구현해내는 것은 거의 불가능하다고 생각했습니다. 따라서 되도록 모든 기능을 구현하되, 리팩토링이나 테스트코드 작성은 포기하는 것을 목표로 잡았습니다.
시험 적응을 위해 테스트 일자 3일 전부터 하루에 하나씩 이전기수의 3주차 문제들을 5시간 내에 푸는 연습을 해봤습니다.
문제들은 우테코 깃허브에서 찾아보실 수 있습니다. 일부 문제들은 README.md가 써져있지 않았는데, 구글링을 하고 제 스스로 문제조건을 만들어가며 풀었습니다.
우테코의 최종 코딩테스트는 항상 새로운 유틸 기능을 사용하도록 세팅되어 있는 것 같습니다. 이번에는 파일입출력 함수를 이용했습니다.
이때 파일 경로를 절대경로가 아닌 상대경로로 설정해야 했는데, 처음이다보니 기본 주소('./")가 어디인지 몰라 1시간 가량을 헤맸습니다.
알고보니 기본 주소는 코드가 있는 자바 파일(현재경로)가 아닌, 전체 파일이 들어있는 root 폴더였습니다. 해당 루트폴더의 폴더 및 파일을 확인하는 함수(listFiles())를 이용해 겨우 알아냈습니다.
이 시간동안 많이 멘붕했고, 그래서 이후 페이매칭의 구체적인 요구사항
1. 같은 레벨에서 이미 페어로 만난적이 있는 크루끼리 다시 페어로 매칭 된다면 크루 목록의 순서를 다시 랜덤으로 섞어서 매칭을 시도한다.
2. 3회 시도까지 매칭이 되지 않거나 매칭을 할 수 있는 경우의 수가 없으면 에러 메시지를 출력한다.
을 반영하지 못한 채 제출했습니다.
그래도 마지막 30분 동안 정신차리고 프로그램 기본 기능들의 실행이 가능하도록 코딩했습니다. 프로그래밍 요구사항에서 함수 길이 제한(15라인)을 제외한 사항들은 지켰습니다.
코딩테스트를 본 후 다른 분들의 후기를 찾아봤는데 막상 올구현을 하신 분들은 많이 없었습니다.(5분의 1 정도였습니다.)
비슷한 이유로 시간을 쓰신 분들도 많으셨고 우테코에서 제공한 테스트코드가 돌아가지 않는 분들도 계셨습니다.
결과적으로 제 코드로도 최종선발된 것을 생각해보면 시간적 여유가 없으실 것 같다면 시간 내 구현할 수 있는 부분들 중심으로, 클린코드, README나 commit 단위 등에 신경쓰며 완성도를 높이는 것도 방법일 수 있을 것 같습니다. (물론 코딩테스트 구현사항대로 전부 구현하는게 베스트입니다.)
또한 최종코테 전에 당황하지 않도록 상황별 대응 방법들을 정리해도 좋을 것 같습니다.
저의 경우 최종코테에 대비해 노션을 만들었습니다. 안에는 일정, 초기세팅, 제출방법, 코드포맷 등 여러 정보들을 넣어뒀습니다.
테스트 동안 멘탈이 안좋을 때, 해당 노션 속 항목들을 참고하고 따라하면서 마음을 다잡을 수 있었습니다. 시간도 많이 단축되었고요.
최종 코딩테스트 대비 노션 : 위에 언급한 코테 전에 만들어본 대비 자료 입니다.
1.지하철노선도 깃허브
2.블랙잭 깃허브
3.치킨집 POS 깃허브
최종코테 대비로 풀어본 이전기수 과제들 입니다.
페어매칭 깃허브 : 제출한 코드입니다.
2개월 전, 처음 자소서와 코딩테스트를 준비하며, 그리고 이후 프리코스를 진행하며 불안해 이것저것 찾아보던 때가 생각나네요.
해당 게시글이 우테코 합격을 바라는 많은 분들에게 도움이 되었으면 하는 바람입니다.
관련해 궁금하신 사항이 있으시면 댓글이나 벨로그에 링크된 이메일로 문의주시면 답변드리겠습니다.
읽어주셔서 감사합니다! 좋은 하루되세요!😉
와.. 정리 너무 잘해주셔서 감사합니다.. 5기 지원 예정인데 많이 참고하겠습니다! 남은 과정도 화이팅하세요!