
4개월간의 코드스테이츠 Immersive course를 마쳤습니다.
길었다면 길고, 짧았다면 짧은 코드스테이츠와 함께한 시간에 대해 회고해보고자 합니다.

저는 Pre course를 마치고 개발자라는 직업에 대해 더 확신이 생겼습니다. 지금 되돌아 보면 Pre course에서 배운것이 정말 작고 기초적인 것이었지만, 코드를 작성하고 제가 작성한 코드가 화면에서 잘 작동하는 것을 보며 재미를 느꼈고 Immersive course에 대해 기대할 수 있었습니다.
Immersive course에서는 기초적인 CS지식과 웹에 대한 전반적인 지식, 코딩 능력과 더불어 동료와 협업하는 능력을 기를수 있었습니다. 이에 대해 하나씩 제가 느낀점을 이야기 하고자 합니다.
코드스테이츠 Immsersive course는 크게 Sprint과정과 Project과정으로 나뉘어 있습니다. 학습과 실습으로 나눠져있다고 생각하시면 편할것 같습니다.
Sprint과정에서는 기본적인 CS(Computer Science)와 웹 풀스택에 대해서 학습했습니다. 코딩의 경험이 전혀 없는것은 아니지만, CS에 대해 공부해본적이 없었기 때문에 가장 어려움을 겪었던 부분이 CS파트가 아니었나 생각이 듭니다. 저는 특히 자료구조 부분이 어려웠는데요. 이론으로는 아 저렇구나 하고 이해를 했는데 구현은 전혀 다른 문제였습니다. 머리속으로 이해한 이론을 바탕으로 실제 코드를 작성해야 하는데, 자료를 특정 형태로 관리하게 만든다는 것이 쉽지 않았습니다.
저에게는 든든한 페어가 함께있었습니다. 주니어 레벨에서는 한 사람의 머리에서는 보통 한 가지 방법만 나왔습니다. 무수한 삽질끝에 이건 아닌것 같다 라는 생각이 들기 전까진 말이죠.
하지만 저에게는 스프린트를 같이 진행하는 페어가 있었기 때문에 보통 두가지 방법이 나오게 되었고, 서로의 방법을 조합하다보면 대부분의 문제는 해결되었습니다. 저는 부서지는 멘탈은 페어와 함께 나누면서 산산조각 나지는 않을 정도로 유지하며 자료구조 sprint를 마칠수 있었습니다.
CS Sprint를 마친 후, Web Sprint에서 본격적으로 웹 개발에 대해서 배우기 시작했습니다. Web Sprint에서는 크게 두 파트로 나뉘어 Front-end, Back-end(server, DB)를 학습했습니다.
Web에 대해서 배우는것은 CS보다는 수월했습니다. 물론 사람마다 차이가 있어 CS가 더 쉬웠다고 하시는 분들도 있었습니다. 저는 웹 개발에 대한 경험이 없었던 것은 아니다 보니, 기본적인 웹에 대한 개념과 패턴에 대해 어느정도 알고있었던 것도 학습을 하는데 있어서 유리하게 작용했던 것 같습니다.
Web Sprint는 React를 이용한 프론트엔드 개발과 Node.js/Express + Mysql을 이용한 백엔드 개발로 학습이 진행되었습니다. 저는 처음에 React를 배울때 컴포넌트의 개념이 잘 이해되지 않아 개인 시간에 React를 공부하는데 시간을 많이 사용했습니다. 개인적으로 디자인적 요소가 포함된 프론트엔드 보다는 논리적 요소가 중점인 백엔드가 더 맞다고 생각했습니다. 꼭 하나만 선택해야하는 것은 아니지만, 대부분 Web Sprint기간 동안 자신에게 맞는 파트를 찾아갔습니다.
약 10주 간의 학습이 끝나고 지금까지 배운 내용을 활용해서 실제로 무엇인가를 만들어보는 Project 기간이 되었습니다. 10주간 정말 많은것을 배우고, 소화하지 못했던 내용도 있어 내가 프로젝트를 잘 할 수 있을까? 하는 생각이 들었습니다. 하지만 프로젝트를 시작하고 얼마 지나지 않아 지금까지 열심히 해왔구나, 나도 충분히 할수 있구나 하는 생각이 들었습니다.
Sprint를 마치고 배운것을 활용해 실제로 무엇인가를 만드는 프로젝트 기간이 되었습니다. 개인적으로 기간은 더 짧지만, Sprint보다는 프로젝트를 진행하며 얻은것이 더 많았다고 생각합니다. 프로젝트를 시작하기 전 Sprint를 잘 따라가고 있는지 확인하는 3번의 시험이 있는데요, 3번의 시험 모두 쉽지는 않았지만 고민하다보면 오오! 풀수 있을것 같아! 하는 정도의 레벨이었습니다. 그 중에서 프로젝트 직전에 보는 마지막 시험은 난이도가 어려워 8시간 정도 소요해서 문제를 풀었던 것 같은데요.(시험은 아침부터 자정까지 응시하며, 과제형 문제입니다) 첫번째 프로젝트를 마쳤을때는 한 두시간 정도면 충푼히 풀수 있을것 같은 느낌이 들 정도로 실력 향상을 느꼈습니다.
프로젝트를 진행하면서 얻은것은 실력도 있지만, 커뮤니케이션 능력 또한 많이 성장했다고 느꼈습니다. Sprint를 하면서는 과제의 목표와 가이드 라인이 있지만, 프로젝트는 오로지 팀원들과 목표 설정부터 기획, 개발까지 모두 진행해야 했기때문에 커뮤니케이션의 중요도가 Sprint를 진행할 때와는 비교가 되지 않았습니다. 프로젝트를 진행하는 중간중간 서로의 코드를 리뷰하고, 생각을 공유하고 적극적으로 피드백을 주고 받으며 두개의 프로젝트 모두 성공적으로 마무리 할 수 있었습니다.
프로젝트를 진행하며 개발능력, 커뮤니케이션 능력등 다방면에서 개발자로서 필요한 역량을 쌓을수 있었고 배웠던 것을 토대로 무엇인가를 만들어낸 '경험'은 정말 소중한 시간이었습니다.
코드스테이츠를 시작하기 전에는 막연한 생각이었습니다. '사실 지금도 개발을 아예 못하는건 아닌데 수료하고 나면 많이 달라질까?' 하는 생각도 들었습니다. 어찌됬건 웹 개발을 기초부터 다시 배워보고 싶었고, 수료후 기대했던것과 같이 혹은 그 이상으로 성장한것 같습니다. 이전에는 왜 이렇게 했는지 모르고 지나쳤던 것들에 대해 알게 되었고, 시간은 조금 걸리더라도 백지부터 배포까지할 수 있게 되었습니다.
저는 개발자가 되고싶었습니다. 스스로에게 개발자라고 말할 수 있는 사람이 되고싶었고, 그렇게 되었습니다.
코드스테이츠와 약 반년간의 기간동안 함께 하며 집에서 정말 코딩만 했던것 같습니다. 요즘 밖에 떠다니는 무서운 생명체 때문에 외출은 하기 어렵지만, 스스로를 되돌아 보며 저 자신에게 선물로 1주 정도의 휴식 기간을 주려고 합니다..ㅎ (최근에 이명이 들려서 병원갔더니, 의사 선생님이 당분간 호의호식 하라고...)
맞아요! 저 취업했어요!
출근까지 아직 시간이 조금 있으니 휴식도 취하고 출근하면 개발하게될 내용에 대해 조금씩 준비하면서 지내야겠습니다.
앞으로 사회에서 개발자로서 재미있게 공부하고 개발하면서, 여러분의 삶에 더 나은 가치를 가져다줄수 있도록! 열심히 노력하는 개발자가 되겠습니다.
빠이!
이미지 출처
화이팅!