우아한 테크코스 2기 프리코스 후기 - 내가 느낀 프리코스

김경준·2019년 12월 24일
1

스크린샷 2019-12-18 오후 5.21.37.png

https://woowacourse.github.io/

현재 우아한 테크코스 2기에 지원하여 3주차 미션을 제출하고 마지막 오프라인 코딩 테스트를 남겨두고 있습니다.

프리코스에서 저는 어떻게 학습하였고, 어떤 성장을 하게 되었는지 정리해보며 훗날 있을 3기 지원자 또는 지원할 의향이 있는 사람들에게 미약하게나마 도움이 되었으면 좋겠습니다. 👏

0. 내가 느낀 프리코스

내가 생각하는 프리코스는 자기주도 학습, 현장중심 경험, 깊이있는 협업 중 자기주도 학습을 경험할 수 있는 단계라고 생각한다. 매주 미션이 주어지고 요구 사항들을 지키면서 혼자의 힘으로 프로그램을 구현한다.

요구 사항들은 좋은 코드를 생산하기 위해, 좋은 개발자 (소통하기 좋은 개발자, 같이 일하기 좋은 개발자) 가 되기 위해 갖춰야 할 사항들에 관련된 것이라고 생각한다.

개인적으론 요구 사항에서 원하는 것들이 내가 목표로 하고 있는 개발자의 모습이나, 평소 친하게 지내는 선배에게 전해 들었던 것들과 비슷한 부분이 많아 거부감은 없었다. 때문에 최대한 요구 사항들 만족시키려고 노력했고, 잘하고 싶은 마음 역시 컸다.


eastgermReview.png

eastgermTalk.png

같은 과 선배 & 같은 풋살 팀, 현재 네이버 부스트 캠프 2019 수료를 앞두고 있다. 주말에 같이 공차고 모각코 하면서 논다.

나와 비슷한 꿈과 취미를 가진 사람이다. 이런 사람을 곁에 둔 것을 큰 행운이며 자산이라고 생각한다.

...🤮


프리코스에 참가한다면 자기주도적인 학습을 경험할 수 있다. 그리고 빠르게 성장할 수 있다.
그리고 그렇게 생각하는 이유는 다음과 같다.

  • 피드백

프리코스에선 매주 미션이 주어지고 다음 미션과 함께 저번 미션에 대한 공통 피드백이 주어진다.


feedback1.png

공통 피드백


이런 공통 피드백 시스템은 내가 공부해야 할 방향을 알려준다고 생각한다. 그리고 그 방향으로 나아가는 것은 나의 몫이다.

개개인 별로 주어지는 상세하고 구체적인 피드백이 아니다. 당연히 현실적으로도 불가능하다. 하지만 오히려 이런 공통 피드백은, 모르는 것이 생겼을 때 스스로 답을 내보려고 노력하게 만든다. 그렇게 사고의 과정을 거친 후, 나의 답이 맞는지 스스로 찾아보고 검증하면서 자기주도적인 학습을 할 수 있다. 지식을 주입받는 것이 아닌, 스스로 지식을 얻는 방법을 기를 수 있었다.

나는 이러한 공통 피드백을 보고 이 피드백이 의미하는게 무엇인지, 의도는 무엇인지 고민하면서 미션들을 구현해나갔다. 당연히 의미나 의도를 파악하지 못한 피드백도 존재했다. 그 경우엔 무작정 적용을 시키다가 의미를 깨닫게 되는 경우가 많았다.

예를 들어 위 사진의 피드백의 의미를 이해하지 못한 상태로, 무작정 모든 값에 의도를 드러내는 이름을 부여한 상수를 적어서 미션을 진행하다 보면 어느 순간 아 이게 더 좋은 코드구나, 이러 이러한 점에서 좋구나 라는 깨달음이 온다. 그 깨달음의 순간 성장을 느낄 수 있기에 재미있다. 실력을 기르고 싶고 성장을 즐기는 사람이라면 프리코스는 재미있다.

  • 객체 지향 프로그래밍

나는 대학에 입학해 프로그래밍을 C언어로 시작했다. 이후 C++, OpenGl을 사용한 컴퓨터 그래픽스와 빅데이터, 딥러닝이 대세라길래 파이썬을 배워 캐글도 잠깐 해봤다. 이후엔 웹에 관심이 생겨 자바스크립트를 공부했다. 최대한 많은 분야를 경험해보고 내가 가장 재밌어 하는 걸 깊게 공부하자는 목표였다. 어쩌면 재밌는 걸 찾지 못해 이곳저곳 찔러본 것 같기도 하다.

그렇게 방황하며 내가 가장 깊게 공부한 것은 웃기게도 취업 준비는 해야지라고 생각하며 시작한 알고리즘 문제 풀이었다.

boj.png

당시 1주일 동안 매달렸던 문제.

나는 많은 사람들이 느끼는 이게 왜 틀려? 가 발생 했을 때의 '왜'에 3시간 정도의 집중력을 갖고 있다. (체감 시간)


이때 나는 정답이 정해져 있지 않은 상황에서 뭐가 더 나은지 고민하고, 어떤 근거로 그게 낫다고 생각하는지를 말할 수 있을 때 즐거움을 느낀다고 생각했다.

다시 프리코스로 돌아와서, 내가 생각하는 프리코스의 미션을 표현하자면 객체 지향의 원칙을 지키며 콘솔 게임을 자바로 구현하는 것이다.

나에겐 자바도 처음이었고 객체 지향 프로그래밍도 처음이었다. 그리고 프리코스를 통해 객체 지향 프로그래밍과 클린 코드를 작성하는 것이 정말 즐거운 일이라는 걸 알게 됐다.

OOPisFun.png

OOP는 재밌다. OOP is fun.


내가 스스로 정의하는 즐거움의 척도는 내가 얼마나 그것에 몰입하고 집중하는지, 그리고 정신을 차린 후 시간을 확인했을 때 얼마나 많은 시간이 흘렀는지이다.

프리코스에선 복잡하진 않지만 몰입하기에 좋은 미션과 요구 사항들을 매주 제시해준다.

단순히 이러이러한 기능을 하는 프로그램을 만들어 보아라 라는 미션이었다면 누구나 금방 완성 시킬 수 있을 것이다. 하지만 프리코스에선 미션을 진행하며 이것이 객체 지향 원칙에 위배가 되지는 않는지, 그리고 남들이 보았을 때 이해하기 쉬운, 즉 클린코드 인지에 대하여 끊임없이 고민하게 된다.

내가 짠 코드는 객체 지향의 원칙에 어긋나지 않는다. 그리고 남들이 이해하기 쉬운 코드다 라는 확신 (사실 확신을 얻을 순 없었다. 그것이 몰입하게 되는 포인트) 을 갖기 위해 필연적으로 요구되는 생각의 깊이가 있다.

'이게 정말 이 클래스의 역할인가?, 이 메서드는 정말 한 가지의 역할만 수행하나?, 한 가지 일이라는 건 어디까지를 말하는 거지?, 이 변수명은 사람들이 직관적으로 이해할 수 있을까?, ... '

이렇게 생각을 하다 확신을 얻지 못하는 경우엔 요구 사항이라도 만족시키자고 타협한다. 그리고 요구 사항을 지키다 보면 고민하던 것들이 해결되는 순간이 생긴다.

내 실력이 부족해서 그런 것일지도 모르지만 적어도 나에게는 정말 퀄리티가 높은 미션과 요구 사항들이었다.

  • Github의 활용

미션을 구현하게 된다면 처음 포크했던 미션 저장소에 풀리퀘스트를 보내게 된다. 나는 이러한 방식 또한 자기 주도적 성장을 이끄는 강한 자극이라고 생각한다.

Github은 오픈소스이다. 결국엔 열려있다. 언제든지 다른 지원자들의 코드를 볼 수 있다. 당연히 베끼면 안 된다. 결국 베끼면 오프라인 테스트에서 좋지 못한 결과를 거두게 될 것이다. 또한, 10개월이라는 시간을 투자하는 과정에 참가하고자 맘먹은 사람들인데 에라 모르겠다 복붙! 하는 사람도 없을 것이다.

미션을 제출한 후 다른 지원자들의 코드를 보다 보면 자극을 받을 수 있다. 내가 모르는 뭔가 고급 진 문법을 사용한 사람들을 보며 API 문서를 뒤져보게 되고 나와 다른 방식으로 구현한 사람들의 코드를 보면 리뷰어의 입장이 되어 나름의 논리로 이 부분은 이렇게 구현하는 게 더 낫지 않나..?와 같은 생각을 하게 된다. 이러한 과정을 거치다 보면 당연히 빠르게 성장할 수 있다.

또한, 프리코스에선 기능 단위로 구현하여 커밋 메세지를 남길 것 또한 요구한다. 즉, 누군가가 나의 커밋을 알아봐 준다는 것이다. 내가 만든 것을 누군가 알아봐 준다는 것은 그 자체로 신나는 일이다. 자연스럽게 내가 고민한 부분들을 메세지를 남기게 되고 다시 열심히 고민하게 된다.


commitMessage.png

분명 신나는 일이다.

커밋 메세지에 담긴 의미는 ' 잘했죠? 칭찬해주세요! ' 일지도 모르겠다.


1. 우아한 테크코스를 지원하려고 한다면?

  • 이런 사람에게 추천한다

    성장과 학습을 즐기는 개발자라면, 즐기는 개발자가 아니더라도 앞으로의 커리어에서 지속적인 성장과 학습이 필요하다고 생각하는 사람이라면, 분명 최고의 선택이 될 것이다. 겨우 프리코스 3주 동안 알게 된 지식이 정말 많다. 좋은 지식을 얻는 능력도 기를 수 있었다.

    또한, 약 10개월 동안 그런 사람들이 모인 커뮤니티에 참가할 수 있다. 돈 주고도 못 얻을 기회라고 생각한다. 사실 내가 참가할 수 있을지는 알 수가 없기에 테크코스 기간 동안 어떤 경험을 하였고 어떤 장점이 있는지는 아직 말할 수 없다. 하지만 이러한 프리코스를 거쳐 모인 사람들이라면, 분명 테크코스는 엄청나게 값진 경험이 될 것이라고 감히 확신한다. 지금은 나에게 좋은 결과가 뒤따른다면, 이후 포스팅하고 싶은 게 산더미 같겠지? 라는 작은 소망만 있을 뿐..

  • 이런 사람에겐 비추천한다.

    현재 중요시하는 일이 있다면 힘들수 있다. 프리코스의 미션들은 그 자체로 유혹하는 힘이 강하다. 당신이 학부생이고 시험을 앞두고 있으며 학점이 중요한 사람이라면 분명 힘들 것이다. 나는 프리코스 과정동안 미션의 유혹과 최소한의 학점이라도 받겠다는 알량한 양심과의 싸움에서 많이 힘들었다. 책임이 나에게만 있는 일은 깔끔하게 포기한다 쳐도 팀플의 경우는 나 몰라라 할 수가 없는 노릇이니..

    하고 싶은 공부를 하고 싶은 데까지 할 수 없다는 점에서도 속상함을 느꼈다. 때문에 현재 중요시하는 일이 있거나 책임을 져야 하는 일이 있다면, 정말로 열심히 살겠다는 각오를 한 후 지원해야 할 것이다.


이것으로 프리코스 리뷰를 마치고, 추후 여유가 생기는대로 프리코스 미션들과 오프라인 코딩테스트까지 리뷰 해볼 생각입니다. 혹시라도 궁금한 점이 있다면 댓글이나 메일 부탁드리겠습니다. 😆

profile
우아한형제들 서버 개발자

0개의 댓글

관련 채용 정보