코드스테이츠 FE 부트캠프 회고

JKim·2023년 9월 3일
0

코드스테이츠 회고

목록 보기
49/49
post-thumbnail

코드스테이츠 수료 이후 회고

코드스테이츠가 8월 3일날 마무리 되었고, 약 4주동안 휴식한 이후에 회고를 작성합니다.

성장의 발판

코드스테이츠 부트캠프를 수강하면서 정말 많은 성장을 이뤘습니다.
구체적인 성장 부분은 기술적인 것과 심리적인 것으로 나눠서 작성해보겠습니다.

기술적인 성장

1. HTML, CSS, JavaScript의 기초 다지기
부트캠프를 진행하기 전에는 생활코딩 강의 수강 및 프로젝트를 하며 몸으로 익힌 지식을 제외하고 아는 게 없었습니다.
또한, JavaScript는 그 간단한 document.querySelector의 존재조차 모를 정도로 상당히 얕은 지식을 보유하고 있었고, 부트캠프 수강을 하며 코드스테이츠가 제시하는 학습 자료 및 검색을 통해 배운 추가 학습 내용들을 토대로 기본기를 올릴 수 있었습니다.

2. Tailwind CSS, Styled-Components 둘 다 사용해보기
Tailwind는 단어만 알고 있었던 수준이였는데, 코드스테이츠에서 프로젝트와 스터디를 진행하며 공부할 기회가 생겨서 실제로 코드에 적용을 하며 연습할 수 있었습니다.
그리고 Styled-Components는 기존에도 사용하고 있었지만, props를 적용하는 방법부터 globalStyle 지정하는 방법, TypeScript를 통한 타입 지정을 추가 학습하고 적용하며 코드의 재사용성을 더 높일 수 있었습니다.

3. TypeScript, Redux 스택 학습
코드스테이츠 수강 전부터 알고는 있었지만 새로운 기술을 배우는데에 막연한 두려움이 있었습니다. 하지만 학습자료에서 설명하는 내용을 간단하게 따라가다보니 자신감이 붙었고, 프로젝트에 적용해보면서 사용 방식을 체득하고 사용하는 이유를 깨닫게 되면서 더 높은 성취도를 얻을 수 있었습니다.
특히, 기존에는 props drilling 문제를 해결할 방도가 없어 browserStorage를 이용했었지만 Redux를 배우면서 전역 상태 관리를 용이하게 할 수 있게 되었고 문제 해결에도 큰 도움을 얻었습니다.

4. SockJS를 이용한 웹소켓
코드스테이츠의 메인프로젝트 커리큘럼에서 채팅 기능을 구현해보는 기회가 있었습니다. 채팅을 구현하기 위해선 실시간 양방향 통신이 가능해야했고 백엔드와 상의 후 웹소켓을 이용하기로 했고 이 때 웹소켓에 대한 이해를 높일 수 있었습니다.
기본 브라우저 웹소켓을 이용하여 구현하려 했으나 모든 브라우저에서 동작되지 않는다는 치명적인 단점이 존재하였기에 SockJS라는 웹소켓 라이브러리를 사용했습니다.
이 과정에서 실제 채팅 기능을 성공적으로 구현할 수 있었습니다.

5. Github Repository 관리 및 스프린트 방식의 협업 체계 경험
부트캠프를 진행하기 이전까지는 Github는 단순한 코드 저장 공간이자 개발자들의 이력서 정도로만 이해하고 있었습니다. 하지만 부트캠프 수강중에 실제 업무 경험이 있는 개발자 혹은 지식이 많은 개발 취준생들을 만나게 되면서 다양한 의견을 공유할 수 있었고, 협업 과정에서 Github의 중요성을 느끼게 되었습니다.
또한, 단순히 코드를 저장하고 브랜치를 나눠 작업하는 수준에 그치지않고 이슈, 마일스톤, 칸반보드 등 다양한 협업 관리 기능들을 공부하게 되었고 ReadMe가 프로젝트의 모든 것을 요약하는 매우 중요한 문서라는 것, Github에 코드를 관리하는 GitFlow 전략과 Pull Request를 이용한 코드 병합 방식 등을 배웠고 다양한 프로젝트에서 적용하여 Repository를 더 깔끔하게 관리할 수 있게 되었습니다.

심리적인 성장

1. 새로운 기술 공부에 두려움이 줄어듬
부트캠프 진행 전부터 가장 배워야한다고 느꼈으나 시도하지 못했던 전역 상태관리 라이브러리, 커스텀 훅, TypeScript 사용법들을 커리큘럼에서 짧게나마 배웠습니다. 이 경험을 통해 "완벽히 이해하지는 못하지만 생각보다 어렵지 않다" 는 느낌을 받았고 이를 통해 부트캠프 이후에 React-query나 Recoil 등 새로운 기술들을 공부할 수 있었습니다.
앞으로도 Vue 프레임워크나 Jotai 등 다양한 기술들을 공부할 때 두려움 없이 접근할 수 있을 것 같습니다.

2. 꾸준한 공부 습관
솔직히 이 부분은 가장 긍정적인 변화라고 생각합니다.
저는 계획적인 공부를 하는 것을 좋아하지만 계획을 정할 때 공부 시간을 매우 적게 정하거나 아예 공부 계획을 잡지 않는 경우가 굉장히 많았습니다.
이유는 단순히 스트레스 받아서 였는데, 새로운 공부를 하면 할 수록 알아야 하는 내용은 늘어나고, 뭘 공부해야할지 모르겠고, 조금은 여유를 즐기고 싶고 하다보니 도피를 자주 하는 삶을 살았습니다.
하지만 학창시절처럼 매일매일 강제적으로 공부를 하게 되고 시간을 들여 새로운 것들을 정돈하고 이해하는 시간을 가지다보니 자연스레 하루에 조금씩이라도 반드시 공부를 하는 습관이 생겼습니다.
물론 아쉬운건 이러한 공부 과정을 블로그에 꾸준히 잘 작성해내거나 Github에 정리했다면 더 완벽했겠지만 이 부분은 새로이 성장해야하는 과정이라고 생각합니다.

  1. 나는 개발자 지망생이 아니다
    마지막으로 저는 부트캠프를 수료하면서 개발자 지망생이 아니라 개발자로 저를 소개하고 다닙니다.
    개발자로 취업을 해야만 개발자가 아니라 개발을 하는 사람이라면 개발자라는 마인드로 바뀌게 되었습니다.
    부트캠프 이전 프로젝트를 포함하여 약 4개 정도의 프로젝트를 개발자로써 활동했는데, 가장 최근 프로젝트인 Buyte에서 개발자가 되었다고 확신을 가졌습니다.
    문제 발생 => 원인 파악을 위한 프린트디버깅 => 문제 위치 파악 후 원인 탐구 => 탐구 과정에서 새롭게 배운 지식을 기록 => 해결
    에러를 핸들링하는 다양한 방법이 있지만 가장 기본적인 흐름은 이런 방식이라고 생각합니다.
    저는 그동안엔 원인 탐구나 지식을 기록하는 과정없이 디버깅 후 바로 구글링을 한 뒤에 코드를 복사하여 해결해왔습니다. 그러나 Buyte부터는 구글링에서 나온 지식을 먼저 이해한 뒤에 코드에 적용했고 문제들을 조금이나마 기록하기 위해 간간히 기록해두었습니다.
    개발자는 문제 해결을 잘하는 사람이라고 생각합니다. 아직 잘한다고 생각하지는 않지만 잘하기 위해 지금과 같은 방식으로 성장하였고, 앞으로도 더 성장할 예정이기에 저는 이제 프론트엔드 개발자입니다.
profile
프론트엔드 개발자 | 문제가 있는 내용이 있다면 댓글로 알려주세요.

0개의 댓글