어느덧 2024년의 마지막을 바라보고 있고, 새로운 회사에선 5개월이 지났습니다.
올해는 이직이라는 큰 변화와 함께 새로운 시스템 구축까지, 도전과 성장의 시간이었던 것 같아요.
이직 기간동안 잘 이직할 수 있을까 하는 불안함도 있었지만, 지금은 새로운 환경에서의 도전이 저에게 좋은 선택이였다고 생각합니다.
올해도 올리는 블로그 조회수입니다.
작년의 WAS 관련 포스트만큼은 아니지만, 프론트엔드 전문성을 살린 포스트로 꾸준히 조회수를 달성하고 있습니다.
특히 상태관리 라이브러리가 개발자들에게 가장 높은 관심도를 갖고 있다는게 눈에 띕니다.
아직 많은 개발자들이 Redux, MobX, Recoil, Zustand 등 다양한 상태관리 라이브러리 중에서 자신의 프로젝트에 적합한 것을 선택하는데 어려움을 겪는 것으로 보입니다.
이는 프로젝트 규모, 팀의 역량, 안정성과 확장성 등 여러 요소를 종합적으로 고려해야 하는 복잡한 결정이기 때문이라 생각합니다.
앞으로도 이런 실질적인 고민들을 다뤄보는 포스트를 더 만들어보고 싶네요.
새로운 자리 구하기
한 해의 한분기 넘게 거의 이직하는 것에 시간을 쏟아부었습니다.
약 100곳 가까이 회사에 지원했고 대략 10번 이상의 면접을 거쳤지만, 처음에는 성과를 내지 못했습니다.
그 이유를 돌아보니,
- 공고가 보이는대로 무분별하게 지원하였고,
- 얕은 경험도 이력서에 과도하게 포함시켰습니다.
a. 그냥 딱 한번 경험해본 것도 이력서에 눌러넣다보니 면접 때 깊게 물어보면 답을 못했어요.. - 면접에서 저에 대해 물어보면 부풀리기 바빴습니다.
a. 아마 거짓말을 잘하진 못해서 금방 들켰을거라 생각해요..
한번 이직을 경험해보니 이렇게 느꼈습니다.
- 이력서는 짧고 간결하게 작성하는게 낫다.
a. 채용 담당자는 이력서와 포폴을 읽어보는데 그렇게 많은 시간을 쏟지 않는다고 합니다.
b. 이력서에 기술스택은 간단하게, 경험은 깊은 질문이 들어와도 자신있게 대답할 수 있을 때 적어두는게 좋다고 합니다. - 많은 회사에 막 지원해봤자 금방 떨어질 뿐입니다.
a. 대부분의 지원자는 지원동기를 작성하지 않는다고 합니다. 물론 저도 그랬었구요
b. 저 또한 이력서를 가득 작성하고 막 지원할땐 10곳 넣어 1곳 붙는 정도였지만,
c. 이력서를 짧게 줄이고 지원동기를 별도 파일로 작성해서 제출하니 3~4곳 넣으면 1곳 붙는 정도로 높아졌습니다. - 면접 때 저에 대해 물어보면 거창하게 부풀리기보단 솔직 담백한게 훨씬 나았습니다.
a. 단점도 솔직하게 말하고, 목표도 거창한거 말고 현실적인 목표를 말하는게 좋다고 합니다.
이렇게 이직을 준비하면서 많은 것을 배웠고, 이를 토대로 새로운 회사를 구할 수 있었습니다.
단순한 지원 건수보다 각 지원의 질을 높이는게 효과적이란걸 몸소 배울 수 있었습니다.
새 회사, 새 프로젝트
가장 처음 시작했던건 디자인 시스템 구축이였습니다.
사실 새 회사를 구할때에도 항상 디자인 시스템이 구축되어 있나요? 혹은 구축할 생각이 있나요? 라는 질문을 던졌었는데,
이번에는 처음 저를 뽑을 때 부터 디자인 시스템을 구축하고 싶다 라는 말을 듣고 다른 면접 제의는 다 거절하고 이 회사를 선택했습니다.
거의 4개월동안 디자인 시스템을 구축하고 있습니다.
- tsup로 빌드 환경을 구축했다가 OOM을 보고 vite로 바꿔보고,
- storybook을 적용해 문서화해보고,
- 지금은 해당 디자인 시스템으로 새로운 웹앱 프로젝트를 구현하고 있습니다.
AI 활용은 선택이 아닌 필수
요즘 AI를 적극 활용하면서 개발 속도가 크게 항샹되었습니다.
디자인 시스템의 경우, 빌드 환경 구성부터 컴포넌트 개발까지 4개월만에 구축할 수 있었습니다.
Claude.ai를 적극 활용중인데,
- 오픈소스를 찾아보며 사용방법과 구현된 코드를 조사해보고,
- 아키텍처와 구현 방향을 생각하여 AI에게 질문하여 예시 코드를 받아보고,
- 코드를 작성한 다음, Github Copilot을 통해 자체 코드 리뷰까지 요청하면서 코드 품질을 개선하고 있습니다.
다만 AI 활용시 주의할 점도 있었습니다. 최근 부정확한 답변이나 비효율적인 코드 제안이 부쩍 늘어났다고 생각합니다.
또한, 일부 개발자들은 AI 의존도가 높아져서 성장이 저해될 수 있다고 우려합니다.
하지만 실무에서는 효율적인 결과물 도출이 중요하며, AI를 활용하지 않는 것은 경쟁력 저하로 이어질 수 있다고 생각합니다.
다만 성능과 보안 이슈를 고려해 AI 제안을 검증 없이 수용하지 않도록 주의하며 개발하고 있습니다.
앞으로 해야할 것
전 프론트엔드 테스트코드 작성에 대해선 경험이 적다보니, 지금까지 구현한 수많은 컴포넌트들을 어떻게 테스트해야할지 고민이 많이 됩니다.
하지만 컴포넌트가 많아진 만큼, 안정적인 유지보수를 위해 테스트코드 작성이 필요하다고 느끼고 있습니다.
감사하게도 회사를 통해 프런트엔드 개발을 위한 테스트 입문 책을 구입하게 되었고, 이를 통해 테스트 코드 작성법을 익혀볼 계획입니다.
현재 모던 리액트 DeepDive도 1/3 정도밖에 읽지 못했는데, 읽어야 할 책이 하나 더 늘어났네요..
모던 리액트 DeepDive는 처음엔 필요한 부분만 읽고 넘어갔는데, 다시 읽어보니 놓친 내용이 정말 많더라구요. 현재는 Github에 챕터별로 정리하면서 읽고 있습니다.
이번에 다시 읽어보며 React의 깊은 부분을 이해할 수 있었습니다.
예를 들어 React에서 상태가 변경되면 리렌더링이 일어난다는건 알고 있었지만, '왜' 일어나는지, React Fiber는 무엇인지, 상태는 어떻게 관리되는지 등 React의 내부 동작을 더 깊이 이해하게 되었습니다.
앞으로도 남은 부분을 꼼꼼히 읽으며 Github에 정리해 나갈 예정입니다.
취미 개선하기
평소에 아프리카TV를 통해 인터넷 방송을 즐겨보곤 했었는데, 사이드바가 너무 불편하다 느껴 직접 크롬 확장프로그램을 만들어보았습니다.
기존 사이드바는 시청자수, 방송 시간, 게임 정보 등 기본적인 정보조차 확인하기 어려웠고, 맑은 고딕 폰트 사용으로 디자인도 올드한 느낌이 있었습니다.
지금은 SOOP 으로 변경되며 필요하다고 작성한 부분이 전부 추가되었습니다.
그래서 저 확장 프로그램은 추가로 업데이트하고 있지는 않습니다.
이직을 위한 사이드 프로젝트와는 다르게, 제 취미를 위한 개발은 정말 재밌었습니다.
코드량이 많지도 않고, 개발 시간도 길진 않았지만, 제가 원하는 기능을 직접 구현하고 실제 사용자에게 공개했다는 점에서 가장 기억에 남는 프로젝트가 되었습니다.
주요 개선 사항
- 실시간 시청자 수와 방송 시간 표시
- 현재 진행 중인 게임/컨텐츠 정보 제공
- Pretendard 폰트 및 더 나은 디자인 적용
- 다크모드 지원
개발 후기
처음으로 크롬 확장프로그램을 개발해보면서 새로운 경험이 되었고, 실제 사용자에게 공개까지 해볼 수 있었습니다.
크롬 웹스토어를 통해 사용자 수가 1명, 2명 늘어나는 것을 보다보니 정말 뿌듯했습니다.
앞으로도 제가 실제로 필요로 하는 기능들을 직접 개발해보면서, 개발의 재미와 실용성까지 느끼며 개발을 해보고 싶습니다. 이런 개발들은 이직을 위한 사이드 프로젝트보다 더욱 더 재미있었고, 앞으로도 이런 프로젝트를 계속 진행해보려고 합니다.
마치며
올해는 새로운 도전과 성장의 한 해였습니다. 이직이라는 큰 변화를 겪으며 중요한 교훈을 얻을 수 있었고, 새 회사에서 디자인 시스템을 구축하며 기술적 성장도 이뤄냈습니다.
이직이라는 불확실한 도전 속에서도 성장할 수 있었던 2024년이였습니다. 정말 운이 좋았다고 생각합니다.
2025년에는 테스트 코드 작성과 React 깊은 부분을 이해하는 것을 목표로 삼아 기초를 더 견고하게 다진 개발자로 성장해보려 합니다.