회고가 필요하다고 생각이 들어 이를 올릴 매개체인 기술블로그를 시작하기로 마음을 먹었다..
이런 글이 처음이라... 어색하긴 하지만..... 앞으로 공부하는 내용을 기록 및 공유할 생각이다.
흠.. 개인 회고는 올릴지 말지 고민 중이다.
게임 클라이언트 개발에서 프론트엔드 개발로 전향한 후 처음으로 맞는 해이며, 개발자로서 2년 차를 맞는 해였다.
개발자라는 직업에 대한 확신을 가졌던 시간이 됐던 것 같다.
프론트엔드 기술은 물론이고 개발문화에 대한 고민을 계속했던 것 같다.
애자일을 경험해보고 싶었지만 회사에서는 사용하기가 힘들었고 사이드 프로젝트에서는 한다고 해봤지만 잘되진 않은 것 같다.
2022 시작
연초에는 게임 회사에서 백오피스 프론트엔드 개발을 했었다.
지금도 엄청 잘하는 건 아니지만 올해 초에는 React 원리를 완전히 이해 못 하고 개발을 해서인지 지금 생각하면 아쉬운 코드들이 많다..
하지만 리팩토링을 하는 과정에서 상태관리 라이브러리에 대한 조사 및 공부를 진행했었는데 이게 지금 돌아보면 큰 도움이 됐던 것 같다.
이렇게 회사를 다니던 중 웹 개발을 메인으로 하는 회사로 옮기면 다양한 경험과 함께 성장할 수 있을 것 같아 이직을 결심했었다.
이직 성공
그렇게 5월에 판교에 있는 모 스타트업 회사로 이직을 했다. 중요한 건 꺾이지 않는 마음ㅎ
주로 사용했던 React가 아닌 Vue를 메인으로 사용하고 있었기 때문에 처음엔 걱정했지만 공부하면 할수록 둘 다 사실 큰 차이가 없었고
(심지어 Vue3에서부터 지원하는 Composition API는 React와 정말 많이 닮아있다)
아무튼 처음에 React를 배웠을 때보다 Vue는 훨씬 빨리 공부하고 사용했던 것 같다.
개발 문화 개선
회사에 좋은 개발자분들이 많았지만 아쉬운 부분이 있었다
- TypeScript 사용 X
- CI-CD 사용 X
- ESLint 사용 X
위 내용들을 반드시 도입해내고 말겠다는 마음을 먹고 시간이 날 때마다 위 내용에 대한 가이드 문서 + 예시 코드들을 위키에 계속 정리했었다
Jest + Gitlab을 통한 CI는 도입을 성공했고, ESLint는 사실 세팅만 해주면 됐기 때문에 도입에 성공했다.
하지만 아직 TypeScript 도입은 해내지 못했다. (바쁘기도 했고... 정적 타이핑의 장점을 크게 공감받지 못했드아..)
Jest를 통해 테스트 코드를 직접 작성하며 의미 있는 테스트 코드에 대한 고민을 시작했다.. 프론트엔드에서 의미 있는 테스트 코드를 만들려면 어떻게 짜야할까.. 아직도 잘 모르겠다
프론트엔드 개발
아무튼 이직하고 나서는 Nuxt(Vue)를 통해 프론트엔드를 개발하기도 했고 기존 JQuery로 되어있는 페이지 유지보수하기도 했다.
Nuxt 프로젝트를 개발하는 게 첫 업무였는데 받자마자 ESLint도 적용 안되어있고 컨벤션도 따로 없어 보였으며 컴포넌트화도 거의 되지 않아 있었기 때문에 매우 매우 어지러웠지만 어차피 내가 처리해야 하는 레거시라는 사실을 깨닫고 하나씩 정리하기 시작했다..
지금은 코드 리팩토링도 해냈고 CI도 적용시키고 최적화도 정말 많이 시켰다..
그래서 지금은 사내 가장 모던한 프론트엔드 프로젝트라고 자신감을 가지고 있다.. ㅎ
구경 한 번씩.. (https://www.beuillage.net/)
혼자 개발할 때는 보통 Next를 사용하는 편인데 Nuxt도 참 괜찮은 프레임워크인 것 같다.. 워낙 빌트인이 많이 돼있기 때문에 고민할 지점이 없어서 초반 세팅하기는 참 편한 것 같다.
(Nuxt3가 최근 안정화 버전으로 출시했는데 이건 진짜 물건임 프론트엔드 판도를 바꿀 것 같음)
JQuery로 되어있는 페이지를 개발, 유지보수하며 프레임워크, 라이브러리 위주로 공부하고 막상 JavaScript의 핵심원리를 겉핥기식으로 알고 있지 깊게 알지는 못하고 있다는 걸 깨닫고 이 부분에 대한 공부를 시작했고 시간 투자를 하기 잘했다는 생각을 한다.
코어 자바스크립트라는 책을 가지고 공부했는데 이 책이 정말 괜찮다.
JavaScript의 특이한 문법을 이해할 수 있게 해 줬고 구글에 나오는 잘못된? 정보들에 대해 정리할 수 있어서 좋았다.
자바스크립트에 궁금했던 부분들을 거의 대부분 짚어주고 있어 정말 좋은 책이다. 꼭 웹개발자들은 보면 좋을 것 같다..
사이드 프로젝트
회사를 다니고 있었지만 React를 쓰고 싶다는 생각으로 사이드 프로젝트를 하려고 마음을 먹었고,
개발자 4명, 기획 3명, 디자인 1명으로 이루어진 8명이서 사이드 프로젝트를 진행했다 총 8명이라는 꽤 큰 프로젝트였다.
개발자들은 이전 회사에서 같이 근무하던 사람들과 진행해서 그런지 나름 합이 잘 맞았던 것 같다.
나름 잘 진행되고 있었지만 뭔가 끝에는 흐지부지 되어 마무리를 제대로 하지 못한 감이 있다 ㅠ...
아무튼 Next를 꽤 큰 프로젝트에서 쓸 수 있는 기회였고 처음 아키텍처 설계부터 개발까지 했기 때문에 되게 좋은 경험이었다. 개발은 완료됐지만 개발이 마무리되고 나서 보니 아쉬운 코드들이 구석구석 보였고 이 부분을 리팩토링 했다.
React Query를 완전히 사용하지 못했던 부분이 많은 것 같다. 이 부분들을 공부하면 리팩토링 해나갔다.
React Query는 비동기를 도와주는데 큰 도움을 주면서 타입 가드를 도와주는 요소들도 있어 타입스크립트와 함께 쓰기 좋은 라이브러리인 것 같다. 아마도 Server State를 관리할 때는 이 라이브러리를 주요 사용할 것 같다.
마무리
23살이 끝나고 이제 24살이다.. 병역문제도 해결했고 개발자로서 할 수 있는 여러 가지 경험도 했던 참 중요한 해였던 것 같다.
병역특례를 하며 거친 두 회사 모두 좋은 동료들이 많아 배울 점이 참 많았고 동기부여도 됐던 것 같다.
올해는 아마 복학을 할 가능성이 매우 높을 것 같다..
올해에는 기술블로그도 꼬옥 계속 챙기고 개인적인 목표도 이뤘으면 좋겠다 ㅎㅎ
다음 글은 아마 자바스크립트의 핵심원리를 적어볼까 한다.
새해 복 많이 받으세용