0. Overview
어느덧 프로그래머스 백엔드 데브코스 과정에 참여하게 된지 3개월이 지났다. 데브코스에서는 나를 포함하여 6명의 팀원들이 함께 백엔드 개발자를 목표로 공부하고 있다. 데브코스에서 최대한 많은 것을 얻어가고자 커리큘럼 이외의 스터디를 진행하게 되었고 "HTTP 완벽 가이드"라는 책을 스터디 도서로 선정하여 스터디 진행 과정을 기록해보려고 한다.
1. 스터디 도서 선정
스터디 이야기가 팀이 결성되고 초반에 나왔던 것 같다. 팀원 모두가 스터디에 관심이 많았으며 공부하고자 하는 열정을 가지고 있었다. 이야기가 일찍 나온것에 비해 도서를 선정하는 부분에서는 꽤나 시간이 걸렸던 것 같다. 처음에는 면접 준비를 위한 스터디를 할 지, 조금은 자세히 들여다 볼 수 있는 스터디를 할 지 고민이 많았던 것 같다. 당장은 교육 초반부였기 때문에 사실 면접을 위한 스터디가 그렇게 중요도가 높을까라는 생각이 들었고 CS 지식은 좋은 백엔드 개발자가 되기 위한 필수 요건 중 하나라고 생각했기 때문에 팀원들의 의견은 조금은 자세히 들여다 볼 수 있는 스터디를 진행해보자. 라는 방향으로 모여졌다. 그렇게 데이터베이스, 운영체제, 네트워크 등 다양한 CS 관련 주제가 나왔지만 이전에 데브코스의 한 리더님께서 세션에서 말씀해주셨던 "HTTP 공부를 꼭 해라"라는 말에 우리는 관련 책을 찾아보다가 꽤나 오래전에 출판된 도서이지만 HTTP 관련 근본 책이라고 불리는 "HTTP 완벽 가이드"라는 책을 스터디 도서로 선정하게 되었다.
2. 스터디 진행 방식
팀원들 중 일부는 기존에 스터디를 참여해 본 경험이 있거나, 참여 중인 팀원도 있었지만 필자는 스터디에 참여해 본 경험이 없었다. 현재 교육 과정과 더불어 스터디를 꼬박꼬박 성실하게 참여할 수 있을까라는 두려움이 존재하긴 했지만 팀원들에게 피해를 끼치면 안된다.라는 생각에 마음가짐을 다시 잡을 수 있었던 것 같다. 나를 포함한 6명의 팀원과 서브멘토님까지 함께 스터디를 진행하게 되었고 진행 방식으로는 대략적으로 아래와 같은 계획으로 진행했다.
1. "HTTP 완벽 가이드 읽는 방법"이라는 키워드의 글들을 바탕으로 핵심적인 챕터들을 선정
2. 핵심적인 챕터들의 분량을 살펴보았고, 일부 양이 많은 챕터나 적은 챕터들을 적절히 분배
3. 스터디는 일주일에 1번 (보통 매주 수요일) 진행하며, 평균 2챕터 ~ 3챕터씩 진행
4. Github에 스터디를 위한 Organization을 만들고 Issue로 챕터들을 관리, 각자 정리한 내용을 올림
5. 매주 스터디 시간에는 챕터당 한명씩 룰렛을 돌려 발표를 진행하고 팀원 간 추가적인 공유
🔗 Issue에 챕터 정리 및 발표
스터디는 보통 본인이 책을 읽고 전반적인 내용을 간략히 정리하거나, 궁금한 점이나 추가적으로 알아본 자료 등을 다른 사람이 발표한 이후에 추가적으로 공유하는 방식으로 진행했다. 아무래도 각자 데브코스에 참여하여 공부할 분량이 많았을터라 스터디에 할애할 시간이 많지 않을 것이라고 판단하여 빡빡한 느낌의 스터디라기 보단, 조금은 프리한 스터디였던 것 같다. 해당 내용들을 바탕으로 선정된 인원들이 발표를 간단히 진행했다. 미리 인원을 선정하는 것이 아니라 당일에 룰렛을 통해 인원을 선정하다보니 발표라는 압박감이 조금은 있어 팀원 모두가 강제성이 어느 정도 부여되어 긍정적인 효과가 적용되었다고 생각한다.
🔗 좀 더 알아본 내용 공유하기
해당 주에 스터디를 진행하는 챕터를 읽고 추가적으로 궁금하거나 보다 자세히 알아본 부분은 발표 이후에 팀원 간 공유를 진행했다. 그 중 위의 이미지는 14장 보안 HTTP 챕터 파트에서 가장 유명한 공개키 암호화 알고리즘인 RSA에 대해 좀 더 자세히 알아보고 팀원들에게 공유한 부분이다. RSA를 전공 과목이나, 정보처리기사 자격증을 준비하던 시기에 꽤나 많이 들어보긴 했지만 정확히 어떤 방식으로 암호화를 하는 방법인지는 모르고 있었다. 팀원들에게 공유한다. 라는 점에서 타인에게 설명을 해야한다고 생각하니 강의 느낌으로 간략히 정리를 하게 되었고 타인을 이해시켜야 한다고 생각했기 때문에 우선 나 자신이 높은 이해도를 가져갈 수 있었던 것 같다.
3. 회고
보통 공부하고자 책을 사거나 대여하면, 혼자서는 계획없이 읽고 싶을 때 읽고 읽기 싫으면 읽지 않는.. 그런 아주 머리에 남지 않는 비효율적인 독서를 했었다면 스터디를 통해 책 한권을 계획적으로 읽어본 경험을 하게 된 것 같다. 책 두께가 꽤나 두꺼워서 처음에 책을 받고 두려운 마음이 들긴 했지만 스터디를 진행하면서 읽어둔 표시들을 보다보니 벌써 이만큼이나 읽었나? 하는 뿌듯한 마음도 들었던 것 같다. 이것이 어느 정도의 강제성 + 계획의 중요함..!
HTTP가 현재 공부하고 있는 백엔드와 깊은 연관이 있기 때문에 실제 개발하면서도 사용했던 HTTP 메소드나 요청, 응답 객체의 Header 등 다양한 부분에서 안보이던 것들이 눈에 익숙해지고 스터디 내용의 모든 것을 정확히 기억은 하지 못하더라도 예를 들어 "어 ! 책에서 봤던 헤더인데 뭐였더라 ?"하고 기억을 되짚어 찾아볼 수 있는 능력이 생기게 되었던 것 같다. 무엇보다 혼자 공부하면 사실 이해하는데 한계가 있지만 내가 잘 이해하지 못한 부분들은 다른 팀원들이 보충 설명을 해주고, 또 팀원들에게 자세히 알아본 내용까지 공유하니 지식들이 +++ 되는 느낌이 들었다. 또한 최대한 현재 공부중인 스프링에 연관지어 공부하려고 노력했던 것 같아서 도움이 많이 되었던 것 같다.
많은 분량의 책을 생각보다 짧은 기간내에 스터디를 진행하고, 마치게 되었는데 아무래도 책 내용 자체가 딱딱한 내용들이 많기 때문에 익숙한 캐시같은 챕터나 HTTP 메소드 등을 제외한 일부 챕터는 조금 지루하고 어렵게 느껴지는 부분도 있었다. 아마 혼자 읽었더라면..? 넘겨버리지 않았을까 😅
아쉬웠던 점은 사실 나의 문제이긴 하지만 스터디 2~3일 전에 책을 거의 몰아서 읽는다는 것이다. 다른 공부를 하다보면 스터디는 조금 뒷전이 되어서 직전에 바짝 준비하는 경우가 많았는데 이 부분이 많이 아쉬웠다.. 급하게 읽다보니 자세한 이해를 하기에는 시간이 조금 부족했던 것 같고 최대한 자세히 정리하고 읽어보려고 했지만 어려웠던 경우가 많았던 것 같다. 그래도 팀원들이 가장 열심히 정리하고 준비해온다. 라고 이야기해주어 더 열심히 할 수 있었던 것 같다. 또한 읽은 챕터를 정리하여 발표하는 것이 조금 아쉽긴 했다. 내용 정리는 좋다고 생각하지만 발표에서는 추가적으로 조사해 본 내용이나 공부한 것들을 공유하지 않는 이상 단순히 내용 정리한 부분을 읽는 듯한 느낌이 조금 있었기 때문에 다음 스터디에서는 조금 다른 방식으로 진행해봐도 좋을 것 같다(ex. 문제 출제 방식)
스터디를 처음 진행해보면서 서투른 부분들이 많았지만 스터디의 전반적인 경험을 할 수 있었고 다음에 또 다른 스터디를 진행했을 때는 어떤 식으로 진행하면 이번 스터디의 아쉬웠던 부분들을 보충할 수 있을지 생각하게 된 것 같다. 이번 HTTP 완벽 가이드 도서 역시 처음 스터디를 통해 읽어봐서 급하게 넘긴 부분들이 꽤나 있기 때문에 다음에 시간날 때 한번 더 읽어보면 더 깊은 이해가 될 것 같다. 스터디 기간동안 함께 열심히 참여한 팀원들에게 감사하며 고생했다는 말을 하고 싶다 !
++ 스터디마다 매번.. 룰렛에서 걸려서(마지막 딱 한번 빼고...) 발표를 하게 되었는데 오히려 좋았다 !!!!!!!!!!!!!!!