왜 CS 공부를 해야하는지 먼저 생각을 해봐야한다.
비전공자와 전공자의 차이가 무엇일까라고 물어본다면 본인은 다름 아님 CS. 컴퓨터 사이언스라고 생각한다.
컴퓨터공학 전공자들이 방대한 CS라는 학문을 모두 이해한다는 것은 힘든 일다.
하지만 넓은 지식의 아는 단어라도 혹은 어디서 들어본 경험만으로도 접근하여 추가적인 구글링과 공부를 통해 원하는 지식을 얻어갈 수 있다.
본인은 비전공자 개발자이기 때문에 이 넓은 개발 세계의 얕은 지식이라도 쌓고자 이번 CS 스터디에 참여하게 되었다.
누군가는 말할 수 있다.
"그럼 깊이는 중요하지 않은가 ?"
이렇게 대답을 해주고 싶다.
"얕은 지식은 보물 지도이며 깊은 지식은 보물 지도에 그려진 X표시"라고.
먼저 스터디에 사용되는 책과 강의는 주홍철 개발자님의 면접을 위한 CS 전공 지식 노트와 CS 지식의 정석으로 공부를 하였다.
주홍철 개발자님은 채널명 큰돌이라는 유튜브를 운영 중이시며 가끔 CS에 대한 영상을 올리시는 분이시다.
이 분의 강의와 책을 고른 이유는 방대한 CS의 세계를 모두 깊게 들어가기엔 스터디 기간이 너무 길어질 거 같기 때문에 CS의 중요한 부분을 최대한 압축해 놓은 해당 강의와 책을 골랐다.
스터디는 일주일 동안 분량을 정하고 해당 분량을 공부해오고 각자 발표할 부분을 정하고 노션 템플릿에 해당 발표 자료를 정리하여 올려놓는다.
이후 디스코드의 화면공유를 통해 본인이 집중적으로 공부한 발표 주제를 발표하고 질의응답하는 시간을 매주 월요일 저녁 9시에 가졌다.
스터디 중 가장 잘했다고 생각한 부분은 바로 약속이다.
스터디 참석률이 100%였으며 도중에 포기하신 분들이 한 명도 없었다.
스터디원들에게 정말 감사하고 스스로에게도 엄지를 올려주고 싶다.
해당 강의와 책에서는 코드의 예시가 자바스크립트로 되어있는 부분이 없다.
그렇기에 다른 언어를 접해보지 못한 우리들은 해당 코드들을 이해하고
자바스크립트로 바꾸어서 설명을 해야했고 스터디원들과 필자는 이를 자바스크립트로 바꾸어 설명하며 스스로 이해한 내용을 코드로 설명하는 능력을 키웠다고 생각한다.
위에서 언급하였지만 한달 두달 공부한다고 CS를 깊게 공부하기는 어렵다.
그래서 이러한 부분이 조금 아쉽다고 느껴졌다.
HTTP와 디자인 패턴과 같은 부분은 프론트엔드 개발자에게 중요한 지식 중 하나인데 이를 스터디 기간동안에 깊게 공부하기란 너무나도 방대하기에 중요하다 생각하는 부분만 선택적으로 공부할 수 밖에 없었다.
코드 예시와 함께 설명하는 부분들에 있어 이해하기 어려운 부분들이 있었다.
대부분 이럴 때는 구글링과 유튜브를 통해 관련 자료들을 검색하여 살펴보았는데
그럼에도 불구하고 이해하지 못한 부분들이 있었다.
그런 부분들을 조금 더 끈기있고 확실하게 이해를 하고 넘어가야하지 않았을까 생각이든다.
일단 주홍철 개발자님의 책과 강의는 이러한 사람들에게 추천하고 싶다.
비전공자 개발자이거나 IT지식을 요구로하는 직무로 계신 분들에게는 추천을 드리고 싶다.
다만 CS에 대한 깊은 지식을 원하시거나 면접 준비용으로 가져가시는 것은 조금 비추천한다.
책 이름은 면접을 위한 CS 전공지식 노트이지만 내용의 깊이가 부족하여 면접에서 꼬리질문이나 압박질문이 들어오면 얕은 지식으로 아는 척(?)하는 개발자로 낙인이 찍힐 수도 있을거 같다.
프론트엔드 개발을 하고 있지만 백엔드와 인프라와 관련된 지식들도 하나씩 배워가는 좋은 스터디가 되었다.
스터디에서 배운 지식을 기반으로 문제에 부딪혔을 때 어떠한 방향과 방식으로 해결을 해야할 지 알 수 있을거 같다.