[Kernel360] 셀 그룹스터디,, 소개 해볼까요?

서론

Kernel360 과정 내부에는 프로젝트 팀 말고도 셀이라는 독립적인 단위의 조직이 존재합니다. 처음에는 왜 이 아무런 연관도 없는 사람들을 모아놓았을까? 라는 생각이었다면.... 사실 지금은 제일 친한 친구(?)와 같은 느낌의 사람들입니다. 딱히 프로젝트를 같이 진행하지 않아도 되고 (서로에게 스트레스 줄 일이 거의 없음).. 아무것도 하지 않아도 된다고는 했지만.. 이왕 하는거 더 친하게 지내고 싶고, 백엔드라는 공동의 목표가 분명히 존재하므로 셀장으로서 스터디를 제안했었습니다.

 

현재 진행 중인 스터디들,,

https://github.com/Kernel360-cell1

 

Kernel360-cell1

Kernel360-cell1 has 4 repositories available. Follow their code on GitHub.

github.com

 

처음 스터디를 시작했을 때 부터 셀 내부에서 진행하는 스터디들을 한 곳에 모아두고자 organization을 통해서 관리했었습니다. 이후에 기록을 돌이켜 봤을 때도 한눈에 보기 편하다는 생각이 들었고 조금 더 정리를 해두고자 하는 마음이 컸었던 것 같습니다.

 

CS 스터디.. (잠정 중단 후.. 곧 돌아올 예정입니다.)

맨 처음 시작하자고 했던 스터디 중 하나입니다. 기본적으로 모든 자료구조, 데이터베이스, 네트워크 등 개발자라면 알아야 하는 지식들을 함께 쌓아가고자 시작했었습니다. 현재 2주차까지 진행이후 스터디원들과 내부 회의를 거쳐서..지금 필요한 기술들을 더 공부하는게 맞지 않을까라는 과반수의 의견으로 잠시 중단된 상태입니다. (이후에 언급하겠지만... 미리 주제가 정해지지 않은 상태에서 스터디 주제를 변경하는 일은 참으로 힘들었습니다..)

 

위와 같은 강의를 사용했었는데, 아쉽게도 자료 구조를 듣고 난 이후, 자바를 주로 사용하는 스터디원들의 특성 상 파이썬으로 배우는 것이 조금 힘들다고 판단이 되어 이후에는 강의를 아예 더 기본에 가까운.. 개념을 설명해주는 강의로 바꾸려고 하는 계획 중에 있습니다. (감사하게도 과정 운영진 측에서도 이에 맞는 강의를 제공해주셨습니다.)

 

알고리즘 스터디 (온라인)

처음에는 일주일에 다섯 문제 씩 풀자고 했다가.. 다른 셀원들의 뭇매를 맞고 (그건 좀 힘들지 않을까요?) 일주일에 한 문제 씩만 풀되, 꼭 제출은 하고 리뷰어를 지정해서 코드 리뷰를 꼭 받고 다른 사람의 코드를 보는 눈도 기르자는 형식으로 바꾸게 되었습니다. CS와 마찬가지로 알고리즘을 하루 아침에 쉽게 쌓을 방법은 없다고 생각하기 때문에, 저는 꾸준히 문제를 풀고 모르는 개념들을 정리하고 해결해 나가는 방식으로 길러왔었고, 지금도 이러한 방식을 통해서 새로운 알고리즘등을 습득하고 있습니다. 

 

물론 너무 제 뜻만을 강요하고 싶지 않아서, 패널티도 따로 두지 않고 최대한 문제를 줄이는 방향성을 띄고 있지만.. 과정 내의 다른 알고리즘 스터디에 비해 비교적 잘 운영이 되고 있지 않나 싶습니다. 한 주도 거의 놓치지 않고 전원이 계속 참여하고 있고, 불안했었던 초기 시작에 비해서 어느 정도 실력이 상향 평준화 되고 있는 것 같습니다.

 

이전에 일주일에 한 문제 씩 풀때는 다음과 같이 스터디원들이 풀었던 문제를 알고리즘 스터디 레포에 리드미에 기록하는 방식으로 진행했었습니다.

제가 중복 문제 풀지 말라고 분명히 말씀 드렸잖아요... 읍읍

 

하지만 문제 수를 일주일에 2개로 늘리고 나서 부터는 더 이상 관리하기가 힘들어졌고 보기가 힘들어져서 노션 위키로 이사간 상태입니다. 이후 기록은 아래의 노션 위키에서 확인하실 수 있습니다.

 

https://difficult-file-8f6.notion.site/5fb89e4f12a9488f96e750edb2f8e918?v=0ddba68aadae441186b0b32743e1b716

 

그날 본 알고리즘의 로직을 우리는 아직 모른다. | Built with Notion

https://github.com/Kernel360-cell1/algorithm-study 프로그래머스 문제 태그는 직접 작성하였기 때문에 틀렸을 수도 있습니다.

difficult-file-8f6.notion.site

 

아키텍쳐 스터디

스터디원들의 의견을 바탕으로 CS 스터디를 잠시 중단하고 새로운 스터디 주제를 찾아야 했습니다. 지금도 그렇지만 과정에서 제일 많이 사용하는 기술인 자바 / 스프링을 공부해보고 싶다,, 데이터베이스를 더 깊게 공부해보고 싶다라는 다양한 의견들이 있었습니다. 스터디를 진행해보셨다면 느끼신 적이 있겠지만,, 주제를 정하는 일은 진짜 고됩니다. 주제를 정하고 어떤 방식으로 스터디를 진행해갈지도 당연히 정해야하지만, 지금과 같이 시간은 제한적이고 배워야할 주제가 많은 신입 개발자들에겐... 더 당혹스러울 뿐입니다.

 

그러던 와중 과정에서.. 그룹 스터디를 지원해준다는 좋은 소식을 듣고 지원 받은 예산과 필요한 시간을 고려해서 책으로 스터디를 진행하기로 했고, 스터디 원들도 추천하고 저도 이전부터 관심이 있었던 가상 면접 사례로 배우는 대규모 시스템 설계 기초라는 책을 통해서 책으로 진행하기로 했습니다. (광고 아닙니다..)

 

가상 면접 사례로 배우는 대규모 시스템 설계 기초 | 알렉스 쉬 - 교보문고

가상 면접 사례로 배우는 대규모 시스템 설계 기초 | 페이스북의 뉴스 피드나 메신저,유튜브, 구글 드라이브 같은 대규모 시스템은 어떻게 설계할까? IT 경력자라도 느닷없이 대규모 시스템을 설

product.kyobobook.co.kr

 

스터디 진행은 매주 일정 챕터까지 읽고 문제를 내서 랜덤으로 한 명을 뽑아서 그 질문에 답을 하는 식으로 구성했습니다. 매주 올렸던 기록들이 아래 깃헙 이슈에 정리되어 있습니다.

https://github.com/Kernel360-cell1/architecture-study/issues

 

GitHub - Kernel360-cell1/architecture-study: 너의 아키텍쳐는? - 욕망의 아키텍쳐 스터디

너의 아키텍쳐는? - 욕망의 아키텍쳐 스터디. Contribute to Kernel360-cell1/architecture-study development by creating an account on GitHub.

github.com

 

다들 아키텍쳐 공부할 생각에 신나보이지 않나요? 아니라구요? 다시 한번 잘 보세요.

 

비록 책에 나온 내용들이 기술적으로 이해하기 힘든 부분들이 많았고 짧은 시간 내에 써보지도 않은 기술들에 대한 지식을 습득하느라 생각보다 더 깊게 들어가지는 못했던 것 같습니다. 분명 아쉬움이 많았지만, 반대로 생각을 바꾸어 보자면, 그 동안 백엔드 개발자가 되기 위해 기본 지식들을 쌓으면서 이 길의 끝에는 뭐가 있을까? 라는 개인적인 의문이 있었는데, 이 책을 통해서 어느 정도 해소 되었던 것 같습니다.

 

후기

이전에 혼자서 개발을 독학하는 동안 함께 이런 활동들을 할 수 있는 사람들이 절실하게 느껴졌었는데, 직접 스터디를 꾸리고 이끌어 나가면서 상당히 좋은 경험이 되었던 것 같습니다. 개발은 새로운 기술을 습득하고 적용하는 것도 중요하다고 생각하지만 항상 제가 가지고 있는 것을 나누는데 의미가 있다고 생각합니다. 기존의 개발 생태계도 오픈 소스에 적대적이었다면 현재처럼 성장할 수 없었으리라 생각될 만큼, 개발자에게 어떻게 보면 배움을 나누는건 필수적인 요소라고 여겨집니다. 여태 과정에서 진행해왔던 스터디들처럼 앞으로도 더 많은 사람들과 배움을 나눌 수 있는 기회를 만들고 찾아가야겠습니다.