2021 코드스쿼드 마스터즈 코스 (백엔드) 회고

K PizzaCola·2021년 6월 30일
0

ETC

목록 보기
1/1
post-thumbnail

2021년 1월 4일에 시작한 코드스쿼드 마스터즈 코스가2021년 6월 25일을 기점으로 끝났다. 이에 대해서 간단히 회고를 적어본다.

과거의 긴 방황 기간

나는 아마도 늦은 나이에 개발자가 되려고 마음 먹은 사람 중 하나일 것이다. 물론 전기전자공학부를 다니며 특히 컴퓨터 아키텍쳐에 관심이 많아 주로 컴퓨터공학 수업을 이수했고, 동아리 활동도 하는 등 여러가지를 했었다. 그러나 졸업 이후 개인적인 사정으로 오랜 시간 휴식 기간을 가지며 방황하기도 하고, 컴퓨터공학과 관련 없는 공부도 해보는 등 허송세월 시간을 보냈다. 그러다 작년 11월 즈음에 웹 개발을 접하게 되면서 나에게 다시 한번 컴퓨터에 대해서 공부할 수 있는 기회가 있지 않을까 라는 생각을 하게 되었다.

그러나...

공부를 오래동안 놓았던 이유도 있을 것이고, 웹 개발자로 성장하기 위해서 일단 뭘 해야할 지도 잘 몰랐다. 그래도 뭐라도 해보자란 심정으로 강의를 결제하고 카카오톡, 유튜브 클론 프로젝트를 진행했었는데, 단순히 따라 치는 것 까지는 좋았지만 결론적으로 내가 뭘 하고 있는지는 전혀 이해가 되지 않았다. 그리고 이런 걸 이해하려면 뭘 해야할 지도 감이 잡히지 않았다.

코드스쿼드 마스터즈 코스

그러다보니 여러가지 부트 캠프에 관심을 갖게 되어 찾아보게 됐다. 여러가지 코딩 부트 캠프가 있었는데, 주변인들에게 물어보니 코드스쿼드가 좋다라는 추천을 받았기 때문에 망설임 없이 지원할 수 있었다. 그리고 프로그래밍 과제와 면접 후 최종적으로 합격하게 되어 코드스쿼드 마스터즈 코스에 참여할 수 있었다. 이때 개인적인 관심으로 공부하고 있던 파이선으로 과제를 제출했는데, 나중에 보니 백엔드는 자바 과정이라 자바로 작성하는 것을 추천하고 있었다.

과정 설명

코드스쿼드 마스터즈 코스는 다음 3가지로 나뉜다.

  • CS10 (5주)
  • 반별 코스 (몇 주더라..?)
  • 팀 프로젝트 구간 (2주 프로젝트 3개, 3주 프로젝트 2개)

CS10은 코드스쿼드에서 엄선한 과제 10가지를 가지고 CS 기본 지식을 접할 수 있는 과정이었다. 나에게 이 과정은 과거에 배웠던 지식들을 간단하게 점검할 수 있는 시간이었다. 그렇더라도 좀 더 자세한 내용들은 당연히 따로 공부해야겠다는 생각이 들었다.

반별 코스는 프론트엔드 / 백엔드 / iOS 반별로 필요한 지식을 주어진 프로젝트를 기반으로 공부하는 과정이다. 나는 Java 백엔드 과정이었기 때문에, 여기서 Java, Spring, DB, 네트워크, AWS 등등을 배웠다.

팀 프로젝트 구간은 프론트엔드 / 백엔드 / iOS 반과 같이 5개의 주어진 프로젝트를 진행한다. 각 프로젝트별로 요구사항이 있어 그에 맞춰 스스로 여러가지를 학습하고, 계획하여 프로젝트를 구현하게 된다.

나는 성장하였는가?

단언할 수 있는 건, 처음 코드스쿼드를 시작하기 전보다는 확실히 성장했다고 할 수 있다. 이전에 node.js express를 이용해서 웹 서버를 구동하는 과정도 지금 보면 이해할 수 있지 않을까 싶다. 그리고 그때는 무엇을 공부해야할 지, 어떻게 공부해야할 지도 너무나 막막했다.

그러나 코드스쿼드의 백엔드 마스터 호눅스는 이정표와 같은 존재가 되어주셨고, 여러가지 책도 추천해주셨다. 그래서 책도 과거엔 많이 읽지 않았지만, 요즘은 책도 조금씩 많이 읽게 되었다.

리뷰어들은 부족한 우리 학생들의 코드를 봐 주시면서 성장할 수 있게 해주셨다.

공부 방법도 이제 어느 정도는 알게 됐다. 특히 모르는 것을 접할 때 될 수 있으면 공식 문서를 우선적으로 읽었다. 그러면서 간단한 오탈자도 하나 수정해봤다. 이제 여러가지 기술들도 기본적인 것들은 하나하나 새로 적용해볼 수 있지 않을까 싶다.

잘 못했던 것

과정 중에 내가 성장하고 잘했던 것들이 있다면, 못한 것들도 있다. 일단 몇 가지 적어보면 다음과 같다.

  • 공부한 것들을 따로 잘 정리하지 못했다.
  • 컨디션 조절을 잘 못했다.
  • CS에 대해서 자세히 공부하지 못했다.
  • 몇몇 주제들은 공부/구현해볼 계획만 세우고 실제로 해보지 못했다.
  • TIL, 알고리즘 등등을 정말 꾸준히 하지 못했다.

공부한 것들을 잘 정리하지 못한 건, 정리하는 것 자체에 심적으로 조금 부담감을 느끼는 것들이 있었다고 변명했다. 다른 사람들이 정리를 잘 했을 텐데 / 공부했던 책을 요약하는 수준이 될 것 일텐데 이런 것들이 나중에 저작권 문제가 있지 않을까? 등등.

그런데 잘못 생각한 것 같다. 결국은 시간이 아까웠다 등의 이유가 더 컸다. 그런데 이것도 내용을 정리하면서 생각을 정리하는 것이 더 중요하다는 것을 요즘 들어 느끼고 있다.


컨디션 조절은 언제나 중요한 것 같다. 근데 이게 마음처럼 쉽게 되지 않는다. 어느 때는 너무나 지쳐 무언가 하기 싫었던 때도 있었다. 매번 사람은 기계와 같아서 적당한 식사, 적당한 운동을 해야 했는데 너무 어렵다.


CS는 정말 너무나도 아쉽다. 특히 나한테 부족한 것이 학부때 수업을 듣지 않았던 DB와 네트워크인데, 백엔드 개발자로 너무나도 필요한 것임에도 불구하고 너무나도 지식이 부족하다. 이제야 DB는 SQL 첫걸음 / 데이터베이스 첫걸음 / 관계형 데이터베이스 실전 입문 책을 한번 읽은 수준이고, 네트워크는 TCP / IP 쉽게 더 쉽게 / 그림으로 배우는 HTTP, 네트워크 를 읽은 수준이다.

그렇다고 운영체제나 컴파일러, 알고리즘 등을 잘 알고 있는 것도 아니다. 오래전에 배웠기 때문에 내용을 상세하게 기억하고 있지 않은데, 단순히 몇번 다시 본 수준으로는 잘 알고 있다고 이야기 하기 어렵다.

컴퓨터 구조나 디지털 시스템은 과거에 정말 열심히 해서, 지금 잠깐 다시 한번 보면 기억이 나는데, 이것도 그래도 정리할 시간이 필요하다.

아무튼 CS를 공부할 시간도 너무나 부족한 것 같아 아쉽다.


여러가지 세세한 주제들도 정말 열심히 했다면 사용해볼 수 있었을 텐데, 너무나도 아쉽다. 자동배포라거나, 테스트코드, Elastic Search, Redis 등등 공부만 해보고 실제로 적용해보지 못한 것들이 너무나도 많다. vim, intellij, shell script 등등 도구에 대해서도 공부하고 싶다.


TIL, 알고리즘이나 깃허브 잔디 깔기 등 매일 매일 꾸준히 하면 좋은 것들도 여러 핑계를 대며 꾸준히 하지 못했다.

전체적으로 보면 매일 시간 타령을 하면서 잘 하지 못했다 + 심적인 컨디션 조절이 잘 안됐다 일 것 같다.

그래도...

나 자신에게 아쉬운 것들이 정말 많았지만, 그래도 작년 11월때보단 훨씬 성장했다. 만약 과거로 돌아가서 선택을 다시 한다고 해도 코드스쿼드 마스터즈 코스를 선택할 것이다. 정말 배운 것도 많았고, 좋은 동료들도 알게 되었다.

이후

당연하지만, 이제 취업을 목표로 열심히 노력할 것이다. 근데 공부 계획은 아직 잡혀있지 않다. 아마 토이프로젝트를 하나 진행하면서 여러가지 공부할 것 같다. 이제까지 했던 프로젝트도 잘 했다면... 이란 생각밖에 들지 않는다.

매일 TIL에 적고 있긴 하지만, 공부할 것들을 적어보면

  • Fundamentals of Database System
  • Computer Networking A Top-Down Approach
  • 자바 ORM 표준 JPA 프로그래밍
  • TDD: By Example
  • 토비의 스프링 3.1 vol 1
  • 알고리즘

아무튼 많다. 꾸준히 공부해보자.

profile
공부하는 개발자입니다.

2개의 댓글

comment-user-thumbnail
2021년 6월 30일

케이 정말 고생 많으셨습니다.
우리 끝까지 달려봐요

답글 달기
comment-user-thumbnail
2021년 6월 30일

코쿼의 빛..코쿼의 교수님이셨던 k! 면접 때부터 함께해서 더 정이 많이 들었는데 앞으로도 자주봐여ㅎㅎ

답글 달기