-
[우아한테크코스 7기] 백엔드 최종 합격 과정 회고회고 2025. 1. 8. 16:56
프리코스부터 약 3개월 간 달려온 결실을 맺었다!
조금 늦었지만, 프리코스부터 현재까지의 과정과 스스로 핵심적이라고 생각했던 부분들에 대해 하나씩 정리해보겠다.
나 역시도 전문가가 아니고.. 일개 합격자에 불과하기 때문에 (ㅜㅜ) 맹신하지는 말고 경험자의 직감, 느낌.. 정도로만 참고해주면 좋을 것 같다!
1. 자기소개서
여기저기서 들어본 바로는, 자기소개서가 우테코의 가장 중요한 요소라고 한다.
나의 경우에는 자기소개서를 작성하기 전에 문항들의 의도에 대해서 먼저 파악하려고 노력했다.
https://www.youtube.com/live/QVItR4OTgP4?si=jn1ZwV8YLGOWHbQ-
우선, 해당 기수의 입학 설명회를 보면서 핵심 키워드가 뭔지, 어떤 가치관을 가진 개발자를 원하는 것인지 전략적으로 파악했다.
작년에는 '몰입', 올해는 '메타 인지'와 같이 특정한 키워드가 내세워진다. 해당 키워드를 중심으로 잡고 질문의 의도를 파악하고자 했다.
첫번째 문항. 프로그래머가 되려는 이유가 지원 동기
이런 식으로, 입학 설명회에서 이야기했던 부분 + 문항 설명에 나와 있는 부분 + 내가 생각하는 담겨야 하는 내용들을 차례대로 정리했다.
이렇게 하다 보니 글이 비교적 구조적으로 나왔던 것 같다.
나는 학생회 활동 경험과 '배프 지도'라는 어플의 사용 경험을 엮어서 나의 동기를 설명했다.
마지막으로 핵심은 자신이 개발자로서 갖고 있는 가치관이 왜 꼭 우테코에서만 실현시킬 수 있는지가 담겨야 한다고 나는 분석했다.
두번째 문항. 오랜 시간 몰입했던 경험 그리고 도전
몰입! 몰입을 왜 물어볼까에 대해서도 잘 생각해봐야 한다. 우테코는 1년이라는 긴 시간이며 오프라인 과정이고, 길게 잘 몰입하지 못하는 사람을 뽑았다가는 우테코 입장에서 타인의 기회를 빼앗을 수도 있는 것이다. 그렇기에 내가 1년동안 몰입할 수 있는 사람인가를 잘 보여줘야 한다고 생각했다.
이 때, 무엇을 배우고 얻었나에 사용할 만한 리소스가 있는지에 초점을 두는 게 좋은 것 같다.
분명 몰입은 했으나 쓰다 보면 배우고 얻은 게 없는 경우도 더러 있었다.
나는 해당 문항에 교내 스포츠 대회 중계 서비스 진행 경험을 작성했다.
사실 몰입에 대한 항목이 중요하다고 많이들 이야기하고, 개발과 관련 없는 경험을 많이 작성하시는 것으로 알고 있다. 수능 공부, 운동, 게임 등등.. 그래서 나 역시도 개발이 아닌 것에 대해 이야기하고 싶었다. 그리고 해당 자소서는 코치님들이 보실텐데, 개발 전문가분들이 보시기에 내가 한 노력들이 아무래도 크게 와닿지 않지 않을까 하는 불안감도 있긴 했다. 그러나 나는 내가 잘 이야기할 수 있는 몰입에 대한 경험이 이게 유일하다고 보였기에 이 소재로 선택했다. 그렇기에 혹시! 해당 문항을 개발적인 방향으로 쓰는 것에 대해 주저하는 분이 계시다면 글을 잘 쓸 수만 있다면 써도 괜찮다! 그것이 나의 사례다! 라고 슬쩍 권해드려보고 싶다.
세번째 문항. 프리코스 목표 설정
나는 여기에 정말 정말 솔직하게 적었다. 프리코스는 4주간의 과정이다. 이는 우테코에 합격하기 위한 발판이기도 하지만, 내가 긴 시간 투자를 하는 과정이기도 하다. 그렇기에 정말 내가 지킬 수 있는 목표, 최소한 4주만큼은 내가 이것들은 얻어내고 싶다 하는 것들을 작성했다.
나는 성격 상, 틀리는 것을 굉장히 부끄러워하고 두려워했기에 1. 커뮤니티에 교류하고 리뷰를 통해 활발히 의견을 공유하는 것, 그리고 이유가 있는 코드를 짜기 위해 2. 나만의 타당한 기준을 정립해 나가는 것 (ex. 빌더를 사용할까 생성자를 사용할까) 으로 삼았다.
현재 시점에 와서 내 스스로 판단했을 때 해당 목표들을 어느 정도 이룬 것으로 보이며 이가 생각보다 프리코스 과정에서 정말 중요한 길잡이가 되어 준다. 그렇기에 해당 부분은 정말 내가 이루고 싶은 것을 적어야 내 스스로에게도 우테코에 최종에 탈락하더라도 좋은 경험으로 남을 수 있을 것으로 생각된다!
2. 프리코스
프리코스 과정에서는 정말 붙기 위한 과정이 아니라 내 스스로가 성장할 수 있는 환경이라고 생각하고 열심히 임하는 것이 전부인 것 같다. 코드를 아무리 못 짜더라도 자신의 최선만 다하면 그만인 것 같다는 생각을 했다.
나는 프리코스를 시작할 때 디스코드에서 공유 받은 노션 템플릿을 사용해 문서화를 했다.
이 때, 목표를 중심으로 어떻게 해볼지에 대한 세세한 계획을 세웠다. 또한, 자소서에서 프리코스에 대한 계획을 물었기에 전략적으로 이를 매 주차마다 실천해나갔음을 보여주고자 노력했다.
프리코스 과정은 교내 동아리 사람들과 함께 스터디를 진행했다. 매주 오프라인으로 만나서 피드백을 하고 질문을 했다.
토론 형식으로 매주 수요일마다 3시간 가량은 머리를 굴리고 이야기를 나눴다. 사실 정말 피로도가 높고 우테코에서는 알 길도 없는 일이지만, 개인적으로는 이 방식을 꼭! 추천한다.
우선, 우테코의 프리코스가 아니면 같은 주제로 각자 코드를 짜고 코드 리뷰를 하며 토론을 할 기회가 정말 없다. 그렇기에 각자의 시선을 알게 되고, 내가 짠 코드에 대해서도 이유를 다시 생각해 보게 되기 때문에 우테코의 합불을 떠나서 개인적으로도 큰 도움이 된다. 또한! 이런 부분들이 잘 드러나는 것도 우테코를 합격할 수 있는 방법이 아닐까.. 싶다!
나는 이런 식으로 노션 페이지를 개설해 매 주차마다 기록을 남겼다. 이 때, 나름의 루틴을 정하는 것이 중요하다.
나의 경우에는 일주일 단위로 다음과 같은 루틴을 따랐다.
1. 이번 주차 피드백 확인 -> 내가 놓친 부분 있는지 확인하고, 이번 주차에 반영하기 위해 바로 메모
2. 하루 정도는 요구사항 분석에 투자
3. 월요일 제출이니, 일요일까지는 개발
이 때, 고민되는 사항 / 알게 된 부분들에 대해서는 따로 메모하고 주간 회고에 활용
4. 마지막 리팩토링 + 주간 회고 작성
주간 회고 작성 시에는 자소서에서 세운 프리코스 목표들을 중심으로 카테고라이징 해서 서술
+ 1에서 메모한 피드백 중심으로 리팩토링했는지 확인
5. 디스코드에 리뷰 관련 글을 포스팅하여 코드 리뷰 받기
이 때, 다른 분들의 코드를 보며 참고할 만한 것들을 메모해 다음 주차에 반영
ex. 디자인 패턴, 새로 알게 된 함수형 프로그래밍 방식으로 메서드 짜기 등등..
이렇게 자기만의 루틴을 정립해 나가다 보면, 켜켜이 쌓여 나가는 실력과 주차별 과제들을 볼 수 있다!
나의 주차별 회고들을 놓고 가겠다..
(4주차 회고는 기진맥진 해서 없다..ㅋ)
또한, 프리코스에서는 웬만해서는 절대! 포기하지 않았으면 좋겠다. 왜냐하면, 3주차의 경우 나는 테스트를 다 통과했지만 도메인 규칙을 어긴 것이 하나 있었다.(유효성 검사 메서드를 실수로 호출하지 않음..) 또한, 난도가 높았던 4주차의 경우에는 테스트를 다 통과하지 못했음에도 최종까지 간 분들이 꽤나 계셨다. 그렇기에 포기하지 말고, 자신의 최선을 다하는 것이 가장 좋다!
3. 최종 테스트 준비
문제 분석
우선, 1차 합격까지 기간이 꽤 남았었다. 이 기간에도 나는 스터디 사람들과 함께 매주 만나서 최종 코테가 있다는 가정 하에 계속해서 준비를 했다. 이 과정을 통해서는 5시간 동안 우직하게 집중하는 코어를 기른 것 같다.
1차 합격 발표가 난 뒤에는, 화수목금 4일동안 매일매일 기출 문제를 모여서 풀었다. 사실 나는 꼼꼼하게 구현 사항들을 정리하지 않고 냅다 개발에 뛰어드는 편이었다. 그래도 항상 테스트는 다 통과가 됐기에 별 문제가 없을 것이라고 자만했던 것도 같다.
그러나, 최종 테스트 이틀 전에 이전 기수의 최종 코테 문제인 '온콜'에서 스터디 인원 중 나만 테스트를 거의 통과하지 못했다. 생각을 깊게 하지 않고 냅다 구현하다 보니 머릿 속에서 꼬이기 시작했고 결국 이런 결과를 맞게 된 것이다. 그래서 이 때부터 나는 분석에 들어갔고, 나의 문제 풀이 방식을 완전히 뒤집었다.
우선, 내가 일단 통과해야 하는 것은 우테코의 코딩 테스트이다. 그렇기에 우테코 맞춤으로만 준비해도 문제가 없다. 그래서 우테코 문제들의 특성을 생각해봤다.
1. 보통 도메인 규칙이 존재 ex. 팀원의 이름은 4글자를 넘을 수 없다.
2. 핵심이 되는 로직이 존재 ex. 점심 메뉴를 겹치지 않게 배정해주세요
3. 2에 등장하는 핵심이 되는 로직에 대한 출력을 해야 함
4. 테스트 코드만 통과하면 장땡
이 특성들을 기반으로 나는 문제를 어떻게 분석하면 좋을지 전략을 세워 나갔다.
노트를 한 장을 펼치고, 왼쪽 페이지 상단에는 도메인 규칙, 왼쪽 페이지 하단에는 출력 형태
오른쪽 페이지 상단에는 흐름도, 오른쪽 페이지 하단에는 테스트 코드가 무엇인지 작성했다.
문제를 읽으며 각 부분에 해당하는 것들을 메모해 정리해 나갔다.
흐름도를 잘 세우는 것이 정말 중요하다고 보이는데, 그 이유는 문제들이 보통 1. 로직이 복잡하거나, 2. 입력 받고 대응하는 과정이 복잡하거나 두 가지이기 때문이다.
예를 들어 1 이 입력되면 무엇을 묻지만 2를 입력하면 무엇을 출력하고, 다른 것을 입력하면 돌아가거나/예외를 발생시키거나 등 흐름이 복잡한 경우가 많기 때문에 이를 시각화 해서 차례차례 하는 것이 중요하다.
여기서 테스트 코드를 잘 읽는 것도 정말 정말 중요하다. 왜냐하면 현재 추이를 보면, 갈수록 문제의 구현량이 엄청나게 많아지고 있고 따라서 최소 구현 범위를 영리하게 캐치하는 것이 핵심이다. 내가 여기까지는 적어도 구현을 해둬야 이른바 안전빵이구나 하는 확신을 얻는 것이 시험 현장에서 멘탈적으로도, 결과적으로도 좋은 결과를 가져다 줬다.
시간 절약
시간을 절약하기 위해 나는 모~든 것을 문서화 해 갔다.
이런 식으로 내가 무엇을 해야 하는지 이 문서만 보면 자동으로 할 수 있게 준비 해갔다.
그리고 이건 다들 하시는 것이지만, 코드 스니펫도 따로 다 작성해서 갔다.
나의 마음가짐
정말 꾸준하고 무던하게 내가 해야 할 일들에 깊이 몰입할 수 있는 사람이 되어보고 싶다.
코어를 기르고 자신 없는 부분들에 대해서도 켜켜이 쌓아 나가며 성장하는 시간이 되길 바란다!
무엇보다 합격하기 위해 내가 노력해 온 과정을 계속해서 떠올리며 나아가야겠다.
'회고' 카테고리의 다른 글
[우아한 테크코스 7기] 프리코스 3주차 회고 (3) 2024.11.04 [우아한 테크코스 7기] 프리코스 2주차 리뷰 언덕에서 배운 것 ✏️ (0) 2024.10.31 [우아한 테크코스 7기] 프리코스 2주차 다섯째, 여섯째날 회고 - 유연하게 유연하게.. 🏄🏼🌊 (1) 2024.10.28 [우아한 테크코스 7기] 프리코스 2주차 넷째날 회고 (0) 2024.10.25 [우아한 테크코스 7기] 프리코스 2주차 둘째, 셋째날 회고 (5) 2024.10.24