오늘은 코드스테이츠의 5달 총 과정을 수료하는 날이면서 내 생일이기도 하다. 마지막으로 갈수록 회고만 잔뜩 쌓여가는 것 같다. 그렇지만 그 길었던 과정을 돌아보지 않는다면 나에게 진짜로 남는 것이 없을 것 같아서 코드스테이츠 자체의 마지막 회고를 작성해보고자 한다.
코드스테이츠 진짜 마지막 회고
프리코스
프리코스를 시작하기 전 내 머리에는 HTML, CSS가 어느 것이다 정도만 들어있었다. Javascript로 화면 자체를 그릴 수 있을 것이라고는 생각도 못했다. 1, 2주차에는 자바스크립트와 친해지는 시간을 충분하게 가진다. 코플릿의 기본 토이 문제와 Koans, Credit Card, Underbar와 같은 재미있으면서 어렵고, 흥미로운 스프린트로 그득하다. 정말 재미있었다. 자바스크립트를 이해하기에 정말 좋은 코스라고 설명할 수 있을 것 같다.
3주차부터는 DOM을 배우고 화면에 그리는 공부를 한다. 자바스크립트로 뭔가를 만들 수 있다는 생각이 들었다. DOM 자체는 낯설고 어렵긴했다. 라이브러리 없이 화면을 구축하는 방법이 프론트엔드 개발자에게 정말 중요한 기술이라고 생각해서 요즘 다시 공부중에 있다. 4주에는 자바스크립트에 대한 어드벤스드한 내용을 다뤘던 것 같다. 그리고 처음 마주한 HA. 어려운 부분도 있었고 충분히 해결할 만한 문제도 많았던 것 같다. 이머시브 코스를 두근두근 하면서 기다렸다.
프리코스에서 가장 좋았던 것은 페어프로그래밍과 Git을 활용한 스프린트 진행이었다. 페어프로그래밍은 단연 코드스테이츠의 가장 좋은 공부 방식인 것 같다. 나와 정반대의 사람과 만날수도 있고, 수준이 비슷한 사람과 만나서 머리를 같이 끙끙 싸맸던 적도 있었다. 다른 사람들과 소통을 하면서 코딩을 공부할 수 있다는 사실이 너무 좋았다. 나보다 잘하는 분에게는 코드 자체로 배우고, 나와 비슷한 수준의 동료와는 치열하게 토론을 하면서 진행했다.
Git으로 스프린트 레포를 클론하고 브랜치를 바꾸고, pull해서 충돌을 해결해보는 식으로 스프린트를 진행했다. 막연하게 커밋과 푸시 정도만 알고 있던 나는 이런 Git 사용 경험이 너무 좋았다. (이머시브 코스에 들어가서는 더 충분히 경험해볼 수 있었다. 특히 프로젝트!)
이머시브 코스
사실상 코드스테이츠 과정의 꽃이다. 기간이 긴 것도 있지만 배우는 내용이 정말 많아서 시간 투자가 많이 필요했다. 모각코라는 것도 시작했다. 이머시브 코스 시작하면서 기록의 필요성이 더 크게 느껴졌고, 노션에 개인 WIKI 페이지를 만들어서 정리하기 시작했다. 나만의 개발 위키
이머시브 초반에는 깃 플로우를 다시 익히고 노드를 이해한다. 그 다음에는 비전공자들이 가장 부족할 수 있는 CS 지식을 배운다. 자료구조와 웹 구성품들 각각을 이해하는 것에 집중한다. 자료구조는 정말 쉽지 않았지만 이해하는 과정이 정말 재미있었다. 알고리즘에서는 재귀에 대한 개념을 이해하고 콜 스텍들을 되돌려가는 부분이 이해가 잘 안되서 오랫동안 잡고 있었던 기억이 있다.
그 다음에는 자바스크립트의 비동기성과 객체 지향적인 개발에 대해서 공부할 수 있었다. 이 시기에 할머니가 돌아가셔서 자칫하면 기수 이동을 할 뻔도 했다. 심적으로 많이 힘들었지만 장례식을 잘 치르고 올라와서 정말 그 주 주말내내 엄청 공부를 해서 다른 동기들의 수준까지 매꿨던 것 같다. 나와 상담을 해주신 담당 엔지니어분도 이렇게까지 해서 따라갈 줄은 몰랐다고 하셨다.. 그 시기에 정말 잘하고 싶어서 따라가고 싶어서 아둥바둥했던 것 같다.
6주~7주차에는 드디어 지금은 정말 동반자가 된 것 같은 리액트 스프린트가 시작됐다. 여기서 많은 동기가 정말 어려워하는 것이 느껴졌다. 프론트엔드 라이브러리에 대한 공부는 과정을 통틀어서 처음이었기 때문에 나도 많이 버벅였던 것 같다. 하지만 이때부터인가? 리액트가 정말 너무 매력적으로 느껴졌다. 아니 개발이라는 것이 더 즐거워졌다. 연결할 수 있는 라이브러리가 너무 많았고, 공부할 것이 많아져서 더 좋았던 거 같다. (🧐 뭔 ㄱ솔이야)
마지막 주간에 들어서는 데이터베이스와 express를 기반으로 웹 서버를 만들고 api를 연결하여 MVC 패턴에서 클라이언트와 소통하는 방법을 배웠다. 이 내용들도 정말 너무 재미있게 했던 것 같다. MySQL은 정말 막연하게 알고 있었는데 2일 동안 진행되는 스프린트에서 문서들을 보고 직접 DB를 구성해보면서 즐겁게 할 수 있었던 것 같다. 개인적으로 Sequelize를 이용하는 스프린트가 조금 더 있었으면 좋겠다고 생각했다.
프로젝트에 들어가기 전에 마지막으로 치른 HA는 정말 회고를 많이했기 때문에 따로 적지 않겠다. 그리고 HA 이후에 정말 많은 동기가 기수 이동을 신청했다. 상당히 아쉬운 감정이 많았다. 함께 프로젝트를 하고 싶었다. 하지만 각자의 의견을 존중해야 하기에 나의 프로젝트에 집중하기로 했다.
프로젝트
부트캠프 형태의 과정에서 가장 중요한 것이 아마도 프로젝트 아니겠는가. 나도 가장 기대했던 것이 프로젝트였기에 정말 조마조마하게 기다렸다. 2주, 4주 프로젝트에 대한 자세한 회고는 앞의 TIL에서 각각 진행했는데 짧게 정리하면, 내 실력을 더 키워야겠다.가 1번이고 힘들었다.가 2번, 소통은 정말 힘들어 정도가 될 것 같다. 팀장도 해보고 아이디어를 제안해서 선택받아 내 아이디어로 프로젝트를 만들어갔던 기억도 있다. 코스 진행중에 가장 힘든 시기였고 몸도 많이 안 좋았지만 내 상태와 내가 나아가고 싶은 길을 정할 수 있어서 정말 좋았다.
코스 내용을 기반으로 내가 밟아온 코드스테이츠의 과정을 회고해봤다. 그러면 이제는 내가 생각한 코드스테이츠와 코드스테이츠로 시작하려고 망설이는 분들이 보면 좋을 듯한 회고를 적어보려고 한다. 아쉬움도 있고, 좋은 점도 있고 있으면 좋겠다는 내용도 있다.
😁 : 자바스크립트를 기반으로 하는 웹 개발자가 되고 싶다면 강추하고 싶다. 자바스크립트를 주언어로 하고 풀스택 과정을 기반으로 하기 때문에 특정 포지션, JAVA 서버 개발자 또는 Python 개발자,에 대한 열망이 있다면 비추한다. 코스 중간에 원하는 포지션의 언어를 공부할 틈이 아마도 (절대로) 없을 것이다. 잠을 줄여가면서 하지 않는다면.
😆 : 20주 과정을 쉬지 않고 진행하기 때문에 규칙적인 개발 공부 환경을 구축할 수 있고 습관처럼 공부하는 스스로를 볼 수 있다. 아무래도 페어와 함께 해야하기 때문에 민폐가 되지 않기 위해서라도 아침에 일찍 일어나게 될 것이다. (아침에 있는 세션이 정말 많다.) 더불어 같이 하는 사람들이 있기 때문에 동기부여가 더 크게 된다는 장점이있다. 나는 스프린트를 하면서 뒤쳐지는 것이 싫어서 더 기록하고 더 시간내어 공부했던 것 같다.
😗 : 코스 수강생이 많아지고 있다고 하는데, 타입스크립트를 정규 과정에 넣으면 좋겠다는 생각을 했다. 프로젝트 주간을 시작하기 전에도 또는 다른 코스를 진행하면서도 타입스크립트에 대한 이야기가 자연스럽게 많이 나왔다. 어차피 프로젝트에서 타입스크립트를 사용할 것이라면 코스 중간부터 배우는 내용이 있어서 더 익숙해지면 좋을 것 같다. 물론 자바스크립트와 익숙해지는 것 자체도 정말 중요하고 그 자체도 오래걸리는 것은 맞다.
😒 : 팀 프로젝트 진행 방식이 변경된 부분과 팀을 구성하는 방식에 대한 불만이 조금 있긴했다. 기수에 수강생이 많아서 어쩔 수 없는 문제이기도 하고 모든 사람이 원하는 방향대로 다 맞출 수 없다는 것도 안다. 하지만 조금 더 수강생을 배려할 수 있는 방향이 있으면 좋겠다는 생각이 들었다.
그렇다. 나는 오늘 생일이면서 코드스테이츠의 20주 과정을 끝낸다. 실질적으로 프리코스와 이머시브 코스 사이의 솔로 주간을 포함하면 21주다. 훌륭한 개발자가 되기 위해서 공부하는 습관을 가지게 되었고, 기록하는 습관이 생겼다. 좋은 동료를 만났고 계속 연락을 이어갈 인연들도 생겼다고 생각한다. 프로젝트를 해봤고, 자바스크립트와 친해졌다. 21주 내내 부족하지만 부족한 부분을 채우기 위해서 TIL을 작성했다. 좋은 습관을 가지게 되어서 너무 좋다.
코드스테이츠를 선택한 것이 후회되는가?
절대 후회 안한다. 내 인생에서 가장 중요한 선택의 순간이었다. 그래서 더욱 더 후회하지 않으려고 노력했다. 앞으로 더 많은 노력이 필요하겠지만 그 기틀을 닦을 수 있었기에 내 선택에 너무 만족한다.