[우아한테크코스 6기] 우테코 최종 테스트 및 합격 회고
실패의 연속 🥲
나는 작년 말 우테코 5기의 최종 테스트에서 떨어졌었다.
사실 아쉽게 떨어진 수준이 아니라, 간단한 문제였지만 문서를 디테일하게 보지 않은 탓이 컸다.
(A로직 수행 후, B로직 수행)을 n번 반복해야 했는데
A를 n번 수행 후, B를 n번 수행하는 방식으로 구현해 버린 것이다. 문서에 설명이 나와있었지만 그 당시의 나는 초긴장 상태였고 글 읽는 것을 평소에 하지 않아 꼬여잇는 글은 잘 이해하지 못했던 것 같다.
그리고 마음을 놓고 지내던 작년 12월 28일, 탈락 소식을 찜질방에서 보게 되었다.
기대하던 활동이었기에 너무나도 허무했다.
그런데 여기까지는 역량 부족으로 넘긴다고 쳐도, 그 뒤로 몇 달간 계속해서 탈락의 연속이었다.
우테코 탈락, 소프트웨어 마에스트로 탈락, 디프만 탈락 등등..
자존감도 많이 낮아졌었고, 탈락이 점점 늘어나자 최종까지 갔던 프리코스에서 좀 더 열심히 해볼걸이라는 후회도 많이 되었으며, 멘탈이 나가 매일 하던 개발 공부도 1주 가까이 놓았었다.
SOPT를 만나다 🧚
그렇게 시간이 흘러 올해 3월, 지금은 내 개발 인생의 전환점이 된 SOPT라는 동아리를 모집 마감 4시간 전에 우연히 알게 되었고 4시간 동안 5000자가량의 지원서를 작성해서 냈다. 이상할 만큼 문항 하나하나가 내가 공감 가는 내용들이었고 때문에 빠른 속도로 작성할 수 있었다.
총 5000자 이상의 글을 4시간 내로 작성하다 보니, 아카이빙을 제대로 해두지 못했을 정도로 급하게 제출하게 되었는데 운 좋게 서류 합격을 얻어낼 수 있었다.
기분은 좋았지만 서류를 저장해 둔 것이 없으니 자소서에 썼던 내용들의 기억만으로 면접을 준비하게 되었다. 하지만 너무나 소중한 기회로 다가올 것 같은 이 동아리에 모든 걸 걸어보고자 여태껏 공부했던 것들을 모두 흝으며 면접을 준비했고, 덕분에 32기 서버파트에 최종 합격을 할 수 있었다.
이때부터 너무나 우울했던 내 개발 인생이 변하기 시작했다. 주변에 서버에 대해 깊게 공부한 사람들이 없어서 개발 공부를 매번 혼자 해야 했던 내게 너무나도 좋은 동반자들이 생겼고, 서버뿐만 아니라 기획, 디자인, iOS, 안드로이드 등 다양한 파트의 사람들과 친해지며 개발자로서 다양한 관련 업종의 사람들과 소통하는 법을 배울 수 있었다.
특히 활동 후 매번 있는 뒤풀이를 통해 내가 가장 못하는 ‘놀 땐 노는 방법’도 배워나가게 되었다.
처음엔 어색했지만 너무 따듯하고 재밌는 사람들과 금방 친해지기 시작했고 탈락의 쓴맛을 잊어가며 소중한 추억도 많이 쌓아나갔다.
그리고 정말 신기하게도 나와 같이 탈락의 딜레마에 빠졌었고, 똑같이 우테코 5기 백엔드 최종에서 탈락하게 된 한 형을 만나게 되었다.
나는 이 형과 금세 친해지게 되어 동아리 내에서 우테코 대비 스터디를 만들고 뜻이 있는 사람들을 모아 6기를 함께 준비해 나갔다.
이펙티브 자바 책을 읽고 우테코 미션에 적용한 후 함께 온라인에서 모여 자신이 적용한 것을 공유하며, 프리코스와 최종 코딩 테스트를 대비했고 지식을 길러나갔다. 또 운 좋게도 SOPT를 수료하시고 우테코 5기에 합격하여 활동 중이신 정훈님께서 선뜻 멘토로 나서주셔서 코드 리뷰 등 깊이 있는 활동 또한 진행할 수 있었다.
이 외에도 SOPT에서 파트 세미나, 클디서 합동 세미나, 솝커톤(1박 2일 단기 해커톤), 앱잼(5주간의 장기 해커톤) 등을 거치며 너무나도 빠르게 성장할 수 있었고 어디에서도 못 만날 소중한 인연들을 정말 많이 만나게 되었다.
그렇게 상반기가 지나고 10월이 되면서 우테코의 새로운 모집 소식이 들려왔다. 그때부터 이전에 우테코 대비 스터디를 함께 이끌었던 형과 ‘진짜’ 우테코 대비 스터디를 수행하게 되었다.
실전에서 프리코스 문제를 해결하고 제출 마감 후에 서로 코드를 리뷰해 주며 서로 더욱 좋은 방향으로 이끌어주는 목적의 스터디였는데, 코드에 대해 여러 얘기들을 나누며 생각한 것보다 더 큰 도움이 되었다.
뿐만 아니라 우테코 커뮤니티(디스코드)에서 만나게 된 인연도 생겨 이들과도 코드 리뷰 스터디를 진행하며 근거 있는 코드 작성을 위해 노력하고 몰입했다.
그러다 보니 코드에 대해 얘기하는데 5시간이 순식간에 지나가는 경험도 할 수 있었고 개발 얘기를 너무나도 재밌게 하는 내가 진짜 개발자에 한 걸음 가까워졌구나 싶었다.
다시 찾아온 기회🪄
4주의 프리코스를 마친 나는 정성 들여 쓴 지원서류, 그리고 매 주차 별 배운 점과 느낀 점을 4~5000자씩 꽉꽉 채워냈던 소감문 덕분인지 다시 한번 최종 코딩 테스트에 임할 수 있게 되었다.
그리고 이쯤에 지원한 기업 가치관이 너무나도 적합하다고 생각해서 지원했던 스타트업의 인턴도 서류, 면접 과정을 거쳐 당당히 최종 합격을 하여 내년에 대한 대비가 되어있었다.
하지만 1년간 다시 한번 도전하기 위해 칼을 갈고 있던 우테코가 남아있었기에 합격한 곳이 있음에도 불구하고 큰 긴장과 부담감을 가지고 최종 시험을 준비했다.
최종 코딩 테스트 전날 밤엔 심장이 쾅쾅 뛰어서 잠도 제대로 자지 못했다..
그렇게 몽롱한 상태로 침대에서 일어난 나는 밥을 든든히 챙겨 먹고 시험 장소로 향했다.
두 번째이다 보니 지난번과는 다르게 조금은 마음이 편했고, 같이 열심히 준비한 형도 합격했기 때문에 함께 점심도 먹고 커피도 마시며 시험장 입장을 대기하는 시간들은 꽤나 평온했다. 그렇게 시간을 보내다 어느덧 12시가 되어 입장이 시작되었고 자리를 잡고 마음을 가다듬은 뒤 1시 반부터 시험을 보기 시작했다.
시험 시작 🏁
처음 문제를 마주했을 때는 조금 놀랐다.
긴장했기 때문이었는지 생각보다 난이도가 높아 보였고, 실제로 지난 기수에 최종 시험에 비해 꽤나 복잡한 구현이 필요했기 때문이다.
나는 최대한 마음을 가다듬고 기능구현 문서부터 꼼꼼히 검수하며 50분가량 작성했다.
저번 기수 탈락의 원인이 문제 분석 불충분이었기 때문에
이번엔 이 문제는 내가 설계했다고 생각될 정도로 어떻게 돌아가는지 완벽히 이해하는 것이 나의 전략이었기 때문에 문제 이해와 문서 작성에 한 시간 가까이 투자했다.
그렇게 문서 작성 후, 순조롭게 개발을 시작한 지 1시간 30분 뒤 나는 거대한 난관에 마주치게 됐다 🚨
우선 빠르게 코드를 작성하려고 메서드 분리 없이 길게 늘여 적은 로직에서 오류가 발생하여 원하는 데이터와는 전혀 다른 데이터가 도출되는데, 코드가 길어 어디서 난 오류인지 알 수 없어 디버깅 과정이 꽤나 복잡했다.
나는 필사적으로 노력했지만 에러 포인트가 1시간 이상 찾아지지 않는 불상사가 발생했고, 심장이 미친 듯이 뛰기 시작했다.
포기라는 생각이 머릿속에 살짝이나마 들었지만 오늘을 위해 노력해 온 1년 간의 나를 실망시키고 싶지 않았다. 그리고 곧바로 큰 결심과 함께 해당 로직을 모두 지우고 다시 작성하기 시작했다.
마음을 내려놓고 차근차근 주석을 통해 코드에 대해 설명을 적어나가며 개발하다 보니 깔끔하고 가독성 높은 로직으로 재탄생하였고,
로직의 흐름을 천천히 따라가는 과정에서 이 로직과 함께 사용되는 다른 메서드에서 ArrayList의 특정 인덱스 값을 교체할 때 add(index, Object) 메서드를 사용하고 있던 부분을 발견할 수 있었다.
이는 중간에 데이터를 끼워 넣는 메서드인데 set(index, Object) 메서드를 사용해야 하는 것을 긴장하다 보니 잘못 끼워 넣고 만 것이었다.
이 포인트를 수정하고 길었던 코드를 하나하나 메서드로 분리해 나가니 로직은 정상적으로 작동하기 시작했고 시험 시작 3시간 후 모든 기능 구현에 성공하게 되었다.
너무 기뻐서 소리 지르고 싶었지만 끝날 때까지 긴장감을 유지한 채 최대한 리팩토링을 진행했고, 기능 문서에 작성한 내용들을 꼼꼼히 체크하였으며, 마지막엔 객체의 테스트 코드를 작성하다 시간이 종료되어 제출하고 나오게 되었다.
작년에 그렇게 보고 싶었던 화면이 올해는 나와주었고 1년을 멋지게 마무리했다는 생각과 함께 만족스러운 퇴실을 할 수 있었다.
최종 합격, 그리고 1년을 돌아보며 ✨
집에 돌아와 코드를 살펴보니 조금 실수한 부분이 있어 걱정이 되었지만, 정말 다행히도 12월 27일 오늘 오후 3시,, 우테코 6기에 최종 합격할 수 있었다.
올해 초엔 불합격의 연속으로 고통받고 있던 나였지만 포기하지 않고 1년간 열심히 달린 결과, 다양한 합격을 경험하고 개발자로서 그리고 대학생으로서 다신 없을 추억들을 쌓아온 소중한 24살을 보낼 수 있었고
인턴쉽과 우테코 동시 합격이라는 행복한 연말 선물을 받게 되어 행복한 고민을 하며 하루를 보내고 있는 나를 마주할 수 있었다.
사람은 살아가다 보면 누구에게나 벼랑 끝에 매달린 것 같은 순간이 오는 것 같다.
그 벼랑에서 포기하고 힘을 놓으면 절벽 밑으로 떨어지지만 힘을 내어 땅 위로 올라온다면 다시 살아갈 수 있게 된다. (물론 그 절벽의 높이가 떨어지고 보니 생각보다 낮아서 금방 위로 올라올 수도 있을지도 모른다. 하지만 그건 절벽 밑으로 떨어져 봐야 알 수 있고 그것 또한 용기가 있어야 가능하다.)
나는 절벽에서 땅 위로 올라오는 과정을 1년이라는 시간 동안 겪어온 것 같다. 위에서 말한 내용은 우테코와 관련된 2023년 만을 적어놓은 것이며 이 외에도 글 읽는 능력 향상을 위해 독서를 정말 많이 시도했으며, 졸업작품 프로젝트 설계 및 개발, SOPT 32/33기의 다양한 활동, 기술에 근거를 가지고 사용하기 위해 활용 방법과 이유 등을 꼼꼼히 체크하고 나중의 나를 위해 기록하는 습관 들이기, 대학 컴퓨터공학부 전공 동아리 회장, 동아리 부원 대상 8주간의 자바 특강 진행, 무중단 CI/CD 과정 익히기, GPT 모델 FineTuning 하여 응답 형태 고정 및 성능 개선 경험 등 내 인생 중 2023년은 개발자로서 가장 큰 성장을 했다고 자신 있게 말할 수 있을 정도로 할 수 있는 건 모두 다 하며 1년을 보냈다.
“포기하지 않고 끝까지 노력하는 사람에게 기회는 잡힌다.”라고 지금의 나는 생각한다.
21년 10월의 나는 여러 언어와 프레임워크를 공부해 봤지만 전혀 흥미가 생기지 않아 개발이 적성에 맞지 않는다고 생각되어 포기하려고 했었다. 하지만 포기하지 않고 달려온 지금의 나는 꽤나 멋진 개발자로 성장하고 있지 않은가.
아버지가 하셨던 말 중에 가장 기억에 남는 말이 있다.
“미친 듯이 해도 안되면 그때 포기해라”
몇 번이고 쓰러져도 다시 일어나 달려본 뒤에, 그래도 난 아닌 것 같다는 생각이 들면 그때 가서 포기해도 늦지 않는다.
지금 당신이 미친 듯이 해보지 않았다면 조금만 미쳐보길 바란다.
마치며
긴 글 읽어주셔서 감사합니다. 그리고 모든 분들 올 한 해 수고 많으셨습니다!
이 글을 읽고 계신 모든 분들! 행복한 하루 되셨으면 좋겠습니다.