Leeyanggoo
회고(근데 유데미 멘토링을 곁들인) 본문
좋은 기회
평소 양동준님의 유튜브 채널을 봐왔고, 디스코드 채널에도 들어가 쏠쏠한 정보를 얻고 있었다.
구독도 하고 꾸준히 보는 몇 가지의 이유가 있다.
- 최근 개발 트렌드와 문화를 알아보기 위해서
- 최근에 프론트엔드 취업을 준비하시는 분들의 스펙을 알아보기 위해서
- 최소한 나도 취준하시는 분들의 스펙만큼은 준비해야 겠다는 다짐과 늘 긴장을 놓지 않기 위해
특히 세 번째가 가장 중요한 이유이자 목적인데, 나는 내가 너무 너무 너무나 게으른 사람인 걸 내가 잘 알고 있다.
그래서 늘 긴장하고 지금 일을 하고 있다는 사실에 감사함도 느끼면서 항상 배워야 한다는 태도를 갖추기 위해서다.
또한 올해 안에 최근 프론트엔드 취업을 준비하시는 분들의 스펙을 따라잡는 게 목표이기도 하다.
그러던 중 유데미에서 "주니어 개발자를 위한 커리어 성장 멘토링"을 한다는 걸 디스코드 채널에서 보게 되었고, 좋은 기회라 생각하고 신청하게 되었다.
사실 그동안 일하면서 블로그는 관리하지 못했고, 배웠던 내용이나 발생했던 이슈들도 정리하지 못했기에 지금 글을 시작으로 차근차근 해보고자 한다.
이렇게 지냈습니다
2023년 8월 1일부터 지금까지, 일한 지 어느덧 반년이 지났다.
입사할 때만 해도 1년차가 될 즈음이면 뭔가 개발자의 태가 날 거라 생각했는데 나는 아직도 한참 먼 것 같다.
지금 일하는 대략적인 환경은 이렇다.
- 오픈소스를 이용해 클라우드 서비스 플랫폼 제작
- 오픈소스 스펙 => React / Typescript / Context API / Tailwind / design pattern
- 백엔드 1명, 프론트엔드 1명 => ( 프론트엔드 사수 없음 )
회사가 웹 관련 서비스를 제작하던 회사가 아니기도 하고, 작년부터 개발을 막 시작했기에 인력풀이 상당히 적다.
입사하자마자 약 4개월 뒤에 데모를 출시해야 했기에 바로 오픈소스 코드를 파악하고 어떻게든 커스텀하기 시작했다.
첫 데모 출시까지의 기간이 짧았기 때문에 UI를 MUI로 대체했고, 상태관리는 오픈소스의 기존 Context API 코드를 보며 활용하기로 했다.
제일 힘들었던 부분은 익숙하지 않았던 class 문법과 이용 활용한 다양한 디자인 패턴이었고, 아직 익숙하게 커스텀하는 수준은 아니라서 천천히 살펴보고 있다.
그뒤로 두 번의 데모를 거쳤고, 정식 서비스 출시를 위해 꾸준히 손보고 있다.
관련 직군 사수도 없고, 웹 플랫폼 서비스를 주력으로 하는 회사도 아니라서 좋은 환경이라고 볼 수는 없지만...
다행인 건 내 역량과 환경을 다들 이해해 주시고, 같이 일하시는 백엔드 개발자님의 경력과 실력이 높고 개발의 전반적인 지식을 잘 알려주신다.
프론트엔드는 나 한 명이지만, 그만큼 책임감도 갖고 잘해내고 싶다는 마음으로 늘 배울 수 있는 기회를 소중히 여기고 배움을 갈구하게 되는 것 같다.
또한 궁금했던 라이브러리나 배운 지식을 바로바로 써먹어(?) 볼 수 있는 환경이라서 나름 피드백이 즉각적인 부분이 좋은 것 같다.
어느 정도 바쁜 데모 일정이 끝난 뒤에, 인프런에서 강의를 듣기 시작했지만 너무 더뎠다.
때마침 인프런에서 스터디를 한다는 소식을 들었고, 나는 내게 강제성을 부여하기 위해 신청했다.
하지만 그동안 오픈소스 생태계에서 있던 탓일까.
스터디의 과제를 하기 위해 호기롭게 index.html을 만들고 빈 커서만 쳐다보고 있는 나를 발견할 수 있었다...
그때부터 내가 얼마나 심각한지 깨닫고 속도를 냈던 것 같다.
그래도 다행히 스터디에서 우수 러너가 되어 인프런에서 혜택도 받게 되었다! (인프런 블로그)
그리고 스터디의 백엔드 러너님이 사이드 프로젝트 인원을 모집한다는 글을 보고 신청해서 스터디에도 참여하게 되었다.
고민입니다
나는 국어국문학과와 문예창작학과를 전공한, 비전공 중에 비전공자라고 할 수 있다.
국비 6개월 과정을 수료하고 운 좋게 바로 취업을 했지만, 리액트를 제대로 배우지도 다뤄보지도 못 하고 마주했던 업무는 내게 답답함과 초조함 그 자체였다.
시간이 흘러 오픈소스의 코드가 조금이나마 눈에 익숙해질 무렵엔 마치 이 오픈소스가 커다란 프레임워크처럼 느껴지기도 했다.
그래서인지 빈 프로젝트를 만들면 어찌해야 할지 몰랐다.
라우터나 폴더 구조를 생각해도 막막하고, 오픈소스의 구조를 모방하자니 시작을 어디서 해야 할지 감이 안 왔다.
그리하여 내 부족함을 느끼고 나름 강의도 듣고 사이드 프로젝트도 참가하게 되었지만, 아직 올해의 목표를 달성하기엔 한참이나 멀었다.
최근 프론트엔드 취업을 준비하시는 분들의 최소 스펙을 알아보니 이 정도로 요약할 수 있겠다.
- React / Typescript / Next.js / React Query / Redux / Recoil ( 프레임워크, 라이브러리, 상태관리 툴 )
- Styled-components / Tailwind ( 컴포넌트 디자인 라이브러리 )
- Node.js / Express / Prisma / MongoDB / MySQL / AWS ( 프로젝트 백엔드 구현 )
사이드 프로젝트를 하면서 이런 스펙들을 공부해 나가고 적용할 계획이었지만, 어느 것부터 해야 할지 어떻게 할지는 아직 고민 중이다.
현업에서 사용하는 MUI는 상당히 편리한 기능을 많이 제공하지만, 뭔가 직접 구현해내지 못하면 내 것이 아니기도 하고 추후에 커스텀할 때 항상 문제가 된다.
따라서 웬만하면 기본 자바스크립트의 API 혹은 리액트의 API를 활용해 프로젝트를 구성하려고 계획하고 있다. (예를 들어 createPortal()로 모달 직접 구현)
아마 현업에서 사용하는 기술 스택과 겹치는 부분들을 먼저 배우겠지만, 이후 접점이 없는 부분에 대해선 우선순위를 어떻게 둘지도 고민이 된다. ( 현업에 필요한 기술 스택이 먼저? 프론트엔드 기초가 먼저? )
확실한 건 올해에 이 모든 걸 이루기 위해선 노력해야 한다는 것!