[우아한테크코스 3기] 우아한테크코스 프리코스 회고

Hans Park·2021년 1월 26일
4

회고록/후기

목록 보기
1/5

2020 우아한테크코스 3기 선발과정 회고록입니다.

누추한 제 깃허브입니다.
귀하신 분들의 방문을 환영합니다!
KOREAparksh
벨로그는 북마크가 아직 안되나보다

이 글은 노션에서 먼저 제작되어 내보내기로 저장된 글입니다.
노션에서 더 편하게 보시고 싶으시다면 여기를 눌러주세요.

🚀 시작하기 전


대학 저학년까진 학교 공부만 하면 어떻게 취업의 길이 열리거나 내 미래가 잡힐 줄 알았다.

그 생각이 엄청난 오산이었다는 것을 알아챈 순간은 그렇게 오래전 일이 아니다.

우연히 안드로이드 프로그래밍을 시작하게 되었고, 우연히 컴퓨터공학과/개발자의 시장이 어떤지 알게 되었고, 우연히 취업설명회를 듣기 시작하면서 내 생각이 바뀌게 되었다.


개발자 시장의 장점은 학벌과 그 뒤 배경들을 묻지 않는다는 것이라 생각한다.

지금까지는 컴퓨터와 문제해결에 대해 배우면서 단지 배우는 것이 즐겁고, 컴퓨터가 작동하는게 신기하고, 알고리즘을 습득하는 것이 흥미로웠다. 학교 3년차까진 걱정없이 단지 즐거워서 다녔던 것 같다.


다른 학과 혹은 직업도 같을 것이라고 생각했다.

내가 보는 하늘이 전부라고 생각했지만,
컴퓨터공학이라는 우물은 생각보다 지름이 작았고 세상은 생각보다 더욱 넓었다.

법학과를 복수전공하며 로스쿨에 대해 알아보면서, 같은 성적이라도 학벌에 따라 당락이 결정되고 여러 스펙을 가진 사람도 최하급 로스쿨에서 떨어지는 것을 보게 되었다.

왜 문과를 다니는 학생들이 취업에 그렇게 스트레스인지, 공무원 시험에 유별나게 목숨거는지, GPA 0.1점에 목숨거는지 직접 보게 되었다.


내 학과, 내 진로, 내 전공에 감사함을 느껴야겠다고 다짐했다.

요즈음의 IT기업 혹은 IT관련 대기업은 학벌을 크게 보지 않는다고 한다. 서류를 받지 않는 곳도 있다.

제일 중요한 것은 실력이라 생각하는가보다.

이렇게 차려둔 꽃길을 나처럼 아무 생각없는 멍청한 생각으로 걷다간, 굴러온 복을 차버리는 꼴이 될 것이다.


일부러 3학점을 남긴 채 8학기를 다 마친 후 휴학서를 냈다.
내가 좋아하는 것은 무엇일까?
내가 잘하는 것은 무엇일까?
좋아하는 것을 잘해보자.
잘하는 것을 좋아해보자.
늦었지만 내가 진정 좋아하는 것을 찾고 경험하기로 결정했다.


그 시작은 우아한테크코스 였다.

🚀 자기소개서


우아한테크코스는 최종탈락했으나, 사실 3번째 미션과 시험을 잘 못쳤기 때문에 떨어진 것이라 생각하고 있다.

다른 사람들은 어떻게 작성을 했는지 확인한다면(베끼는 것이 아니라) 더 좋은 자기만의 자소서를 만들 수 있을 것이라 믿으며, 도움이 되고자 짧게 글을 남기려 한다.


자기소개서를 그렇게 긴 시간동안 작성하진 않았다.

오래 붙들고 싶었는데 그럴 시간이 안났기 때문이다.

자소서를 쓸 때의 기억이 가물가물하지만, 이틀 조금 덜 걸린 것 같다.

(보통 그땐 밤을 많이 샜으니, 그래도 누적시간은 길 것 같다.)


이 글을 보는 다른 사람들에게 Tip이 될 말이 있다면,

차별화를 가장 중요하게 생각한다.

자기소개서 뿐 아니라 아이디어, 코드, 발표 등 어디에도 해당한다.

아무리 내가 남들과 비교가 되고 떨어질진 몰라도,

그럼에도 나를 뽑아야 하는 이유를 만드는 것이 중요하다고 생각했다.

뭐, 최종탈락은 했으니 이게 득이 되었는지 실이 되었는진 모르겠으나

이게 내 모토였다.


자기소개서를 쓰기 전 가장 중요한 것은,

우아한테크코스는 어떤 사람을 선발할까?

이다.

실제로 홈페이지에 들어가면, 가장 중요하게 보는 세 가지를 알 수 있다.

  • 몰입
  • 프로그래밍
  • 현장

이 세가지를 자기소개서에 잘 녹여내는 것이 중요할 것이다.

1. 프로그래밍 학습 과정과 현재 자신이 생각하는 역량은?

우아한테크코스는 프로그래밍에 대한 기본 지식과 경험을 가진 교육생을 선발하기 때문에 프로그래밍 경험이 있는 상태에서 지원하게 됩니다. 프로그래밍 학습을 어떤 계기로 시작했으며, 어떻게 학습해왔는지, 이를 통해 현재 어느 정도의 역량을 보유한 상태인지를 구체적으로 작성해 주세요.

깃허브에 자신을 잘 표현한 프로필들을 보면 정말 감탄이 나오는 말들을 자아내는 개발자들이 있다.

하지만 개발자를 꿈꾸는 공대냄새 폴폴나는 학생들의 글들을 보며 그렇지 않다는 걸 많이 보았다.

그러한 티를 벗어내고 싶었다.

이 질문은 정말 자신이 어느정도의 프로그래밍을 아는지 적는게 아니라 생각했다.

부가설명에 있듯이, 어떤 계기로 시작했는지와 어떻게 학습했는지가 주를 이룰 것 같았다.

홈페이지에 300라인 정도의 작은 어플리케이션을 말했기 때문에 역량을 크게 보진 않을 것이라 판단했다.

프로그래밍의 실력은 묻지만, 어떤 계기가 있고 그러한 계기를 얼만큼 유지할 수 있을지, 즉 몰입에 관해서도 녹여내야 할 것 같다는 생각으로 작성했다.

중요한 것은 그렇다고 역량이나 나의 실력을 배제하면 안된다는 것이다. 나는 최대한 짧은 문장에 역량을 많이 녹여냈고, 나머지는 다른 인재상(몰입, 현장)을 덧붙혀 작성했다.

2. 프로그래머가 되려는 이유는 무엇인가요?

어떤 계기로 프로그래머라는 직업을 꿈꾸게 되었나요? 프로그래밍을 배워 최종적으로 하고 싶은 일이 무엇인지, 프로그래밍을 통해 만들고 싶은 소프트웨어가 있다면 무엇인지에 대해 작성해 주세요.

정말 고민 많이 한 질문이었던 것 같다.

이 질문에서는 특별한 우테코만의 답변보다는, 정말 내가 프로그래머라는, 개발자라는 직업을 꿈꾼 순수한 이유들을 내포했다. 다른 공부는 죽어도 하기 싫은데 프로그래밍은 죽인다해도 왜 하고싶어하는지 적었던 것 같다.

3. 마음이 끌리는 무엇인가에 긴시간 동안 몰입해 본 경험이 있나요?

우아한테크코스는 약 10개월 동안 꾸준히 학습해야 수료할 수 있는 과정입니다. 지금까지 살아오면서 마음이 끌리는 무엇인가에 최소 1년 이상을 투자해 결과물을 만들어 낸 것이 있다면 공유해 주세요. 반드시 소프트웨어와 관련된 일이 아니어도 괜찮습니다. 어떤 성과를 냈는지도 중요하지만 어떤 과정과 노력을 했는지를 구체적으로 작성해주세요.

이 질문은 부가 설명처럼 소프트웨어와 관련된 일을 적지 않는 것이 좋다고 생각했다.

무엇보다 중요한건 긴 시간동안 꾸준히 진행한 것이어야 할 것이라 판단했다.

우아한테크코스를 신청하는 연령대가 사실상 20대초반 ~ 많아야 30대 초반일 것이라 생각하는데,
그 연령대에서 지금까지 살아온 걸 되돌아보면 1년 이상 꾸준히 진행한 일의 "결과물"이 나온 적은 드물 것이다.

사실상 질문이 교육대상자(인재상) 중 "몰입"에 관련하여 대놓고 물어보는 것이기 때문에, 질문의 갈피는 다들 쉽게 잡을 수 있을 것이다.

이번 답변에는 마찬가지로 소프트웨어를 배제하고 이전부터 꾸준히 진행한 바둑을 적었다.

4. 우아한테크코스에 참여하려는 이유는 무엇인가요?

우아한테크코스는 자기주도적으로 학습해야 하며, 동료들과 공동으로 학습하고 같이 성장하는 방식으로 진행합니다. 지금까지 우리가 흔히 알고 있는 교육 과정보다 훨씬 더 힘들 수 있습니다. 또한 10개월이라는 시간이 여러분의 삶에 상당히 중요한 시간일 수 있습니다. 이런 중요한 시기에 우아한테크코스 교육 과정에 참여하고 싶은 이유는 무엇인가요?

이 질문에는 인재상보단 개발자의 인재상을 꼽아서 작성했던 것 같다.

항상 취업멘토링, 선배와의 대화 등에서 개발자 분들과 만나면 소통과 협업이 가장 중요하다고 말씀하신다.

해당 부분에서 자신의 경험과 우테코를 통해 배우고 싶은 점을 나열했다.

5. 기타

자소서 이외에 자기소개서의 적힌 내용을 증명하는 곳이 있었다.

노션에 증명과 관련된 상장이나 서류를 넣었고 개인적으로 공부한 깃 주소도 첨부하여 넣었다.

🚀 온라인 코딩테스트


온라인 시험은생각보다 잘 마무리 했던 것 같다.

다만, 소프트웨어 전공과 상관없이 신청할 수 있다는 공지만 믿다간 낭패를 볼 수 있다.

소프트웨어 전공이 주로 배우는 알고리즘 등에 관한 문제도 출제가 되니 그 점은 꼭 알고 있어야 할 것이다.


다만 카카오 코딩테스트나 기타 IT전공자용 테스트만큼의 난이도는 아니니, 비전공자도 충분히 공부하면 진행해 볼 수 있는 난이도이다.

또한 이번에 문제가 7문제였는데 전부 풀지 않더라도 프리코스에 합격하는 것으로 보아, 우테코에 관심이 있는만큼 사전 공부한다면 충분히 1차 심사에 합격할 것으로 생각한다.


시험에 대한 자세한 이야기는 하지 않으려 한다.

문제에 다시 접근할 수 없게 하거나 공식적으로 발표된 문제가 없는 것으로 보인다.

다른 블로그에 더 자세히 설명해주신 훌륭한 분들이 많으니 그 쪽을 보는 것이 더 좋을 것 같다.

🚀 1차 심사 결과


1차 결과가 나오기로 한 날짜보다 조금 늦게 발표가 나왔다.

온라인 코딩테스트의 점수가 같아도 (물론 히든case 점수는 모른다) 당락이 나뉘는 걸 보면 자소서의 평점도 들어가는 것 같다.


다행히 1차 심사에 합격했지만, 마냥 좋아할 수 없었다.


잦은 코로나 대유행으로 인해 완벽하게 짜두었던 스케쥴이 박살났기 때문이다.

학교 수업과 대회 일정을 마무리하면 우테코 프리코스를 진행하고, 프리코스를 마무리 한 뒤에, 기말고사를 치면 딱~ 되었는데......

학교 수업과 대회일정과 프리코스와 시험기간 4개가 한번에 곂치게 되었다.

아직도 굉장히 아쉬운 부분이다...

🚀 프리코스 1주차

코드 이야기는 최대한 하지 않으려 한다. 합격했으면 "나 이렇게 했어" 자랑하겠지만 그정도 짬밥이 나오지 않는다.


KOREAparksh/java-baseball-precourse

프리코스 1주차는 숫자야구 게임만들기였다.

이미 유명하겠지만 다음과 같은 제약들이 주어진다.

  • 자바 코드 컨벤션 지키기
  • indent 3 이상 넘지 말기
  • 3항연산자 사용금지
  • 함수가 한가지 일만 하도록 하기
  • 비정상적인 입력 등 예외처리 하기

자바 코드 컨벤션의 경우 변수명이나 기타 손으로 타이핑하는 것만 조심하면, 띄어쓰기나 indent는 IDE의 힘을 빌리도록 하자. 왠만큼 도와준다.


위에서 말했다시피 일정이 매우 꼬였기 때문에 늦게 시작하게 되었다.

1주차 미션은 생각보다 어려운 내용의 미션은 아니었기에 다행이었다.


기능을 구현하기 전 "내가 무엇을 구현해야하고, 어떻게 구현할 것인지" 먼저 readme에 정리해야 했다.

지금까지는 구현먼저 하고 readme를 작성했던 지금까지와는 다른 방식이었는데, 먼저 기능을 정리하고 나니 클래스, 함수 분리나 내가 무엇을 해야할지 확실히 할 수 있었다.

또한 readme문서는 살아있어야 한다고 한다.

맨 처음 정하고 끝이 아니라, 구현 중 수정해야 할 부분이나 추가해야 할 부분을 수시로 체크해야 한다.

깃 커밋을 기능구현 단위로 해야하기 때문에 readme를 바꾸는 것도 수시로 해야 했다.


제출 전에 다른 분들이 제출하신 코드들을 살펴보았다.

확실히 괴물들이 많았던 것 같다.

처음 보는 Stream이나 패키지 분할 등 아직 배워야 할게 많다고 느끼는 순간이었다.

🚀 프리코스 2주차


KOREAparksh/java-racingcar-precourse

프리코스 2주차 미션은 레이싱 게임이었다.
전주차 미션에서 추가된 요구사항이 있었다.

  • 함수의 길이가 15라인을 넘지 말아야 한다.
  • else 예약어를 사용하지 않는다.
    • switch문도 사용하지 않는다.
    • if 문 내에서 return을 사용하도록 유도한다.

프로그래밍 예시만 보아도 반복되는 코드를 어떻게 처리할지 궁금해 하는 것 같았다.

마찬가지로 최대한 중복되는 코드 없이 작성하려 노력했다. (물론 잘 한건지는 모른다.)


무엇보다 걸렸던 것은 패키지 이름이다.

레이싱 게임 프로그램인데 패키지 이름이 racingcar이다.

미션에서 패키지 구조와 구현은 변경하지 말라는 요구사항이 있었기 때문에 Application 코드는 패키지 이동을 하지 않았지만, 다른 파일들은 전부 패키지를 다른 곳으로 옮겼던 것 같다.


이름 짓기가 코딩에서 중요한 것은 다들 알고 있을 것이다.

마찬가지로 클래스명, 함수명처럼 패키지명에도 이름 짓기가 중요하다고 생각한다.


다른 분들 코드를 보았는데, domain 패키지나 다른 기타 패키지들을 공통으로 사용하신 분들이 계셨다.

자바 디자인 패턴인지 아니면 spring같은 다른 곳에서 사용하는 방식인지 몰랐지만, 나 자신이 많이 부족하다는 것을 알 수 있었다.

또한 2주차 미션을 진행하면서 간단하게 코딩에 대한 교육이나 설명이 없어 아쉬워했었다.

지금 생각하면 그러한 부분도 스스로 찾고 습득하라는 뜻이었던 것으로 생각하나, 그 당시엔 1분1초가 아까운 상황이었어서 그런 생각이 들었던 것 같다.


프리코스에 나 자신을 100% 담아내지 못한 것이 매우 아쉬웠다.

🚀 프리코스 3주차


KOREAparksh/java-subway-map-precourse

1~3기 프리코스를 살펴보았는데, 1~3기 프리코스 3문제 총 9문제 중 역대급으로 어려운 미션이었던 것 같다.

가장 부족한 시간동안 가장 어려운 미션을 진행하려니 죽을 맛이었다.....


처음 C언어를 배울 때나 지금이나 3주차 미션과 같은 문제가 주어졌다면, 클린코드나 규칙 없이 정말 "작동만은 되게끔" 만들 수는 있겠다.

하지만 그러한 방법은 프리코스에서 원하는 답이 분명 아닐 것이고, 최대한 중복을 잡아내고 예외처리를 막아내자는 방식으로 진행했다.


이 미션에서 가장 중요한 것은 데이터 처리라고 생각한다.

데이터 처리에 관한 기본 클래스들은 미리 제공했었고 이를 잘 활용하고 처리하는 것을 보았지 않았나 싶다.

아직도 굉장히 아쉬운게 이 미션 당시 기말고사 시험과 곂쳐 프리코스를 진행할 시간이 약 이틀, 26시간 뿐이었다.

그마저도 몇 주 내내 밤을 샌 상태여서 제정신이 아니었던 것으로 기억한다.


문제를 처음 보았을 땐 정말 막막했다.

아무리 읽어봐도 데이터들간의 상호관계를 잘 파악하지 못했다.

역을 추가하는데, 노선에 등록되는 것은 뭐고, 삭제는 또 왜 노선에 등록 안된거만 삭제가 되고 하는지 바로 이해하지 못한 것이 이번 미션의 패착이었다.


만약 다시 돌아간다해도 데이터 처리와 상호관계, 클래스 분리나 기능구현목록만 하루를 꼬박 사용할 것 같다.

무엇보다 역, 노선관리, 구간관리에서 화면 View를 중복없는 코드로 사용하고 싶은데 구간관리에선 또 메뉴가 달랐고, 이러한 처리가 많이 미숙했던 것 같다.


내가 무엇이 부족한지 확실히 알게 해주는 미션이었달까? 다시 생각해도 부끄러운 미션이 아닐 수 없다.


어쨋든 많은 아쉬움을 남긴 채로 프리코스를 마무리 짓게 되었다.

🚀 최종 코딩테스트


최종 코딩테스트는 프리코스 3주차의 미션을 전부 제출한 사람에게만 문자가 간다.

깃헙 PR뿐 아니라 메일로도 보내야 하는게 특징이다.

항상 23시50분에 부랴부랴 PR과 메일을 보낸 기억이 있다.

오늘 공부 더한다고 결과가 달라지지 않아요. 오늘 저녁은 그냥 푹 쉬세요.

너희의 평가는 최종코딩테스트"만"으로 이루어지지 않는다는 것을 의미하는지,

내일의 컨디션을 위해 일찍 자라는 의미인지,

잘 모르겠으나 그냥 쉬었다.

핑계를 굳이 대자면, 지칠대로 지쳐서 도저히 힘이 나지 않았다.

다음 날 코딩테스트는 3주차 미션과 비슷한 문제로 주어졌다.

KOREAparksh/java-subway-path-precourse

경로 문제였는데 알고리즘 그래프를 처음 배운다면 누구나 한번쯤 예시로 들었던 지하철 경로문제였다.

알고리즘을 어떻게 구현할까 고민했는데, 맨 아래 다익스트라 알고리즘 코드를 같이 공유해줘서 그 문제는 해결됬었다.

3주차 미션 하위호환 문제인만큼 View나 그에 관한 예외처리, 중복코드 처리 등은 짧은 시간에 나쁘지 않게 해결했던 것 같다.

문제는 마찬가지로 데이터 처리였는데,,,,


처음 생각한 데이터 저장방법이 잘못되었음을 테스트 1시간을 남기고야 파악하게 되었다.

역과 역 사이의 거리와 시간을 어떻게 저장하고 최단경로, 최단시간을 어떻게 계산할지 파악이 되지 않은 상태로 데이터를 저장했기 때문에 나온 문제였던 것 같다.

부랴부랴 데이터 저장방법을 정리하고 알고리즘 사용을 손봤지만 결국 또 완성하지 못한 채로 제출하게 되었다.


3주차와 마지막 코딩테스트를 미완성인 상태에서 제출하게 된 것이 너무 부끄러웠다.

110명가량 지원자 중 50명 선발하는데, 50명 안에 드는 것은 고사하고 110명에 들었다는 것도 부끄러웠다.


마치 거짓으로 올라온 것 마냥,,,

🚀 후기


많은 사람들이 3주간 성장할 수 있었다. 라고 많이 PR메세지로 보냈었다.

나는 성장할 수 있었다는 말은 쓰지 못하겠다.
"성장할 수 있었다", "성장하고 싶은 000" 그런 말은 오글거려서도 못쓰겠다.

다만 확실한 것은 많은 것을 생각할 수 있게 되었다.


110명 중 반이 괴물이었다.

미리 준비한 사람도 있겠지만,

Stream은 또 뭐고 Enum은 public static final이랑 뭐가 다르고 domain 패키지는 어디서 튀어나온건지 왜 다들 그걸 쓰는건지 모르겠었다.
첫 주부터 많이 쭈구리가 되었다.

domain 패키지는 그냥 구글에 쳤을 땐 잘 안나오더라

"이 사람들은 어디서 누구한테 어떻게 배웠을까?"라는 굉장히 호기심이 생겼었다.

학교 공부만 하면 뭐 어떻게든 될 것 같았던 기존 생각을 완벽히 청산하는 계기가 되지 않았나 싶다.

이번 계기로 "내가 앞으로 뭘 어떻게 준비하고 계획하고 실행할지" 알게 해주는 경험이었다고 말하고 싶다.

주입식 교육은 청산하고, 스스로 배워야 함과 앞서 느낀 호기심을 해결해보기로 마음먹었다.


짧은 시간이었지만 많은 것을 생각하게 됬던 3주였다.

🚀 결과


떨어진 사람에겐 이쁜 은하수 사진도 넣어주지 않는다.


결과를 예상했다.

아니 할 수 밖에 없었지, 3주차미션과 최종테스트를 미완성으로 제출했는데,,,,

붙을거라는 다른 사람의 위로나 용기는 사실 도움이 크게 되지 않았다.

붙는 게 더 이상할 것 같다.


그렇다고 불편한 3주였거나 우아하지 않은 3주는 절대 아니었다.

나에게 2020년 양분이 된 시간은 언제냐고 물어본다면, 확실히 우테코라고 말할 수 있을 것 같다.

2020년, 프리코스를 진행할 수 있었던 정말 좋은 경험이었다.

4기에 지원할 수 있게 된다면 다시 지원하기를 마음먹으며



2020년 우아한테크코스 3기 회고 마침.

profile
장안동 개발새발

1개의 댓글

comment-user-thumbnail
2021년 10월 20일

잘 보고 갑니다. 정말 중요한게 무엇인지 안목을 넓히게 되었네요 :D

답글 달기