본문 바로가기

스파르타코딩 내일배움캠프

내일배움캠프 117일차 - 최종회고

내일배움캠프 117일차이다. 내 해군OCS기수가 117기인데... 117이란 숫자가 나랑 인연이 있는건가?

드디어 끝났다.

117일 간의 여정을 마쳤다.

7월부터 C, 파이썬을 파트타임으로 배우다가 8월 25일 하던 일 중단하고, 8월 26일 스파르타코딩클럽 내일배움캠프 지원을 하고, 8월 27일 서류 통과했다고 통보 받고, 8월 29일 신** 매니저님이랑 면접 보고, 8월 30일 합격 문자를 받았다.

노트북 배터리 수명이 거의 다 되어서 9월 1일은 노트북 수리 맡기고, 9월 2일부터 '생활코딩'의 '웹' 수업부터 듣기 시작했다. 혼자 수업을 들으며 선행 학습을 하는데, '얼른 9월 13일이 되어서 캠프를 시작 했으면 좋겠다'고 생각했다. '항해99' 블로그를 보니 메타버스에서 다른 사람들과 하루 14시간씩 코딩을 했다고 하니, 나도 얼른 그런 환경에서 하고 싶었다.

드디어 9월 13일이 다가왔다.

오리엔테이션을 마치고 캠프 시작을 했다. 페이스가 빨랐다. 2주 정도 원격 강의를 듣고, 1차 프로젝트에 돌입했다.

1차 프로젝트

1차 프로젝트에서 내 몫은 나름 충분히 해냈다고 생각한다.

내가 하고 싶은 주제는 따로 있었지만, 내가 이끌고 갈만한 실력이 안 되니 팀원 의견을 조용히 따랐다. 창업 하는게 아니라 일단 학습이 목적이니.

팀합을 맞추는데, 오랜만에 사람들이랑 협업하는데 약간 힘겨웠다.

그래도 기한에 맞춰서 잘 끝내고, 영상도 팀장님이 찍어서 제출했다.

2차 프로젝트

1차가 끝나자마자 강의 들을 시간을 따로 주지 않고 바로 2차 프로젝트를 시작했다. 2차 프로젝트를 진행하면서 강의 듣고, 프로젝트에 필요한 것을 적용하는 식이었다.

운동 하는 사람을 위해서는 휴대폰에서 구동이 되어야 된다고 생각해 PWA에 대해서 알아보고, 괜찮은 PWA template을 찾았다. 괜찮은 PWA template을 찾는데 시간이 오래 걸리고, 또 PWA 적용하는 법에 대해서 배워야 해서 PWA 적용 계획은 접었다.

마감 기한을 맞추려면 욕심을 버리고 웹에서 구동하는 걸로 만족해야 했다.

수업에 쓴 MongoDB query문이 아닌 내가 찾은 자료로 query문을 작성하고 싶었는데, 에러가 계속 발생했고, 괜한 욕심이다 싶어서 이것도 계획을 접고 수업에 나온 코드를 썼다.

이때 느낀 것은 괜한 욕심을 내지 말고 기능 구현부터 하자 였다.

팀장님이 자신이 맡은 기능 + CI/CD까지 하신다고 바쁘셔서 발표를 나랑 다른 팀원이 나눠서 했다.

2차 프로젝트가 마무리 잘 되었다고 생각한다.

팀원들과 회고 때 최대한 건설적인 방향으로 솔직하게 의견을 공유했다. 그리고 내가 내일배움캠프에서 각자의 최종 목표가 뭔지 공유를 했으면 좋겠다고 제안을 했다. 서로 최종 목표를 공유를 함으로써, 서로에 대해 더 잘 이해하게 되었다.

알고리즘 주차

캠프 시작 때부터 매일 1-2문제씩 알고리즘 문제를 풀었던 터라 알고리즘 주차는 생각보다 괜찮았다. 어려운 문제를 풀었다는게 아니라, 쉬운 문제는 어느정도 안 보고 풀 수 있다는 이야기다. 알고리즘은 벼락치기로 할 수 있는게 아니기 때문에 매일 조금씩 푸는게 좋다고 의견을 제시한 적이 있는데, 내 의견이 맞았다. (물론 내 의견이 틀린 적도 무수히 많았다).

알고리즘 주차 때는 새로운 사람들과 팀을 맺었다. 이때 만남 팀원들은 다 사람들이 좋았다. 이때 인연을 맺은 팀원들은 한분 빼고 (개인적인 이유로 먼저 취업하심) 캠프가 끝날때까지 인연을 유지했다. (지금도 유지 중이다.)

"매일 공부하는 컴퓨터 싸이언스 스터디" 일명 "매컴싸" 시작

혼자 CS지식을 공부하니 힘들어서 스터디를 결성했다. 다른 사람들과 함께 스터디 하면 덜 힘들 것 같아서 시작했다. 처음엔 15명이 모였다. 어떻게 진행할지 첫 회의를 했는데 의욕적인 사람들이 많았다.

스터디 설계를 이렇게 했다. 이미 할게 많은데 거기에 스터디를 하면 부담이 된다. 부담이 되면 스터디 참여가 힘들어진다. 그렇게 되면 스터디가 무산된다.
그렇기 때문에 스터디가 부담이 되면 안된다.

10명 이상이서 스터디를 진행하는데, 1명씩 돌아가며 아침마다 CS지식을 발표한다. 발표시간은 20분으로 했다. 10분은 짧고, 30분은 부담이 될 수 있기 때문이다. 보통 스터디는 소규모로 진행하는데, 이 스터디는 최대한 많은 인원으로 진행하였다. 15명에서 진행했다. 그 이유는 사람이 많아야지 돌아오는 발표 순번이 길고, 자기 발표 순번이 늦게 와야지 사람들이 부담을 덜 느낀다고 생각했기 때문이다. 발표 안 하는 인원은 그냥 와서 발표 듣고 질문만 하면 되는 것이다.

스터디의 목적은 나중에 모의면접 기간이 다가와서 CS지식을 벼락치기로 공부하려면 시간이 부족하기 때문에 조금씩 미리 준비를 하자는 것이다.

발표 주제는 각자 하고 싶은 주제 하라고 말씀드렸다. 안 그래도 힘든 스터디, 개인이 하고 싶은 주제를 해야지 덜 힘들 것이라고 생각 했기 때문이다.

결과는 성공적이었다고 생각한다. 거의 대부분 다 완주했다. 스터디 주제에 일관성과 연결성은 부족하지만, 스터디는 현재 개발 학습에 부조수단이고, 이걸 지속하는 것만으로도 의미가 있다고 생각해서 스터디 내용과 각 주제 간의 연결고리에 대해서는 욕심 내지 않았다.

앞으로 이런 규모의 스터디를 또 할 수 있을지 모르겠다. 난 사람들을 이끄는 것을 좋아하는데, 캠프에서 팀장이 아닌 팀원이라서 좀 심심하고 아쉬었는데, 매컴싸를 진행하면서 속에 잠재 되어있던 리더십을 발휘할 수 있어서 즐거웠다.

실시간 수업 주차

서버리스 프론트, 서버리스 백엔드, 서버리스 자동화 배포, 스프링, 도커, 쿠버네티스.

아침 9시부터 오후 1시까지 수업이 진행되었다. 1회차, 2회차 수업이 따로 진행 되었는데, 강사도 다르다.

1회차 강사는 실습 위주로, 2회차 강사는 개념 위주로 했는데, 다 장단점이 있었다.

이때가 가장 잠을 적게 자면서 생활 했던 때 인 것 같은데 가장 재밌었던 것 같다. 줌으로 캠을 킨 상태에서 실시간 수업을 하며, 개인적으로 수업 때 드립도 많이 치며 재밌게 수업을 했다. 그리고 비록 웹이지만 여러 사람들과 화상으로 같이 시간을 보내며 학습을 하는게 즐거웠다.

3차 프로젝트

실시간 수업이 끝나고 3차 프로젝트가 진행 되었다. 프로젝트 시작 후 1주일만에 팀장님이 건강상 아무래도 하차를 해야 할 것 같다고 말씀하셨다. 일단 1주일 더 지켜보고 결정을 하시겠다고 하셨는데 결국 하차를 하셨다.

남은 팀원들끼리 '의쌰의쌰' 하며 진행했다. 내가 팀장 역할을 맡았다. 아마 내가 나이가 제일 많고 리더십 경험이 많을 것 같아서 내가 주도 했는데, 나중에 알았는데, 다들 나이가 좀 있었고, 리더십 경험이 있는 사람들이 있었다. 약간 부끄러웠다.

능력은 부족했지만, 최선을 다 했다. 3차 프로젝트 발표 전날엔 팀원 모두 (나 포함 3명) 새벽 4시까지 깨어있었다. 배포도 무사히 되었다.

심지어 프론트엔드 CI/CD는 내가 했으면 더 빨리 끝냈겠지만 하고 싶은 팀원이 하게 하고, 난 옆에서 모르는 부분을 도와주었다.

발표 당일 날, 발표 전까지 갑자기 잘 되던 서버가 에러가 나서 다른 사람들이 발표 하고 있는 도중에 계속 디버깅을 했다. 아무래도 테이블 문제인 것 같아서 테이블을 날리고 새로 만들었는데, 그래도 안 되었다. 결국엔 스키마를 새로 만들었다. 발표 직전에 AWS 서버가 돌아갔다.
서버가 안 돌아갔으면 로컬 서버로라도 시연을 하려고 했는데, 다행히 AWS가 돌아갔다.

내가 디버깅을 하는 동안 다른 팀원들은 발표 자료 작성과 준비를 해주었다.

발표가 끝나고 굉장히 뿌듯했다. 팀원들이 자랑스러웠다. 비록 기능은 다른 팀에 비해서 부족했지만 팀웍에 대해서는 매우 자랑스러웠다.

최종 발표회

이때가 좀 어려웠다. 3차 프로젝트가 끝나고 피드백을 받는 기간이 있었는데, 피드백을 받는 동안 뭔가 붕 뜬 기분이었다.

피드백을 반영한 후에 지금 돌아보니 방향성을 잃었던 것 같다. 기능 추가에 더 신경을 써야 하는지, 테스트 코드를 작성해야 하는지, 코드 리팩토링을 해야 하는지.

게다가 다들 지쳐있었다. 주 6일 학습하고, 하루 12시간씩 책상에 앉아 있었더니 다들 번아웃이 왔다. 캠프 전체가 그랬다.

어떻게 해야할지 상담도 받고 했지만, 딱히 뾰족한 수가 없었다.

마지막 상담을 받고 내린 결론은 각자 개인 학습을 하는 것이었다.

그리고 최종 발표회 때 내가 발표했다. 목소리가 좋으신 팀원이 있으셨고 이분이 3차 발표를 하셨지만, 이번 발표는 내가 총대를 멨다.

다른 팀에서 비해서 기능이 많이 부족했다. 그리고 "4개월 동안 가장 많이 성장했다"는 소리를 듣는게 목표였는데, 다른 팀이 그 소리를 들었다. 자존심이 상했다.

내가 좀 더 많이 알고, 잘 했으면 더 나은 성과를 내고, 팀원들에게 안겼을 수 있는데. 미안하고 아쉬웠다.

최선을 다 했지만, 아쉽다. 방향을 좀 더 잘 잡았으면.

그래도 캠프 전체에서 팀워크 탑 3안에 든다고 자부할 수 있다. 신속히 소통했고, 문제가 생기면 공유해서 같이 풀고, 자존심을 내세우지 않고 모르는게 있으면 다른 사람한테 배우며, 그렇게 프로젝트를 진행했다.

캠프 전체 후기

기대한 것만큼 성장하지는 못 했지만, 돌아보면 꽤 성장한 것 같다. 우연찮게 비개발 직군 친구를 도와줄 일이 생겼는데, 작업하는 모습을 보니, 개발자 입장에서 생산성을 더 높일 수 있는 점들이 보였다. 워드 작성하며 버전 관리를 위해 파일을 매번 새롭게 저장하는 것보다, git으로 버전 관리하는 것, 마우스 보다 단축키 사용 등.

혼자 공부했으면 이만큼 성장하지도 공부하지도 못 했을 것이다. 역시 사람은 무언가를 하려고 할 때는 같이 할 사람이 있어야 하나보다.

캠프 시작 할 때의 내 예상대로 되었다. 3개월 반은 부족한 시간이니 마치고 나면 3개월 더 준비해서 취업을 해야 겠다고 생각했는데 딱 그 정도가 되었다.

그리고 캠프를 할지 말지 고민했는데 첫날 강사를 보고 하기로 결정했는데, 그 결정이 맞았는 것 같다. 그리고 함께 하는 사람들이 있어서 캠프를 하기로 했는데, 그 결정도 맞았는 것 같다.

면접 때 나를 뽑아준 신** 매니저님이 감사하다.