회고

2022 코드스쿼드 백엔드 마스터즈 코스 회고록

donggi 2022. 8. 7. 20:57
더보기

올해 1월부터 6월까지 있었던 코드스쿼드 마스터즈 코스 과정에 대한 회고를 작성해보고자 합니다. 수료 후 한 달이 지나 8월이 되었지만 기억이 더 희미해지기 전에 늦은 회고를 작성하고자 합니다.

목차

1 코드스쿼드를 선택한 이유

1-1 마스터즈 코스 입과 과정


2 무엇을 배웠나

2-1 CS10

2-2 Java, Spring 클래스

2-3 프로젝트 기간


3 성장했나

3-1 코드 리뷰

3-2 동료에게 의존하던 습관

3-3 나만의 페이스


4. 앞으로는

코드스쿼드를 선택한 이유

 프로그래밍을 제대로 배우고 싶은 마음이 있었지만 뭐부터 해야 할지 몰라 헤매고 있었다. 혼자 하는 것보단 부트캠프를 통해 어떤 걸 공부해야 하는지 알고 싶었다. 광고를 통해 알게된 부트캠프를 결제했다 취소하고, 국비 학원에 하루 정도 나가보았다 취소하는 등 부트캠프를 선택하는데 여러 시행 착오가 있었다.

 

 그때 개발 관련 정보를 공유하는 카카오톡 오픈채팅방에서 부트캠프에 대한 이야기 중 코드스쿼드를 알게 되었다. 그렇게 코드스쿼드가 어떤 곳인지 찾아보게 됐다.

 

 코드스쿼드는 교육 과정 중 강의 비중은 낮고 스스로 학습하는 시간에 대부분이었다. 미션을 통해 해결 방법을 찾아 스스로 학습해보고 주위 동료들과 함께 자라는 걸 지향하는 코드스쿼드의 교육 가치관이 왠지 멋있어 보였다. 이전 수강생들의 회고를 찾아보았고, 회고를 보면서 나도 이 곳에서 배워보고 싶다는 생각이 샘솟았다. 코드스쿼드 백엔드 마스터인 호눅스는 어떤 사람일까 궁금해서 찾아보았다. 호눅스의 유튜브 영상에서 중간중간 농담하시는 걸 보고 드립 코드가 나랑 맞는 것 같아 코드스쿼드를 원하는 마음이 더 커졌다.

마스터즈 코스 입과 과정

 마스터즈 코스 전에 코코아 과정을 통해 코드스쿼드가 지향하고 있는 교육의 방향성을 조금이나마 맛볼 수 있었다. 나는 프로그래밍 공부를 어떻게 해야 할지 전혀 감을 잡지 못하고 있었는데, 한 달 간의 코코아 과정을 통해 Java로 작은 프로그램들을 만들어보면서 하나씩 성취해감을 느껴보니 재미가 있었고 마스터즈 코스에 꼭 붙고 싶다는 생각이 들었다.

 

 마스터즈 코스는 시험을 치루고 이 시험을 패스해야 입과 할 수 있다. 시험은 3일이라는 시간을 주고 소코반 게임을 단계별로 구현하는 것이었다. 나는 정말 간절했기에 시간은 턱 없이 모자랐고 해 뜰 때까지 코딩하고 4시간 정도 자고 코딩 코딩 코딩 이런 식으로 3일을 보냈다. 마지막 리드미를 정리하고 제출하고 났을 땐 정말 허무했다. 내가 할 수 있는 모든 노력을 다 해보았지만 같이 코코아했던 동료들에 비해 턱없이 부족하다는 걸 느꼈다. 원래는 맛있는 걸 먹고 기절하려고 했지만 조금 우울한 기분이 들어 그냥 잤던 것 같다.

 

 제출을 수요일쯤 하고 결과는 금요일 오전에 나왔다. 불합격을 예상하고 있었기 때문에 어떻게 공부할지 고민하고 있었다. 정작 발표날 아침에 일어났을 때 불합격이라는 글자를 마주하기가 두려워서 일부러 더 자버렸다. 그렇게 11시쯤 깨서 휴대폰 알림을 확인했을 때 마스터즈 안내 메일이 와있었다. 자포자기한 마음으로 메일을 열어서 보던 중 예상치 못한 합격이라는 단어를 보고 메일을 처음부터 다시 읽어보고 그때서야 내가 합격 메일을 받았다는 걸 알았다. 나는 소리를 지르고 눈물이 조금 났다.

 

 8개월이 지난 이 시점에도 그 때 기억을 떠올리다 보니 울컥하는 마음이 든다. 이 특별한 감정을 계속 기억하고 싶어서 합격 당시 메일을 휴대폰 배경 사진으로 해놨다. 코드스쿼드에서 좋은 사람들과 함께 공부할 수 있다는 생각에 설레는 마음을 안고 마스터즈 코스 과정의 시작을 기다렸다.

 

무엇을 배웠나

CS10

 마스터즈 첫 한 달은 CS에 대해 배우는 과정이었다. 단순히 강의와 글로 배우는 게 아닌 단계별 미션이 주어지고 해당 CS 주제에 대해 학습해가며 그것을 구현하는 식으로 미션이 진행되었다. 나는 학습 방법을 찾아가는 과정에 있었고 어떤 날은 CS 미션에 대해 학습만 할 때도 있었고, 구현하기 위해서 삽질만 했던 날도 있었다.

 

 그 과정에서 동료들의 코드를 볼 수 있었는데 잘하는 동료들을 볼 때면 어떻게 이렇게 코드를 짤 수 있었고 그들의 생각의 과정이 궁금했다. 좋은 것만 배우고 남과 비교하지 않겠다고 다짐을 했지만 구현이 잘 되지 않을 때에는 이해하지 못하는 나 자신이 싫을 때도 있었다. 그러다 보면 왠지 모르게 동료들에 비해 뒤쳐진다는 마음이 들곤 했다. 이런 마음이 들 때마다 남과 비교하지 않고 어제의 나와 비교하고자 노력을 했다. 그때 회고를 쓰는 게 도움이 많이 됐다.

 

Java, Spring 클래스

 한 달의 CS10 시간이 지나고나면 Java 클래스가 있다. Java로 사다리, 로또 게임을 만들어보면서 클린 코딩, 리팩토링을 경험해보고 학습할 수 있었다. Spring으로 넘어가서는 처음 페어 프로그래밍이라는 걸 해보게 됐다. Spring을 할 때는 인프런에서 김영한 님의 강의를 정말 많이 봤다.

 

 페어 프로그래밍은 혼자 의사결정하여 코드를 작성하는 게 아닌 두 명이 한 팀이 되어 한 명은 내비게이터, 나머지 한 명은 드라이버가 된다. 내비게이터는 코드 작성은 하지 않고 드라이버에게 지시만 내리며, 드라이버는 내비게이터가 내린 지시를 통해 코드를 작성하게 된다. 이 과정을 약 15 - 20분처럼 시간을 정해놓고 서로 역할을 바꾸어가며 미션을 진행해간다. 페어 프로그래밍으로 작업을 하게 되면 속도는 확실히 느릴 수 있다. 하지만 동료와 함께 의사결정을 하며 의견을 조율하고, 팀원이 모르는 내용을 알기 쉽게 설명하기 위해 노력을 기울이는 등 그냥 코드를 작성하는 게 아닌 좀 더 의미 있는 코드를 작성할 수 있었다. 

 

 두 번의 페어 프로그래밍 미션이 있었는데 나는 Jay와 Miller와 함께 했다. Jay와 Miller와의 페어 프로그래밍 미션을 통해서 테스트 코드, 객체지향 프로그래밍, 클린 코드 등 많은 기술적인 지식을 얻을 수 있었고, 또한 협업을 하면서 소프트 스킬의 중요성에 대해서도 알 수 있었다. 미션 기간 동안 줌과 디스코드에서 함께 미션과 기술에 대해 이야기하고 나에게 좋은 선생님이 되어준 Jay와 Miller에게 감사하다.

프로젝트 기간

 4월부터 약 3개월 동안 4개의 프로젝트를 2주, 3주 단위로 진행했다. 프로젝트는 실무와 근접하게 기획서와 프로토타입, 디자인이 있고,  매 프로젝트마다 FE, iOS, Android 클래스 중 한 클래스와 함께 프로젝트를 진행했다. 나는 FE, iOS, Android와 한 번씩은 프로젝트를 해볼 수 있었다. 

 

 첫 프로젝트를 쿠킴과 함께하게 되었는데 이 때 협업에 관해 많이 배울 수 있었다. 쿠킴이 프로젝트 초기 단계에서 원활한 협업을 위해 그라운드 룰을 정하자고 제시해주었다. 프로젝트가 처음이다보니 어떤 걸 정해야 할지 잘 몰랐다. 쿠킴과 클라이언트 분들과 같이 이야기 해보며 스크럼과 회의 시간, 코어 타임, Git 브랜치 전략, Commit convention을 정하고, Github에서 제공하는 Project, Issue, Milestone 기능을 적극적으로 활용하고자 했다. 공용 notion을 통해 클라이언트 개발 쪽, 서버 쪽 개발 진행 상황을 서로 공유하고, 같은 클래스 팀원들끼리도 서로 어떤 고민을 했는지, 어떤 문제가 있었는지 기록을 통해 원활한 소통이 될 수 있도록 진행하고자 했다.

 

 솔직한 이야기로 나는 프로젝트 기간 동안 아쉬운 점이 너무 많았다. 아래에 조금 더 자세하게 풀겠지만 간단하게 이야기하자면 프로그래밍 기초 체력이 부족해 그 당시 프로젝트에서 주된 고민거리에 대해 제대로 다뤄보지 못했다. Spring CRUD를 구현해보느라, Spring에 대한 학습을 해보느라 프로젝트 동작과 관련해 성능과 속도 등 진짜 중요한 고민은 잘 해보지 못했던 것 같다.

 

성장했나

 성장했냐는 질문에 대한 답은 일단 나는 성장했다라고 말할 수 있다. 한 달의 코코아 과정을 포함해 코드스쿼드에서의 7개월은 나에게 정말 많은 변화를 주었다. 나는 멘탈이 약하다. 감정을 제어하지 못하고 외부의 영향을 많이 받았다. 이런 내 단점은 회고를 통해서 많이 성장할 수 있었던 것 같다. 일간, 주간 회고를 써보면서 항상 개선할 점을 찾고자 했다. 다른 사람과의 비교가 아니라 오롯이 나 자신의 행동에 대해서 객관적으로 바라보고 개선할 점을 찾아서 개선해보는 과정을 겪으니 확실히 그 전과는 좀 나은 사람이 되는 것 같다.

 

코드 리뷰

 코드스쿼드에서는 현직자 리뷰어로부터 코드 리뷰를 받는다. Java Spring 클래스 과정과 프로젝트를 진행하면서 도저히 모르겠다 싶은 것은 리뷰어에게 질문을 해볼 수 있고, 작성한 코드에 대해 리뷰어로부터 리뷰를 받을 수 있다. 리뷰어는 내가 사용한 기술, 라이브러리를 알고 쓰는 건지 왜 쓰는 건지 항상 질문했다. 그런 리뷰어의 질문을 받으면 내가 얼마나 얕게 생각하고 기술과 라이브러리를 사용했는지 반성하면서 동시에 리뷰어에게 답변하기 위해 학습할 수 있게 된다. 이런 식으로 항상 생각할 거리를 던져주고 리뷰어분들의 리뷰가 아니었으면 그런 고민은 하지도 않았을 것 같아 좋았고 그럴 때마다 코드를 작성할 때 좀 더 고민하고 작성하려 했다. 이러한 리뷰의 과정을 통해 많은 걸 배울 수 있었다. 특히 대부분의 리뷰어 분들이 코드를 꼼꼼히 보고 피드백해주셨는데 밤낮 새벽까지도 열심히 답변 해주시던 모습에 정말 감사했다..!!!!

 

동료에게 의존하던 습관

 부끄러운 얘기일 수 있지만 나는 동료들에게 좀 많이 의존해 있었다. 페어 프로그래밍이든 프로젝트든 나는 페어의 의견에 전적으로 동의하는 편이었다. 내가 아는 지식에 대해 확신이 없던 게 가장 컸고, 보통은 페어의 의견이 정말 좋기도 했다. 하지만 그렇게만 의사 결정을 하다보니 마지막 프로젝트에서 혼자 백엔드 개발을 해보니 생각보다 내가 모르는 게 많았다. 페어에게 의존하다 혼자 하려니 뭐 하나 결정하기가 쉽지 않았다. 처음엔 그런 내 모습을 보고 적잖은 충격을 받았지만 지금은 그때 내가 그런 상황을 인지하지 못했다는 게 더 끔찍했을 거라고 생각한다.

나만의 페이스

 호눅스가 항상 강조했던 게 천천히 자기만의 페이스대로 가라는 것이었다. 나도 과정 중에 무리하게 계획을 세우고 잠을 과도하게 줄여가며 하다가 여러 번 미끄러지기 십상이었다. 그런 경험을 여러 번 겪다 보니 내가 감당할 수 있는 계획을 세우고 거기서 얻는 성취를 느끼는 게 중요하다는 걸 알게 되었다. 

 

 

앞으로는

 7월에 수료를 했지만 지금은 8월이다. 한 달이 지나서야 회고를 쓰게 됐다. 한 달이라는 시간도 정말 순식간에 지나가버렸다. 수료식 날 코로나에 걸려 일주일 드러누워있던 뒤로 Java, was 구현, 알고리즘, 운영체제, 기술 블로그 스터디를 하고 있다. 가짓수로만 보면 많기도 하지만 적절한 스트레스와 휴식도 겸하니 아직까지는 즐겁게 공부할 수 있는 것 같다. 그 외에도 인프런 김영한 님 강의, 테스트, 네트워크, 배포 등등해야 할 건 산더미다.. 관건은 내 속도에 맞춰 조금씩 조금씩 지금처럼 성장해나가다 보면 언젠가 나도 개발로 밥 벌어먹고사는 사람이 될지도 모른다. 인생은 참 어떻게 될지 모르겠다! 항상 최선의 선택을 할 수 있도록 신중을 기하도록 하자!!

 

'회고' 카테고리의 다른 글

20220815 - 0821  (2) 2022.08.22
20220801 - 0807  (2) 2022.08.08
20220725 - 0731  (2) 2022.08.01
20220718 - 0724 주간 회고  (0) 2022.07.25
20220711 - 0715 주간 회고  (0) 2022.07.18