본문 바로가기
이것저것

[우아한테크코스] 3주간의 프리코스 후기

by shinhyogeun 2020. 12. 15.

우아한 테크코스 3기 모집 포스터

우아한 테크코스는 우아한형제들에서 1년에 한번 모집하는 개발자 양성 프로젝트입니다. 원래는 백엔드만 모집했지만 올해부터는 백엔드와 같이 프론트엔드도 함께 모집 합니다!! 물론 저도 프론트엔드에 지원을 했고 운 좋게 1차를 합격했습니다. 1차를 합격하면 3주동안 3가지 과제를 하면서 최종 코딩테스트를 준비할 수 있는 기회가 주어집니다. 이 3주간의 과정이 끝나가고 소중한 시간을 기록하고 싶어서 블로그로 3주간의 경험을 써보려고 합니다. 

 

프리코스의 처음은 생각보다 가벼울 수 있는 과제로 시작했습니다. 바로 숫자야구 입니다! 숫자야구는 프로그래밍을 공부하다보면 만나게 되는 입문용 프로젝트로 볼 수 있죠. 하지만! 프리코스에서는 몇가지 제한사항이 있습니다. 여기가 바로 그냥 숫자야구와는 다른 고민을 하게되는 부분입니다.

 

1. 첫번째 미션!!!! 숫자야구 만들기!! github.com/woowacourse/javascript-baseball-precourse

1주차 숫자야구 제한사항

처음에는 보고 당황했습니다. 그 전까지는 단 한번도 indent를 신경쓰지 않았으니.. ㄷㄷ.. 1주차에는 함수의 분리를 중점적으로 목표에 두고 있던거같습니다!!  대충 감이 오시나요? "하나의 함수는 하나의 일만 하게하라 그런데 그 일을 잘하게 하라"라는 프로그래밍의 유명한 말이 생각나네요..그냥 작성하던 코드도 다시한번 봐야하는 상황을 일부러 만들어주시는 거 같네요.

혹시라도 저의 코드를 보고싶으신 분들은 github.com/woowacourse/javascript-baseball-precourse/pull/30에서 확인해보시면 좋을 것같아요! 1주차는 그 외에도 깃에 익숙하지 않다면 깃 공부, 자바스크립트가 익숙하지 않다면 기본 문법도 같이 알아야 하니 너무 어려운 것으로 내주시지는 않은 것같네요.(참고로 지금까지 우테코 프리코스 1주차과제는 항상 숫자야구였습니다!)

공통피드백의 일부분

이렇게 1주일동안의 미션수행기간이 지나면 메일로 공통피드백이 오게됩니다. 이런 피드백을 이용해 자신의 코드를 다시 볼 수 있고 다음 주차에 적용해볼 수 있습니다! 그러면 2번째 미션을 볼까요?

 

2. 두번째 미션!!!! 자동차 경주 게임 만들기!! github.com/woowacourse/javascript-racingcar-precourse

1주차 요구사항에 추가로 더해진 추가 요구사항

2주차는 본격적인 객체를 나누고 모듈화를 시키는 것을 집중해서 공부하는 주인 것 같습니다. 1주차는 하나의 파일에서 함수를 잘 나눴다면 이제는 자동차라는 객체를 만들고 그것을 다른 파일에서 import해서 하나의 프로그램을 만드는 것입니다. 이 것도 제 코드가 있는데요!

github.com/woowacourse/javascript-racingcar-precourse/pull/32 여기에 가시면 제 코드를 볼 수 있습니다. 2주차부터 저는 정말 생각할 것들이 많고 정말 많이 고민했어요. 물론 1주차에도 쉽지는 않았지만 2주차에는 어떻게 모듈화를 진행 할 것인가에 대한 깊은 고민이 있었습니다.

 

그리고 PR(pull request)이라고 깃허브에 자신의 과제를 제출하는 방식이 있는데 다른 분들의 제출 코드를 제가 확인해보고 다른 사람들의 코드를 보고 배울 수 있었던 점이 저는 프리코스의 가장 큰 장점이 아닌가 생각합니다!!

 

3. 마지막 3주차 과제!!! 지하철 관리 시스템 만들기!! github.com/woowacourse/javascript-subway-map-precourse

3주차 추가된 요구사항

3주차 과제는 지하철 관리시스템을 구현하는 것이었습니다. 1주차 혹은 2주차 과제보다 확실히 복잡해지고 어려워진 과제였습니다. 저는 솔직히 처음에 어려워보여서 좀 당황했습니다.. 그런데 잘보면 2주차과제를 4개 만드는 것같은 느낌이 들었습니다. 그리고 2주차때 고민했던 모듈화를 조금 크게 고민해서 모듈사이의 관계까지 고민해서 잘 풀리기 시작했습니다!!(제가 실력이 늘은걸까요?ㅎㅎ) 그렇게 5일동안 죽어라 고민하고 드디어 이 글을 쓴는 지금 모두 완성이 됬습니다. 이제 프리코스는 끝이 났습니다. 제가 3주동안 배우고 고민했던 자세한 사항들이 궁금하시면 github.com/shinhyogeun/From_Precourse 에 정말 자세하게 적어놨습니다! 또한 3주차 저의 과제가 궁금하시면 github.com/woowacourse/javascript-subway-map-precourse/pull/9 에 가시면 볼 수 있습니다!

 

정리하자면 프리코스는 어떤 강의를 보고 프로그래밍을 배우는 것이 아닙니다. 다만 미션과 요구사항이 주어지고 그것을 만족시키기 위해 수단과 방법을 안가리고 자기 주도적으로 학습하는 과정의 3번 반복일 뿐입니다. 그런데 이 과정에서 앞으로 어떻게 해 나아가면 될 지를 서서히 알게 되었습니다. 그리고 혼자서는 잘 지키지 않는 코드컨벤션에 대해서도 습관을 만들 수 있었던 정말 소중한 3주였습니다. 혹시라도 우아한테크코스를 고민하고 있으면 주저하지 말고 지원해보세요. 지원하는 것 자체에도 분명 배우는 것이 있다고 생각합니다. 모두 화이팅!!!!!