※ 이전에 쓴 코드스테이츠 관련 회고글들
바쁘신 분들을 위해, 만약 이 중에서 딱 하나만 읽어보고 싶다면 Section 2 회고를 추천드린다.
과정 중 느낀 바가 가장 많았으며, 이에 따른 진솔한 마음을 가득 담은 회고이다.
0. 글쓴이는 누구인가?
본격적으로 코드스테이츠에 대한 후기를 남기기에 앞서, '나'에 대한 소개를 간단하게 하면 좋겠다는 생각이 들었다.
내가 어떤 환경에서 어쩌다가 코딩을 시작하게 되었으며, 또 어떤 이유로 코딩 부트캠프에 들어오게 되었는지를 미리 간단하게 설명해두면 읽는이가 글을 전체적으로 쉽게 읽을 수 있겠다고 판단했다.
필자의 이름은 남궁민이라고 하며, 비전공자 출신이다.
개발을 공부하게 된 계기는 사실 5월 월기장의 첫번째 주제에서도 밝혔지만 그래도 다시 한번 강조하자면 『부의 추월차선』이라는 책에 있었다.
군 복무 당시에 돈 버는 방법에 대해서 유독 호기심이 많았던 필자는 '추월차선의 상어'라고 일컬어지는 컴퓨터 · 소프트웨어 시스템에 깊은 관심을 갖게 되었다.
개발에 대해서 1도 몰랐으며, 주변에 개발을 하는 지인이 단 한명도 없었던 필자는 개발 관련 교육코스들을 정신 없이 알아보다가, 강남에 위치한 이젠아카데미라는 국비지원 학원의 'JAVA 안드로이드 웹 & 앱 개발자'라는 훈련 과정에 참여하게 된다.
/* 사실, 필자의 군 전역 시기(2019.06)부터 국비지원 학원에 들어오게 된 시기(2020.08)까지 1년이 넘는 공백이 있는데, 이 시기에는 어학연수 및 워킹 홀리데이에 관심이 생겨서 도전해보던 중, 어학연수까지만 다녀오고 워킹 홀리데이는 COVID-19 바이러스 확산으로 인해 마음을 접게 되었다. 😂 */
2020년 8월부터 2021년 2월까지 6개월 간 진행된 국비 과정에서는 Java를 활용한 기초적인 프로그래밍 방법에서부터, MyBatis, Oracle, JSP 등을 활용한, 게시판과 같은 간단한 애플리케이션을 만들어보는 과정까지 진행해볼 수 있었다.
또한, Android Studio를 Java와 함께 활용할 수 있도록 학습하는 기회를 가질 수 있었다.
국비과정의 마무리 단계 때는 혼자서 Android 앱과 Web 앱을 각각 한번씩 만들어보는 시간을 가졌다.
(각각 약 3주 정도의 기한이 주어졌던 것으로 기억한다.)
그 결과, Android 앱은 위와 같이 꽤나 그럴싸하게 만들어졌지만 Web 앱은 아니었다···.
사실, Web 앱은 완성조차 못했고 가볍게라도 보여줄 만한 샘플조차 나오지 않았다.
내비게이션 바 하나 만드는 데 하루 온종일 걸렸던 기억이 난다.
당연한 수순이겠지만, 이 때 나는 Android 앱 제작에는 자신감이 꽤나 붙었지만 Web 앱 쪽은 그렇지 않았다.
하지만 이런 결과가 나오니 오히려 나는 이런 생각을 하게 되었다.
'야, Web 개발, 너가 그렇게 대단해? 어디 얼만큼 대단한지 볼까?'
국비 과정을 수료한 이후, 국비지원 학원 관계자 분들에게는 죄송스럽긴 했지만, 나는 이력서를 단 한 장도 쓰지 않고, 취업을 위한 그 어떠한 부수적인 준비도 하지 않으면서 Web 개발을 다시 공부하기 시작했다.
우선은 이동욱 님의 『스프링 부트와 AWS로 혼자 구현하는 웹 서비스』라는 책을 먼저 공부하면서 따라해보았지만, Windows 환경에서 따라했기 때문에 그랬는지는 몰라도, 배포 단계에서 도무지 실마리가 보이지 않는 에러를 발견하게 되어서 그만두게 되었다.
그 이후에는 2021년 4월부터 5월까지 약 2개월 간 인프런에서 김영한 선생님의 Spring 강의와 JPA 강의 로드맵들에 들어있는 강의들을 모두 다 들었다.(해당 시점에 나와 있던 강의들을 전부 들었다.)
이렇게까지 추가적으로 공부한 이후에야 Web 개발자로서 취업하기 위한 포트폴리오용 프로젝트를 만들기 시작했는데, 이 과정이 썩 순탄치 않았다.
특히, Spring Security 라이브러리를 활용하는 과정에서 일주일이 넘도록 애를 먹었다.
프로젝트의 진행 과정이 지지부진해지자 멘탈이 많이 흔들렸다.
이 시기에 참 많은 고민을 했는데, 결국 나 자신이 아직도 한참 부족하다는 사실을 깨끗하게 인정하고, 새로운 교육 코스를 추가적으로 수강하기로 마음먹게 되었다.
그렇게 새로운 코딩 관련 교육 코스들을 찾아보다가 코드스테이츠라는 코딩 부트캠프를 찾게 되었고, 나는 코드스테이츠의 SEB Full Immersive 32기 Java 기수로 입소하게 되었다.
그리고 2021년 6월부터 2021년 11월에 이르기까지 또 한번의 코딩 교육 기간을 가지게 되었다.
아니, 이거 0번째 주제가 너무 긴데 😅
1. 각 Section 별 요약 '배운 것 - 느낀점 - 공략법'
Section 1
배운 것
- HTML, CSS, JS 기초
- Linux 기초
- Git 기초
- DOM (Document Object Model)
- 고차 함수
- React 기초
느낀점
- Java 기수였지만 Section 1은 JS 기수와 동일한 과정이었다.
- 솔직히 어느 정도 개발 관련 지식이 있었다보니 전반적으로 매우 쉬웠지만, 문제 풀이 부분은 달랐다.
국비지원 학원에서는 코딩 관련 문제 풀이에 대한 언급을 거의 안해주었기 때문에 나는 이중 반복문 관련 문제를 푸는 데에도 쩔쩔 맬 수 밖에 없었다. - 코드스테이츠에서 강조하는 자기주도적 학습과 페어프로그래밍이 어떤 것인지 알 수 있게 되었고, 말그대로 코드스테이츠의 스타일에 익숙해지는 기간이었다.
공략법
- 아직은 기본적인 부분들에 대해서 학습했기 때문에 저녁에는 시간이 널널했는데, 이 시간에는 코드스테이츠에서 Java 기수에게 제공해준 Java Handbook을 공부하면서 TIL에 적어두는 시간을 많이 가졌다.
- 코딩 관련 문제 풀이는 이후에 많이 하게 될 것이라고 느껴서, 헷갈리는 문제는 3번 정도 다시 풀었다.
- 고차 함수와 React가 특히 어려웠는데, 고차 함수의 경우에는 일단 해답을 확인하고, 그 작동 과정을 역추적해보는 식으로 다시 되짚어보면서 공부했고, React는 주말을 이용해서 노마드 코더의 무료 강의도 들어보면서 다시금 그 기본 개념이나 작동 원리를 이해해보는 시간을 가졌다.
Section 2
배운 것
- 재귀 함수
- 자료 구조 - Stack, Queue, Graph, Tree, Binary Search Tree, BFS / DFS
- JS 비동기
- HTTP 및 네트워크
- React - Lifting State Up, Effect Hook
- Spring Boot / Spring Container
- React Redux
- Vercel을 활용한 클라이언트 배포
느낀점
- Algorithm & Data Structure와 본격적으로 부딪히게 된 Section이었다.
나의 문제 풀이 실력이 상당히 처참하다는 것을 깨닫게 되었고, 좌절감도 많이 느끼게 되었던 파트였다. - 그 다음으로 어려웠던 파트는 React였다.
Sprint를 겨우겨우 통과해냈던 기억이 난다. - 반면에, 오랜만에 다시 재회한 Spring은 무척 쉽게 느껴졌다.
역시 김영한 선생님의 강의가 괜히 유명한 강의는 아니라는 생각이 들었다.
공략법
- 부족했던 Algorithm & Data Structure 파트를 보완하기 위해서는 Section 2 회고에서도 밝혔지만 다시 한번 말하자면, 다른 사람들의 문제를 풀어나가는 방법을 참조하기 위해 노력했다.
특히 유튜브를 적극 활용하면서 유용한 문제 풀이 기법들을 참조했다. - React에 대한 보충 공부를 위해서 노마드 코더의 무료 강의를 또다시 2개를 더 들었다. 😅
- Spring에 대해서도 다시 한번 복습하기 위해 이전에 만들어 본 프로젝트를 토이 프로젝트처럼 가지고 놀면서 다시금 익숙해지는 시간을 가졌다.
Section 3
배운 것
- Algorithm - Greedy, DP, GCD / LCM, 순열, 조합, 멱집합
- 관계형 데이터베이스
- JPA
- Spring Security
- CS 기초
- AWS
- Docker
- 배포 자동화
느낀점
- 솔직히 이쯤되니 학습 방법이라던가, 해답을 찾는 방법이라던가 하는 부분들에 대해서 노하우들이 많이 생겼다.
그렇기 때문에 Section 2에 비해서 크게 멘붕을 겪는 일 없이 수월하게 모든 과정을 진행할 수 있었다.그리고 꽤나 수월했기 때문에 Section 3 회고가 상대적으로 빈약하게 느껴지기도 한다. 😭 - Spring Security와 관련된 Sprint를 진행할 때, 나를 비롯한 많은 동기분들이 어려움을 겪었다.
하지만 계속 파고들다 보니 결국 정답을 찾아낼 수 있었고, 간만에 재미를 느낄 수 있었던 Sprint였다.
그리고 추후 프로젝트를 만들어 나갈 때에도 큰 도움을 주었던 파트였다. - 사실 저번에 이동욱 님의 책을 토대로 웹 개발을 공부하다가 실패했을 때, 배포공포증이 걸렸었다.
하지만 AWS 파트에 대해 더 깊게 공부를 해보니 이를 어느 정도 완화할 수 있었다.
공략법
- Toy 문제들에 대해서 이해라도 하기 위해, GeeksforGeeks라는 웹 사이트를 적극적으로 이용하기 시작했다.
- 수월해졌다고 해서 방심하지 않고, 스티커 메모를 활용해서 ToDoList를 만들고, 저녁 시간에도 꾸준히 공부했다.
- 프로젝트 아이디어에 대해 고민해보기 시작하고, 이와 더불어 토이 프로젝트도 계속해서 가지고 놀았다.
2. 총평
커리큘럼 ⭐⭐⭐⭐⭐
- 특히 Web 개발 Full Stack의 기본적인 부분들을 골고루 공부해 볼 수 있어서 좋았다.
- HA(Hiring Assessment) 시험에서 떨어지거나 스스로 많이 부족하다고 판단했을 경우, 해당 Section을 다시 수강할 수 있도록 한 점도 좋았다.
학습용 컨텐츠들 ⭐⭐⭐⭐
- 개념에 대해서 짚고 넘어가기 좋도록 '유어클래스'라는 컨텐츠와, 문제 풀이를 연습해 볼 수 있도록 '코플릿'이라는 컨텐츠를 제공해주는 데, 양쪽 다 학습을 진행하기에 충분한 컨텐츠들을 제공해준다.
- 다만 몇몇 학습용 컨텐츠는 이후에 주어지는 과제들을 풀기에는 다소 미비하다는 생각이 들 때가 있었다.
과제 및 시험들 ⭐⭐⭐⭐⭐
- 각 Section을 넘어가기 위해서는 HA라는 시험을 통과해야만 했는데, 이는 또한 스스로의 학습에 대한 성취감을 느낄 수 있도록 해주는 아주 좋은 시스템이었다.
- 또한 Section을 진행하는 중에도 학습하는 파트에 대해서 스프린트 과제를 주로 페어 프로그래밍으로 진행했는데, 이또한 내가 학습한 내용들을 곧바로 코드로 적용해볼 수 있게 해주는 좋은 시스템이었다.
비용 ⭐⭐⭐
- 필자도 선택한 We Win 제도, 즉 취업 이후에 수강료를 지불한다는 시스템은 마음에 들었다.
- 다만 후불이라는 것을 감안해도 약 1,200만원 정도의 수강료는 다소 비싸다는 생각이 든다.
면학 분위기 ⭐⭐⭐
- 모든 과정이 온라인으로 진행된다는 점이 못내 아쉽다.
COVID-19 이후로 정말 어쩔 수 없다는 걸 알면서도 아쉬운 부분이었다. - 하지만 그래도 수강생들이 집중력을 잃지 않도록 교육 엔지니어 님들이 다방면으로 노력해주신 것 같다.
각종 이벤트들 ⭐⭐⭐⭐⭐
- 국비지원 학원을 경험해 본 입장에서는 사실, 꽤나 다양한 이벤트들이 있다는 사실만으로도 좋은 것 같다.
- 필자의 경우, 회고 블로깅 이벤트에 매 Section마다 참여해서, 커피와 치킨 등 과분한 상품을 받아갈 수 있었다.
사후 취업 지원 ⭐⭐⭐⭐⭐ (예상)
- 별도의 Job Searching Guide Session이 있어서 취업에 대한 도움을 다방면으로 받을 수 있었다.
- 수료 이후에도 취업 지원을 받을 수 있도록 커뮤니티가 잘 활성화되어 있다는 느낌을 받았으며, 추후 취업 지원 담당 엔지니어 님들에게 어떤 지원을 받을 수 있을지 기대가 된다.
커뮤니티 활성화 ⭐⭐⭐⭐⭐
- 코드스테이츠를 수료한 시점에서 그 인연이 끝나지 않는다는 것을 강조한 점이 몹시 좋았다.
- 추후에 각종 강연들을 챙겨볼 것이며, 사실 파이널 프로젝트가 좀 아쉬웠는데, 사이드 프로젝트를 함께할 수 있는 기회가 있다면 참여해보고 싶다.
그래서 글쓴이는 추천하는가?
- Full Stack 개발의 전반적인 영역들을 꽤나 빠르게 공부하기 때문에 정신 바짝 차리고 공부할 준비가 되었다면 충분히 많은 것들을 공부할 수 있으며, 무엇보다도 취업할 수 있는 인재가 될 수 있으리라 생각한다.
- 다만 어느 정도 개발을 이미 알고 있다면 비용이 다소 과하게 느껴질 수 있다.
필자의 경우에는 스스로가 아직도 한참 부족하다는 사실을 인지하고 있었기에 그렇게까지 아깝지는 않았다. - 과정 수료 이후, 코드스테이츠라는 커뮤니티를 얻어갈 수 있다는 점이 큰 메리트라고 생각한다.
개발자로 오래도록 일하고 싶다면 사실 인맥이 꽤나 중요하다는 것이 어쩔 수 없는 사실인데, 코드스테이츠의 커뮤니티는 이러한 부분을 커버해주기에 충분해 보인다.
3. 감상
이렇게 코드스테이츠와 함께 한 5개월이 빠르게 지나갔다.
어찌 되었건 나름의 팀 프로젝트도 완성시켰고, 또 무사히 수료했으니 거기에 의의를 두고 싶다.
코드스테이츠 이전에 비해서 Full Stack 개발 전반적인 부분들에 대해서 충분히 이해할 수 있었고, 웹 개발 프로세스를 어느 정도 경험해볼 수 있었다.
이전에는 그저 Java만을 활용해서 당장 눈 앞에 있는 과제들만 해치워 나가면서 뭔지도 모르겠는 개발을 무작정 해오고 있었다면, 이제는 확실히 '웹 개발이 무엇인지'에 대해서 그 근본적인 의문점을 좀 해결하게 되었다.
2020년 8월 6일, 국비지원 학원에서 난생 처음으로 코딩을 접해보았던 그날로부터 어언 1년 3개월 정도의 시간이 흘러가버렸다.
국비지원 학원을 수료했을 땐 공부를 더 하고 싶었지만 이제는 정말로 취업이 하고 싶다.
이제는 더이상 localhost에만 머물고 싶지 않다.
취업을 하고, 본격적으로 필드에서 경력을 쌓으면서 성장하고 싶다.
'Essay > Code States' 카테고리의 다른 글
코드스테이츠 졸업생 알럼나잇 후기 <따뜻하게 이어지는 코연> (0) | 2023.02.24 |
---|---|
Final Project <기본에 충실했으면 어땠을까> (0) | 2021.11.19 |
First Project <연습으로써 충분했지만 그래도 많이 아쉬운> (0) | 2021.10.15 |
Section 3 <어느새 100일> (0) | 2021.09.29 |
Section 2 <개발하는 즐거움에 대해서> (2) | 2021.08.19 |