티스토리 뷰

이 글은 우아한 테크 코스 중 3주간의 프리코스 과정을 담고 있습니다.

후에 테크 코스를 지원하시는 분들에게 조금이나마 도움이 됐으면 좋겠습니다.

 

 

 

우아한 테크 코스 3기부터 이전에는 없던 프론트엔드 과정이 생겼다.

따라서, 자신의 관심분야에 따라 프론트와 백엔드 중 선택하면 된다. (야호!)

우테코의 특이한 점은 단순히 코딩 테스트와 면접으로 참가자를 선별하는 것이 아닌 '프리코스'라는 별도의 교육과정을 3주간 진행한다는 것이다.

 

🤔 읭? 프리코스가 뭔데?

 

 

'합격 여부도 불확실한데 3주나 되는 시간을 투자해야한다니... 완전 도박 아닌가' 싶을 수 있지만 프리코스에서 정말 많은 것들을 배웠다. 프리코스만으로도 충분히 좋은 경험이 될 수 있다고 생각한다.

 

그럼 어떤 점이 좋았는가?

 

첫번째, 깔끔한 코드를 작성하는 방법

 

 프리코스 이전까지 다른 사람과 협업으로 개발을 진행해본 적이 없었기 때문에 구글링을 하며 주먹구구식으로 기능구현에만 초점을 두어 개발을 하였다. 그렇기 때문에, 혼자만 이해할 수 있는 코드를 작성한다던가 하드 코딩, 명확한 의미를 파악하기 어려운 네이밍 등등 체계적이지 않은 코딩 습관을 가지고 있었다. 그러나, 아래와 같은 요구사항을 지키려고 노력하다 보니 이전과는 비교할 수 없을 정도로 코드가 깔끔해지고 가독성이 높아졌다.

 

 

 

 특히, 이전에는 하나의 함수 혹은 메소드에 여러가지 기능을 담았다. 여러가지 함수를 만드는 것이 귀찮은 일이기 때문이다. (사실 이름 짓기가 제일 힘들어서 그랬다...) 그러나 자바스크립트는 객체지향 언어이기 때문에 단일책임원칙을 잘 지키는 것이 중요하다. 따라서 하나의 함수 혹은 메소드가 하나의 기능만 수행하도록. 또 그것들을 모은 클래스가 명확하게 하나의 책임만 지도록 구성해야한다. 물론, 이를 꼭 지키지는 않아도 되지만 이 사실을 유념하고 코딩을 한 결과물과 그렇지 않은 결과물은 꽤나 큰 차이가 난다.

 

 1차, 2차, 3차 과제를 진행하면서 점점 코드 컨벤션을 지키면서 프로그래밍을 하는 것에 익숙해졌다. 최초에 개발에 임할 때, 프로젝트 내부의 구조를 어떻게 구성할지 고민하는 것이 후에 수정하는데 드는 시간을 단축시킬 수 있었다. 소프트웨어 공학 수업 시간에 UML Class Diagram과 Sequence Diagram을 설계하는 방법을 배운 기억이 있다. 당시는 이런 모델링 기법이 왜 필요한지 잘 몰랐는데, 3차 과제에서 이전보다 복잡도가 올라가니 이래서 배우는 건가 싶었다. 

 

 

 

번째, 피드백

 

 한 주의 미션이 끝나고 새로운 미션이 주어질 때, 멘토분께서 전체 인원에 대한 공통 피드백을 제공해주신다. 이게 엄청나게 도움이 된다. 

 

 예시로 보여준 내용보다 훨씬 더 많은 피드백을 제공해주신다. 프리코스에는 참가인원이 많아 개인적인 피드백은 받을 수 없지만 참가자들이 공통적으로 겪고 있는 문제점들에 대해 짚어주시니 다음 과제를 진행할 때 큰 자원이 된다. 피드백을 참고하여 부족한 부분을 개선해나가는 과정에서 실력이 늘고 있다는 것을 실감하게 된다. 혼자 공부하는 것보다 백배 천배 더 효율적이고 도움이 된다. 

 

 

 

세번째, 다른 사람의 코드를 참고할 수 있다.

 

 과제인데 다른 사람의 코드를 참고하는 건 비양심적인 행위 아닌가?

 

 아니다. 코드를 ctrl+c, ctrl+v 하는 것처럼 베끼라는 말이 아니라 참고하라는 의미이다. 동일한 과제에 대해 여러가지 방식과 스타일로 구현된 코드를 볼 수 있는 기회는 생각보다 많지 않다. 프리코스는 깃헙을 통해 과제물을 제출하는데 여기서 다른 사람의 과제물을 확인할 수 있다. 예를 들어, 내가 코드를 function base로 만들었다면 class base로 만든 코드를 참고하는 것이다. HTML 태그를 javascript로 추가하는 경우에도, appendChild, innerHTML, insertAdjacentHTML 등 다양한 방법이 있다. 본인이 하나의 방법만 알고 있었다면 다른 방법도 배울 수 있는 좋은 기회가 된다.

 

 이처럼 홀로 코딩을 하는 것보다 여러 명의 코드를 보며 공부하는 것이 훨씬 효율적이고 많은 것을 배울 수 있다. 동시에 자신이 작성한 코드의 문제점을 보다 빨리 깨달을 수 있다. 내가 작성한 코드는 내가 만들었기 때문에 예뻐 보이기 마련이다. 그러나 집 화징실 거울에서는 잘생겨보였던 얼굴이 외출하고 마주치는 거울에서는 못생겨보이는 것과 같이, 남이 잘 만들어놓은 코드를 보면 내 코드가 부끄러워진다. 이 기분을 다음에 더 좋은 코드를 작성하기 위한 성장동력으로 삼으면 된다.

 

 ‘다른 사람의 코드를 보면 실력이 늘지 않는다.’라는 이상한 믿음 같은 것이 있었는데 프리코스를 계기로 이 믿음은 완전히 깨지게 됐다. 혹시 이 글을 읽는 당신도 이전의 나와 비슷한 생각을 가지고 있다면 어서 빨리 그 우물에서 나오라고 말해주고 싶다. 우물 밖에는 고수들이 너무 많다. 거인의 어깨 위에 올라타 그들의 시야를 경험해보자.

 

 

 

 

 마지막으로 만약, 프리코스 참가를 고민하고 있다면 꼭 신청하길 바란다.

 자기주도 학습을 통해 이전보다 훨씬 더 생산성 높고 확장성이 좋은 코드를 만들 수 있을 것이다.

 잘하는 사람들을 보며 새로운 자극을 받고 성장을 위한 도전욕구가 샘솟을 것이다!