🚀 들어가며
프론트엔드 데브코스에서 가장 기대했던 것 중에 하나는, 매주 과제를 수행하고 과제에 대해 팀원, 멘토님들에게 코드리뷰를 받을 수 있다는 것이었다. 나는 데브코스에 입과하기 전, 혼자서 백준 문제를 풀거나, Django로 인스타그램 클론코딩을 해본 경험이 전부였다. 그 때문에 나에게 다양한 커뮤니케이션의 기회와 협업 경험을 쌓을 수 있는 환경은 절실했고, 데브코스 최종합격을 했을 때 정말 기뻤던 기억이 난다.
데브코스 입과 전의 난, 깃허브에서 commit 과 push 외에는 전혀 몰랐다. 아니, commit 과 push 도 잘 몰랐던 것 같다. 데브코스 입과 후 토요일 첫 세션으로 프론트엔드 개발자 진유림님의 깃허브 특강을 수강했는데, 그 덕에 실무에서의 깃허브에 대한 활용 기본기를 알 수 있었다. (실제로 이후에 PR, 코드리뷰를 하는데에도 많은 도움이 됐다.)
깃허브에 대해 아무것도 몰랐던 나의 첫 PR을 기념하며 포스팅을 하기로 결심했다.
✅ 과제 수행
데브코스에서는 매주 과제가 주어진다. 첫 과제로는 두 개의 미션이 주어졌는데 이진트리의 전위순회, 후위순회, 중위순회를 구현하는 것과 트라이 자료구조를 활용하여 자동완성 검색 기능을 구현하는 것이다. 두 개의 미션 모두 재귀를 활용하여 풀어야 하는 과제였는데, 그동안 코딩테스트 문제만 풀다가 이러한 과제를 해결하려니 막막했다. 게다가 그동안 파이썬으로 코딩테스트를 준비했기 때문에, 자바스크립트 기본기가 없어서 절대 만만치 않았다. 그래도, 구글링 등의 도움 없이 내 혼자 힘으로 두 문제를 해결하였다. (5~6시간 정도 소요되었고, 이전에 코딩테스트를 대비하여 DFS, 백트래킹 문제를 제법 풀어보았기에 해결할 수 있었다.)
과제를 하면서 기능별로 commit 하기 위해 노력했다.
✅ Pull Request
과제 수행 전 레포지토리에 내가 과제를 수행할 2개의 브랜치를 따로 생성해야 한다. 레포지토리를 로컬로 받아와서 하나의 브랜치에서 과제를 수행하고 과제가 끝나면 다른 브랜치로 Pull Request 를 하는 방식이다.
그동안 브랜치의 개념과 활용법을 몰랐었는데, 이번 기회를 통해 직접 체감하면서 배울 수 있어서 한층 더 성장하는 기분을 느꼈다.
✅ 팀원 코드리뷰
과제를 수행한 이후에는 먼저 팀원들과의 코드리뷰 시간을 갖게된다. 나도 팀원들의 코드를 보며 잘못된 점은 없는지, 더 효율적인 코드는 어떤게 있을지 코멘트를 남길 수 있고, 또 팀원들의 코드를 보며 내가 미처 생각못했던 로직 등을 배울 수 있다.
다른 분들의 저작권(?)이 침해될 수도 있으니 다른 분들이 달았던 코드 리뷰는 공개하지 않겠다. 실제로는 나보다 다들 너무 잘하셔서, 내가 너무 많이 배워간다..😭 (더 분발해야겠다. 우리 팀원분들은 다 잘하셔서 내가 다는 코멘트는 전부 .. 와우... 잘 배워갑니다 라는 식의 코멘트라는 것은 안비밀이다.)
✅ 멘토님 코드리뷰
현업자이신 멘토님의 코드리뷰를 직접 받을 수 있다. 나의 코드를 현업자분께 리뷰 받는 것 자체가 너무 특별한 기회이고, 정말 하나에서 백까지 다 신경쓰려고 노력해주신다. 로직뿐만 아니라, 어떤 것이 더 효율적인 구현일지 직접 텍스트로 설명해주시며 이해시켜주신다. 덕분에 과제를 수행할 수록 성장하는 기분을 느낀다.
✅ 코드리뷰 반영
코드리뷰를 받고 나서는 Refactoring 하는 기간이 주어진다. 이 기간 내에 팀원들의 코멘트와 멘토님의 코멘트를 코드 내에 반영하면 된다. 가장 의미있는 시간이라는 생각이 든다. 처음 과제를 수행했을 때는 구현하기에 급급했는데, 내가 다른 분들의 코드를 이해하려 노력하고, 코멘트를 달고, 또 멘토님의 코멘트를 흡수하려고 노력하면서 많이 성장하는 것 같다. 실제로, 나의 첫 코드와 Refactor 를 마친 내 코드를 비교해보면 놀랄 정도다.
🛸 마치며
추가예정
'프로그래머스 데브코스' 카테고리의 다른 글
[MIL-1] 230919 ~ 231026 프론트엔드 데브코스 회고 / 첫 프로젝트, 모딥다 스터디, 백준 스터디, 커피챗 (2) | 2023.10.28 |
---|---|
[개인 프로젝트 회고] Vanilla JS 로 노션 클로닝하기 (1) | 2023.10.28 |
[JavaScript] SPA와 History API (2) | 2023.10.17 |
[JavaScript] 인프런 코어 자바스크립트 수강후기 (0) | 2023.10.15 |
[JavaScript] Map 과 Set (0) | 2023.10.13 |