글 작성자: 개발자 올라프

 

우아한테크코스 프리코스 참가 계기

 

우아한테크코스 5기 이전에는 코딩 테스트를 진행하고 합격자에 한해서 프리코스를 진행했다. 그런데 지인에게서 5기부터 따로 코딩 테스트를 진행하지 않고 지원한 모든 참가자들에게 프리코스를 경험할 수 있는 기회를 제공한다는 말을 듣게 되었다. 개발자 취업 준비생이라면 누구나 아는 교육과정이기에 관심이 생겨 설명회에 참가했다. 특이한 점은 개발자 관련 직군으로 재직 경험이 하루라도 있다면 합격 대상자에서 제외되며, 교육을 받을 기회가 적은 인원에게 우선 기회를 제공하고자 하는 취지를 듣게 되었다. 또한 오랜 기간 프로그래밍을 경험한 인원보다는 독학으로 3 ~ 6개월 공부한 인원이 합격할 수 있는 과정으로 구성했다고 한다. 알고리즘에 대해서는 전혀 몰랐지만 프리코스 만으로도 굉장히 좋은 경험이 될 수 있을 것 같아서 신청을 하게 되었다.

 


 

지원서 작성

 

지원서 작성부터 굉장히 오랜시간 나를 고민하게 만들었고 주변 사람에게 도움을 굉장히 많이 받았다. 지원서에서 요구하는 질문은 아래와 같았다.

 

  • 고등학교 / 대학교 전공을 포함하여 프로그래밍 교육 이력 작성 (200자 이내)
  • 프로그래밍 학습 과정은? (1000자 이내)
  • 프로그래머가 되려는 이유는 무엇인가요? (1000자 이내)
  • 마음이 끌리는 무엇인가에 긴시간 동안 몰입해 본 경험이 있나요?( 1000자 이내)
  • 우아한테크코스에 참여하려는 이유는 무엇인가요? (500자 이내)

 

개인적으로 어려웠던 질문은 프로그래머가 되려는 이유였다. 이러한 질문에 대해서 생각하기 이전에는 그저 흥미 있고 빠져들 수 있을 것 같은 일을 찾는 과정에서 알게 된 '개발자'였고 무작정 시작한 게 전부였다. 내가 개발을 시작하는데 거창한 스토리는 없었지만, 왜 개발자가 되고 싶은지, 어떤 영향을 끼치는 개발자가 되어야 하는지 고민할 수 있는 시간을 가졌다.

 


 

프리코스 과제

 

프리코스는 4주간 진행되었고, 매 주 한 가지의 과제를 받으면 요구사항에 맞춰서 제출하는 방식이었다. 프리코스 동안 구현한 과제는 아래와 같았다.

 

  과제 내용 과제 목표
1 주차 온보딩(프로그래머스 1 ~ 2 단계 알고리즘 7문제) Git, 자바스크립트, 미션 사이클에 익숙해지기
2 주차 숫자 야구 게임 구현 함수 분리, 함수별 테스트 작성
3 주차 로또 게임 구현 클래스(객체) 분리 연습, 도메인 로직 단위 테스트 작성 연습
4 주차 다리 건너기 게임 구현 클래스(객체) 분리 연습, 리팩토링

 

매주 해당 과제를 진행하면서 어떤 내용을 중점적으로 학습해야 하는지, 무엇을 얻어갈 수 있는지 명확하게 알 수 있었다. 아직 부족한 점이 많았던 나에게는 매주 새로운 내용과 배울 내용이 많았다.

 

그리고 매 주 좋은 코드를 위한 요구사항, 제약사향(ex. 함수/메서드 길이 열줄 이하)의 수는 점점 많아졌고 이로 인해서 난이도 또한 자연스럽게 증가했다. 생각보다 요구사항과 제약사항이 많아서 문서를 꼼꼼히 읽지 않아서 해당 조건을 만족하지 못하여 코드를 다시 작성해야 하는 경우가 많았다. 덕분에 요구사항과 제약사항을 한 번 정리하고, 구현 목록 및 흐름도를 미리 작성하는 습관이 생겼다. 코드 작성을 끝내고 과제를 제출하면 매주 우아한테크코스 코치 분들로부터 공통 피드백을 받을 수 있었고, 어떤 점을 놓치고 있었는지와 보완해야 할 부분을 알 수 있었다.

 

 


 

무엇을 경험했는가?

 

매 주 과제를 해결하기 위해서 스스로 새로운 개념 찾아보고, 혼자라면 몰랐을 피드백을 받으며 프리코스 만으로도 배울 점이 굉장히 많았다. 프리코스를 수행하면서 나는 어떤 경험을 했고 무엇을 얻을 수 있었는지 생각해봤다.

 

✔️ 열등감을 극복하는 방법

 

우아한테크코스에는 코딩을 오랫동안 준비해온 실력자들이 굉장히 많았다. 1 ~ 2주 차에 과제 구현하기도 바빴는데 이미 구현을 완료하고 테스트 케이스를 추가하고 공유하는 사람들이 있었다. 테스트 케이스가 무엇인지도 모르는 시기였기에 조급해지고 열등감을 느끼게 되었다. 슬랙 채널을 통해서 나뿐만이 아니라 많은 사람들이 열등감을 극복하는 방법에 대해서 궁금해하고 있음을 알 수 있었다. 그런 수강생들에게 코치분들은 이미 경험하셔서 그런지 명쾌한 답변을 들을 수 있었다.

 

매주 미션이 끝난 다음에 포수타(포비와 수다타임)라고 하여 코치님들이 미션이 아니어 여러 고민을 해결해주는 시간이 있었다. 여기서 "혼자만의 계획, 속도에 맞게 해나갈 필요가 있다. 남들과 비교하며 따라가려고 할 때는 번아웃이 온다. 테스트 케이스를 모르면 굳이 따라가려 하지 말고, 본인이 해야 할 과제에 집중해라"라는 말을 들을 수 있었다. 또한 열등감은은 우아한테크코스 뿐만이 아니라 현업에 가서도 계속 일어날 수밖에 없으며, 순간에 고통받기 보다는 어떻게 하나라도 더 배울 수 있을지 뛰어난 사람들에게서 솔루션과 장점을 흡수하는데 즐거움을 얻었으면 하는 말을 들었다. 덕분에 나보다 오랫동안 열심히 공부한 사람들은 잘할 수 밖에 없다며 인정하고, 열등감을 느끼는 대신 어떤 점을 배울 수 있을지 찾는 나를 보게 되었다.

 

✔️ 한땀 한땀 의미 있게 작성하기

 

의미 없는 주석 보다는 의미 있는 이름(함수명, 변수명)으로 의도 드러내기, 의미 있는 공백 라인을 통해 코드 문맥 분리하기, 의미 있는 커밋 메시지를 작성하도록 피드백을 받았다. 피드백받기 이전에 나 또한 간결하고 명확한 코드와 커밋 메시지로 정리된 사람의 코드만 참고하고 있었다. 나부터 간결하고 이해하기 쉬운 사람들의 코드를 참고하고 있었기에 의미 있는 코드 작성에 대해서 자료를 찾아보게 되었다.

 

다른 사람들이 읽기 쉬운 코드를 작성하기 위한 다양한 규칙과 컨벤션을 이번 프리코스를 통해서 알게되었고, 해당 내용을 정리하여 실제로 반영하도록 노력하는 나를 발견하게 되었다.

 

✔️ 부족한 부분을 채워나가는 재미

 

나는 알고리즘에 대해서는 전혀 몰랐기 때문에 매 주 과제가 힘듦의 연속이었다. 3주 차를 시작할 때까지는 나는 왜 이렇게 해결하지 못할까? 하는 자책감이 배움의 즐거움보다 훨씬 컸었다. 이는 내가 우아한테크코스 프리코스를 어떠한 마음가짐으로 수강하게 되었는지, 초심을 잃어버렸기 때문이다. 프리코스를 신청할 때 마음 한편에는 합격하면 좋겠다는 바람도 있었지만, 그전에 우아한테크코스 프리코스를 통해서 얻어갈게 많을 것이라는 믿음으로 시작했었다.

 

여기서 또 코치의 조언이 나의 학습 태도를 바꿔주었다. "목표를 설정할 때 ~에 합격하기 처럼 결과에 목표를 맞추고는 하는데, 목표를 조금 더 의미있게 정하는데 좋다. 개인적으로는 과정을 목표로 삼아서 조금 더 의미 있는 시간을 보내고 통찰할 수 있는 시간을 가졌던 게 도움이 되었다." 나의 목표는 합격이 아니라 배움을 얻는 것이었다. 이렇게 3 주차 부터는 합격을 하기 위한 발버둥을 내려놓고, 무언가를 배우기 위한 태도로 다시 돌아왔다. 자연스럽게 무작정 결과만 나오면 됐던 코드를 작성하는 것보다는 원리에 대한 궁금증과 부족한 점을 찾아가는데 집중했다.

 

나는 우아한테크코스 본 코스를 합류하지 못하더라도 충분히 프리코스에서 배울 점이 많았다고 생각하며, 여기서 듣고 배운 조언을 토대로 긍정적이고 재미있는 개발을 통해 더 나은 개발자가 될 수 있음을 확신할 수 있었다. 좋은 기회를 제공해주신 코치 여러분들에게 감사의 말을 전하고 싶다.