부스트코스 웹 프로그래밍 과정은 총 6단계의 학습 콘텐츠가 있고,
각각의 콘텐츠 끝에는 학습한 내용을 토대로 진행하는 프로젝트가 있다.
개발자라면 당연히 프로그래밍을 단순히 지식적으로 아는 것에서 끝나는 것이 아니라 결과물을 만들 줄 알아야하기 때문에
이러한 프로젝트를 시도해보는 것은 분명 좋은 경험이다.
부스트코스는 유로로 각 프로젝트에 대한 전문가의 코드 리뷰를 지원해준다.
부스트코스 학습 콘텐츠 1. 웹 프로그래밍 기초 학습을 마치고 해당 콘텐츠의 프로젝트인 [나를 소개하는 홈페이지 구현] 제출 후기와 코드 리뷰 후기를 기록한다.
프로젝트 후기
부스트코스 웹 프로그래밍 과정의 프로젝트는 백엔드와 프론트엔드 각각의 요구사항이 있었다.
첫 번째 콘텐츠의 프로젝트로는 [나를 소개하는 홈페이지 구현]으로 HTML의 설계, CSS 스타일 지정, Java Servlet 기반의 백엔드 환경을 구성하는 것이 주요 요구 사항이었다.
수업 내용을 잘 소화했다면 크게 무리없이 진행할 수 있었지만, 개발 자체를 처음 하는 사람이라면 개발 환경을 잡는 것이 큰 관문일 것 같다. (예를 들어, 구현한 html 파일들이나 이미지 리소스 파일들을 어디에 두어야 할지부터 당황스러울 수 있을 것 같다.)
프로젝트를 완성시키는데 소요 시간은 3, 4시간 정도 걸린 것 같다.
전문가 코드 리뷰 후기
코드를 제출하는 방법은 (1)zip 파일로 업로드하는 방법과 (2)GitLab을 이용하여 올리는 방법이 있다.
zip파일로 올리는 것이 가장 수월하긴 하지만 여유가 있다면 GitLab을 이용하는 것을 추천한다!
GitLab은 Git이라는 분산 관리 툴을 지원하는 원격 레포지토리 서비스 같은 건데 GitHub을 사용했던 사람들은 큰 어려움 없이 사용할 수 있다. 현업에서 버전 관리 뿐만 아니라 협업 툴로서 Git을 많이 사용한다고 한다. 개발자의 길을 걷는다면 이 참에 익혀보는 것도 좋다고 생각한다. (구체적인 제출 방법은 부스트코스에서 매뉴얼로 제공된다.)
부스트코스에서 안내된 대로 제출을 완료하면 내 코드를 리뷰할 현업자 리뷰어가 배정된다.
첫 단계라 코드가 많지 않아서 그런지 리뷰는 비교적 빨리 완료되는 편이었다. (반나절이면 답이 와있었다.)
백엔드 리뷰와 프론트 리뷰를 함께 받았는데
백엔드에서는 한 번에 PASS가 되었는데 프론트 리뷰에서는 FAIL의 고배를 마셨다..
이유는 프로젝트 루브릭을 지키지 않은 탓이 었다.
구현이 어려운 내용은 아니었는데 요구사항을 꼼꼼히 체크하지 않아 놓쳤던 부분이었다.
코드 리뷰를 문제집 풀고 채점하는 것과 같이 생각하기 쉬울텐데 사실 그렇지 않다.
잘못한 부분은 짚어주는 것은 물론이고 잘한 부분은 칭찬을 해주신다.
그리고 더 나아가서 생각해 볼만한 것들 혹은 참고하면 좋을 지식들에 대해 소개해주고 관련 링크도 함께 보내주시기도 했다.
(백엔드 리뷰어 MOON님, 프론트엔드 리뷰어 배돌이님 진심으로 감사드립니다!)
제출할 때는 이렇게 메모를 통해 리뷰어에게 궁금한 점을 물어볼 수도 있다.
나 같은 경우, 백엔드에서 강의에서 학습한대로 UTF-8을 지원하도록 구현을 했는데 자꾸면 한글이 깨지는 현상이 나타나 한참 해메다가 코드가 의도대로 동작하지 않은 이유에 대해서 물어봤었다. 결론은 오타였다.. 다른게 문제가 아니라 나는 덜렁대는 게 문제 인 듯 하다. 프론트엔드에서는 네이밍컨벤션에 대해 질문을 했었다. 잘 못 알고 있던 것에 대해 짚어주셔서 바로 잡을 수 있었다.
마치며
물론 코드 리뷰 서비스는 유료로 진행되어 비용적인 부분에서 망설여지는 것이 당연하다. 하지만 감히 꼭 도전해보라고 권하고 싶다.
혼자 공부하는 입장이라면 내 코드를 누군가에게 보여주고 평가를 받을 수 있는 환경은 주변에 그리 많지 않다. 동아리, 선배 및 동아리를 통해서 리뷰를 받는다고 하더라도 현업자만큼 전문성을 갖추기란 어렵다.
또한 혼자 개발을 하다보면은 가독성과 유지보수 측면은 생각하지 못하고 기능 중심으로 구현하게 되는데 그러다보면 점점 나만 아는 코드(머지 않아서 나도 모르는 코드)가 되기 쉽상이다. 코드가 읽히지 않는 것은 개발자로서 협업 과정에서 치명적인 문제로 다가올 수 있다.
현업에서 필요로하는 개발자가 되고 싶다면 현업 개발자에게 도움을 받는 것보다 정확한게 있을까 싶다.
좋은 경험으로 시작해 강력한 동기 부여가 될만한 좋은 서비스이니 꼭 도전해보는 것을 추천한다.
'Tech > BoostCourse - WEB' 카테고리의 다른 글
[부스트코스] JavaScript Debugging (0) | 2020.02.24 |
---|---|
[부스트 코스] Ajax 통신의 이해 (0) | 2020.02.24 |
[부스트코스] Browser Event, Event object, Event handler (0) | 2020.02.20 |
[부스트코스] DOM과 querySelector (0) | 2020.02.20 |
[부스트코스] 자바스크립트 window 객체(setTimeout) (0) | 2020.02.20 |