본문 바로가기
Judy/끄적끄적

예비 개발자는 어떻게 CS 스터디할까

by HelloJudy 2023. 2. 8.

지금까지 내가 성장해 온 과정을 떠올리면 나는 스터디를 통해 성장해 왔다.

공동 학습을 추구한다. 공유의 가치와 함께 하는 것의 시너지를 믿고 그것이 내 성장 원동력이다.

내가 참여했던 스터디들은 코테스터디(3번), 데이터분석 & 머신러닝 스터디, 데엔 & 데옵 스터디, 1D1P 스터디(2번), CS 스터디(2번) 등이 있다. 작년 6개월 동안 교육을 수료했지만 백엔드 교육은 2주뿐이었고 필요한 내용은 항상 스스로 학습해서 습득해 왔다.

 

 

지금까지 스터디 중 최근에 진행 중인 CS 스터디를 어떻게 시작했고 진행하고 있는지 기록해 보자.

 

신입 개발자 CS 면접 대비 및 지식 공유 👩‍💻 🔥

👉 Repository

 

(구독, 좋아요, 알림 설정은 없고 별 ⭐️ 눌러주세용😏)


🚀 등장배경(?) 

[ 1:1 암기는 🙅‍♀️ ]

나는 작년 7월 CS 스터디를 한 적이 있다. 이때 서로 가지고 있는 기술 수준도 다르고 공부할 범위도 달라 맞지 않았던 거 같다.

매주 돌아가면서 CS 전체 범위에서 질문을 받고 답변했는데

기본적인 개념 학습이 되지 않은 채 면접을 준비하다 보니 깃허브에 올라와있는 CS 면접 질문에 대한 일대일 답변만 준비하며 다급하게 암기식으로 공부했다.

 

이렇게 하니 깊이 있는 개념을 숙지할 수 없었고 준비한 질문에서 조금만 벗어나도 대답을 하지 못했다.

이는 자신감을 더욱 떨어뜨렸다. 열심히 준비했음에도 말을 더듬는 내 모습을 보며 제대로 하고 있는지 고민하게 되었다.

 

그래서 새로 CS 스터디를 시작한다면 초점을 질문에서 벗어나서 개념 그 자체에 두자고 결심했다.

 

[ CS 공부해요 ]

현재 스터디원은 오프라인 모각코 스터디를 했던 분들과 진행하고 있다.

역시 인연은 모른다. 11월 말에 만난 사람들과 지금까지 함께 공부하고 있다니!

 

오프라인 모각코 스터디

 

/**

잠시 다른 곳으로 빠지면.. (오프라인 모각코 스터디 이야기) 원래는 혼자 공부할 예정이었는데 용기를 내서 오프라인 스터디를 열었고 총 7명이 모였었다.

4명 정도 소규모를 예상했던 나는 예상 밖의 인기(?)로 부담감을 가지고 수업 시간 몰래 스터디룸을 알아보고 진행 방식을 고민했다. 더 잘 운영하고 싶어서 심장이 두근거리며 준비했다.

그리고 첫 스터디 당일에는 감기로 눈물 콧물 흘리며 참석했다..! (나 맨날 아픈 거 같아;; 운동 3년 하면 뭐해(?))

7명이 귀한 시간 6시간을 투자하여 오프라인으로 모이는 만큼 모두가 원하는 걸 얻어가는 스터디가 되길 바랐다. 그래서 도움이 되는 스터디가 될 수 있도록 열심히 준비했다.

**/

 

 

🚩 목표와 규칙 정하기

일시: 2022-12-29 (목) 20시 ~ 22시 (2h)
장소: 디스코드 채널 라운지
내용: 스터디 방향 정하고 앞으로 계획과 목표 설정

 

앞으로 스터디 진행 방향을 잡기 위해 첫 회의를 진행했다.

우선 내 경험을 바탕으로 스터디/프로젝트를 진행할 때 중요하다고 생각하는 건 각자의 목표와 해당 스터디/프로젝트의 목적을 서로 파악하는 것이다.

 

서로의 목표와 목적이 같을 때 모두에게 도움이 되는 스터디가 될 수 있다고 생각한다.

그래서 초반에 이런 점을 잘 파악하고 시작해야 한다.

 

[ 목표 ]

  • CS 기본 지식들을 깊이 있게 습득
  • 알고 있는 내용을 명확하게 전달하는 연습을 함
  • 공부한 내용을 설명하여 죽은 지식이 아닌 살아있는 지식으로 바꾸고자 함

 

❓ 그냥 개념 공부는 혼자 해도 되는데 왜 스터디를 해야 하는가

 

실제 회의 과정에서 스터디원이 한 질문이다.

 

💡 이 질문에 대한 내 생각은 두 가지이다.

 

 

1) 아는 개념을 논리적으로 설명하고 말하는 연습을 하자. 

 

공부한 내용을 입 밖으로 꺼내보는 게 중요하다고 생각한다. 서로 설명하며 계속 말로 꺼내보아야 죽은 지식이 아닌 살아있는 지식이 될 수 있다.

 

또한 면접에서 질문받는 경우를 생각해 보자.

예를 들어 "객체 지향 프로그램의 특징에 대해 설명해 주세요."라는 질문을 받았을 때 자바를 공부했다면 개념에 대해서는 숙지하고 있을 거다. 하지만 막상 대답하려니 해당 개념에 대한 범위는 너무 넓고 어디까지 말해야 할지 고민될 것이다.

말은 장황해지고 듣는 사람은 지루해진다.

 

그래서 아는 내용을 논리적으로 잘 설명하는 연습이 필요하다. 그리고 완벽하게 알지 못하더라도 아는 만큼 대답하는 자세 또한 중요하다.

이러한 여러 상황을 준비하는 게 모의 면접이다.

 

 

2) 내 강점을 만들고 전달할 수 있는 개발자가 되자.

 

CS 개념은 참 많다. 취준생의 입장에서는 모두 다 포기할 수 없는 개념이다. 그런데 혼자 넓은 CS 숲에 떨어지면 이 많은 나무를 어떻게 익혀야 할지 고민될 수 있다.

 

이때 팀원들과 함께 공부해 보자. 많은 나무 중에 내 나무를 찾아서 그 나무에 대해서 완벽하게 공부하자. 이것이 내 강점이 된다.

서로의 강점을 공유하다 내가 공부하며 놓친 내용을 습득할 수 있다.

 

실제 현업도 비슷하다고 생각한다.

모든 팀원이 모든 기술스택에 능숙할 수 없다.

그렇다면 각자의 강점을 만들고 그 강점을 팀원에게 전달하고 우리 프로젝트에 적용하는 능력 역시 중요하지 않을까.

그래서 매주 개인 주제를 정하고 전달하는 방식으로 결정했다.

 

각자의 강점을 만들었으니, 다른 팀원들에게 잘 전달하고 해당 주제의 질문을 받는다.

 

 

❓ 그냥 개념 공부는 혼자 해도 되는데 왜 스터디를 해야 하는가

 

그래서 위의 질문은 "(1)번 모의 면접, (2)번 개념 발표로 채우자"로 답변할 수 있겠다.

 

[ 목적 ]

  • 얼마나 기본 지식을 가지고 있는지 알아보는 과정
  • 기본 지식을 얼마나 응용할 수 있는지 평가하는 과정
  • 다른 지원자 대비 상대적으로 잘하는 부분이 있는지 알아보는 과정
  • 기술적인 센스가 있는지 판단하는 과정 (기술 간의 연관성, 응용의 확대, 기술의 유사함 인지, 기술의 흐름 파악 등)

 

[ 규칙 ]

  • 20시 03분부터 지각으로 간주
  • 지각 3회 시 결석 1회
  • 결석 1회 시 벌칙
  • 3회 연속 불참 시 벌칙
  • 숙제 안 했을 때 벌칙
  • 참석할 수 없을 경우 일요일 자정 전까지 불참 사유를 스터디원에게 공지

 

 

👣  스터디 진행 방식

 

챕터를 나눠 진행한다.

7명 모두 백엔드 개발자로 네트워크, 운영체제, 데이터베이스, 자료구조, 자바&스프링 순서로 계획하고 있다.

 

매 챕터마다 다음 사이클을 반복한다.

 

1~n주차 : 개념 공부 (선택한 주제)
n+1주차 : 모의 면접
회고

 

이 단위가 반복된다.

여기서 개념학습 기간은 챕터 주제에 따라 조절될 수 있다.

 

[ Issue 활용 ]

예전 코테 스터디에서 Issue와 PR을 스터디 진행에 활용한 적이 있다.

그래서 이번에 CS 스터디에서도 이슈로 스터디를 진행하고 문서화했다.

개인적으로 문서가 흩어지는 걸 선호하지 않기 때문에 대부분 Git Repo에서 관리할 수 있도록 했다.

 

깃 Issue

파워 J로 이렇게 딱딱 맞는 문서.. 너무 좋다.. 햄보캐..

 

 

[ 개념 공부 (팀별 스터디) ]

 

  1. 각자 준비한 내용 발표
  2. 팀원에게 자신이 공부한 파트 부분 모의 퀴즈
    • ex. TCP/UDP를 공부해 온 은선이 해당 주제를 정윤과 현철에게 퀴즈
  3. 그 외 팀별로 서로의 정리 내용을 보고 궁금한 점 질문, 따로 알게 된 사실 공유, 해당 주제에서 질문할 수 있는 내용 공유

 

우리는 7명이라는 많은 팀원이 있어 매 챕터마다 두 팀으로 나누기로 했다.

 

CS 공부를 하며 좋았던 점은 앞으로 업무에서 어떤 설계를 해야할 지 공부할 수 있다는 점이다.

처음부터 운영체제, 데이터베이스 등 공부하면 안 와닿을 수도 있다.

"이게 그래서 어디 쓰는 걸까."라는 생각을 할 수 있다.

일단 개발을 하면서 굴러본 뒤 개념을 공부하니 아 그래서 네트워크를 공부하고, 웹 푸시 기능할 때 보안 방법이 이런 개념이구나. 하면서 이해할 수 있었다.

 

이런 점을 보아 CS 면접 대비를 위해 공부를 하지만 CS 개념은 우리가 앞으로 개발을 하려면 필수적으로 꾸준히 공부해야 한다.

나는 비전공자로 학교 융합전공이나 일부 전공에서 조금씩 공부한 내용이 전부였다.

그래서 개발부터 하고 현재 다시 CS 공부를 하는 지금. 오히려 현재. 더 개념이 와닿아 재밌게 공부할 수 있는 것 같다.

 

/**

또 딴 이야기로 나는 취준 공부가 취업 자체만을 위한 공부일 때 재미가 없다. ㅠ 그래서 나는 예전에 공기업 준비할 때 필요한 자격증 공부는 재미가 없었다.. (개인적인 생각)

그래서 지금 개발공부는 취준 겸 앞으로 실무에서 쓰일 내용을 공부하는 거라 지치지 않고 할 수 있는 거 같다 ㅠㅠ 재미써~ (자소서 쓰는 거 빼고..ㅎㅎ)

**/

 

개인 주제 선정 후 발표하는 이유는 위에서 설명했으니 넘어가자.

 

 

[ 모의 면접 ]

모의 면접 주간에는 다른 팀원들이 정리한 주제에 대해서 학습하고 질문한다.

각 주제에 대한 전문가(?)가 있기 때문에 막히는 점도 바로바로 물어볼 수 있는 장점이 있다.

 

모의 면접 진행 방식 규칙을 정했고 질문에 대한 피드백을 볼 수 있도록 구글 docs를 만들어서 실시간으로 작성했다.

 

 

귀여운 사다리 코드도 준비했다. (내 눈에만 귀여븐강 👀)

 

그리고 회고는 정말 중요하다고 생각한다.

이렇게 많은 인원이 함께 모의 면접을 하는 것은 처음이라 어떻게 할지 하루종일 고민했다.

그럼에도 예상하지 못한 상황이 있을 수 있고 다른 팀원들의 피드백과 의견 또한 중요하기 때문에 회고도 받았다.

 

팀원들의 좋은 피드백으로 아래 방식으로 고정되었다. 이는 회고를 통해 도출된 아이디어인데.. 역시 회고 중요하다.

자세한 내용은 아래에서~

 

 

 

✍️ 회고

[ 챕터 별 회고 ]

사공들이 많아질수록 의견이 다채로울 수 있지만 모든 주제에 대한 의견이 7개라는 단점도 생길 수 있다.

 

서로의 생각을 파악하기 어려울 수도, 의견의 차이가 있을 수도, 문제가 발생해도 뚜렷한 솔루션이 떠오르지 않을 수도 있기 때문에 이런 경우 회고는 필수라고 생각한다.

 

그래서 매 챕터가 끝난 직후 회고를 진행해서 서로 경험하고 느낀 점(개인 회고), 스터디 진행 건의 사항이나 의견(팀 회고)를 자유롭게 공유했다.

 

아래는 내가 팀장으로 진행했던 프로젝트 데일리 회고록이다. 실제로 프로젝트 진행에 많은 도움이 됐다.

예전 팀장으로 진행했던 프로젝트 데일리 회고

 

[ 전체 회고 (KPT) ]

KPT (KEEP-PROBLEM-TRY) 방식

 

KPT는 애자일 운동의 창시자 중 한 명으로 알려진 미국의 프로그래머 알리스테어 콕크번에 의해 제안된 방법론이다. 애자일이 전체적으로 프로젝트를 운영하는 방법론이라면, KPT는 프로젝트의 진행 단계에서 세부적인 액션을 시각적으로 분류하여 효과적으로 회고하고, 모든 구성원의 숙고가 반영된 개선안을 도출할 수 있는 방식이다.

 

  • KEEP : 좋았던 부분, 앞으로 계속 유지하고 싶은 방식
  • PROBLEM : 잘 되지 않았던 부분, 문제라고 생각하는 부분
  • TRY : PROBLEM을 해결할 수 있도록 실천해보고 싶은 솔루션

 

진행 방식에 대한 자세한 설명은 '실수와 문제가 없는 스타트업은 없다' 해당 글을 참고하면 좋을 거 같다.

 

 

과거 스터디에서도 KPT 회고로 많은 도움을 받았기 때문에 현재 계획 중인 챕터가 끝나면 진행할 예정이다!

 

과거 코딩테스트 스터디 KPT 회고

 


👋  마무리

 

예전 스터디에서 생각해 둔 규칙. 그리고 다양한 협업 경험을 토대로 스터디를 재밌게 진행하고 있다.

부족한 점은 함께 정하고 의견 내며 만들어 나가고 있다.

 

해당 글은 지극히 나의 경험과 생각을 기준으로 작성되었지만, 나와 비슷한 상황에서 CS 스터디를 준비하고 있는 예비/신입 개발자가 있다면 도움이 되길 바란다.

 

스터디 진행에 대한 내용은 Repository README.md에 자세하게 적혀있으므로 참고해 주길 바란다. (깨알 홍보)

 

 


신입 개발자 CS 면접 대비 및 지식 공유 👩‍💻 🔥

👉 Repository

 

(구독, 좋아요, 알림 설정은 없고 별 ⭐️ 눌러주세용😏)

 

 

뭐...뭐지? 완전 수미상관 그 자첸데?

반응형

'Judy > 끄적끄적' 카테고리의 다른 글

실패에 대처하는 자세  (10) 2022.12.29
내가 그린 그림  (0) 2022.10.22
나 정윤쓰, 개발은 처음인데  (0) 2022.06.06
STAR Method 🌟  (0) 2022.04.26

댓글