어느 모자란 개발자의 2023년 회고

milkboy2564·2024년 1월 2일
3

회고

목록 보기
8/8
post-thumbnail

1. 회사

내가 정말로 애정하는 영화인 타짜의 호구 형님이 하신 많고 많은 주옥같은 대사 중에 다음과 같은 대사가 있다.

호구 : 그렇지! 노름이 뭐야?
예림이 : 파도요
호구 : 그래 파도! 올라갔으면 내려 가고 내려갔으면 다시 올라가는거야 이제 이것들은 다 죽었어! 예림이 어서가 , 험한데 오지 말고 조심해서 가. 파이팅!

회사에서의 2023년은 나에게 파도와 같았다.

# 제 1장 - 올라가는 파도

2022년 10월에 첫 취업을 한 어느 모자란 개발자는 누구보다 의욕적으로 회사일을 할 준비가 되어 있었다.

당장이라도 수많은 사용자들에게 내가 만든 서비스를 보여주고 싶었고 그들의 불편함을 고쳐주고 싶었다.
운영 상의 발생하는 수많은 CS를 빠르게 대응하고 현업에서 사용하는 고도화된 코드를 보고 성장하고 레거시 코드를 아름다운 코드(매우 주관적)로 리팩토링 하고 싶은 마음에 들떠 있었다.

입사 후 첫 3개월은 온보딩을 통해 회사에 적응하는 기간과 협업하는 방식을 깨달아갔다.
온보딩 프로젝트에서 나와 내 동기들 4명은 정말 열심히 프로젝트를 진행했다. 모든 PR에 대해 리뷰를 했고 뭐 하나 허투루 넘어가는 부분이 없었다. 매일 아침 모여 데일리 스크럼을 진행했고 수시로 진행 상황을 공유했으며 매일같이 옆자리 동기와 붙어 앉아 더 좋은 코드에 대해 논의했다.

그렇게 의욕적으로 진행한 온보딩이 끝나고 드디어 내가 생각했던 여러 사람들이 쓸 수 있는 서비스를 개발할 수 있는 기회가 찾아왔다.

그때 당시 회사 내의 프론트엔드 파트의 인력 구조는 5년차 프론트엔드 개발자 한 분과 나를 포함한 신입 프론트엔드 개발자 3명이 있었다. 기존에 존재하는 서비스에 우리가 바로 투입이 될 수 없었던 상황이기에 신입 개발자 3명이서 새로운 프로젝트의 PoC를 위해 투입이 되었다.

약 2개월동안 기획자, 디자이너, 백엔드 개발자와 협업을 하면서 정말 열심히 프로젝트를 진행했었다. 내가 맡은 첫 프로젝트였고 더군다나 의도치 않게 파트 리더와 같은 역할을 맡았기 때문에 남들보다 더욱 열심히 임했다. 개발 마무리 단계와 QA 기간에는 8시 30분에 출근해 집에 도착하면 매일 11시가 넘었으니 지금 생각해봐도 힘들긴 했을 것 같다.

그때는 뭐가 그리 개발이 좋았는지 한동안 머리를 싸매던 기능을 구현했을 때 의자에서 오두방정을 떨면서 기뻐했던 기억이 난다.

이렇게 회사에서의 1장을 올라가는 파도와 같았다.

# 제 2장 - 내려가는 파도

온보딩 3개월과 불같은 2개월을 보내고 약간의 여유가 생겼다. 그래서 그때 주력으로 서비스하고 있던 프로젝트의 코드를 분석하기 시작했다.

그때 당시 나는 코드를 보고 놀라움을 감출 수가 없었다. 여기서의 놀라움은 경이로움이 아닌 당혹스러움에 가까웠다.

모든 비즈니스 로직이 하나의 컴포넌트 안에서 처리되고 있느라 컴포넌트들은 뭐만하면 1000줄이 넘어갔고 심심치않게 3000줄이 넘는 컴포넌트 또한 보였다. 나아가 함수 하나에서 수없이 많은 작업을 하고 있었으며, 10개가 넘는 useEffect와 30개가 넘는 useState가 나를 가슴 아프게 만들었다. 가장 결정적으로 프로젝트 관련하여 문서화가 전혀 되어있지 않았기 때문에 나는 궁금함이 생길 때마다 선배 개발자를 찾아가 물어볼 수 밖에 없었다.

그러던 중 갑자기 회사 내의 또다른 서비스의 새 버전의 개발을 맡게 됐다.
새로운 버전은 외주 개발자 분들이 1차 개발을 진행한 상태였고 2차 개발과 QA까지 우리가 맡아서 하는 작업이었다.

이 프로젝트는 Next.js로 만들어진 백오피스와 Electron으로 만들어진 유저 애플리케이션으로 구성되어 있었다.
Next.js는 온보딩과 이전 프로젝트를 통해 경험을 해봤지만 Electron은 한 번도 해보지 않았기에 살짝 걱정이 되긴 했으나 개발을 하는데 기술이 문제가 된다고 생각하지는 않는 사람이기에 강의를 찾아서 듣고 있었다.

근데 경험해보지 않은 스택보다 더 큰 문제가 발생했다.
그것은 바로 Deadline.. 한국말로 마.감.기.한

개발과 QA까지 약 한달이라는 시간이 탑다운으로 내려왔다.
처음에는 진짜 걱정이 많았다. 이건 아무리 생각해도 말이 안되는 기간(물론 내 기준)인데 도대체 어떻게 하지? 라는 생각부터 들었다.

그런데 우리는 노동 시간에 대한 대가로 돈을 받고 일하는 프로이기 때문에 주어진 임무에 대해서는 책임감 있는 모습을 보여줘야 하는 의무가 있다. 그래서 부랴부랴 코드를 분석하기 시작했다.

지금 생각하면 이 프로젝트는 정말 복잡한 비즈니스 로직들이 여기저기 추상화되어 있었고 이를 파악하는데 되게 고생했던 기억이 있다. 어찌됐든 결과적으로 무사히 끝마치기는 했으나 회사란 이런 것인가를 깨닫게 해줬던 프로젝트였다.

그리고 드디어 메인 서비스에 투입이 되는건가 했을 때 청천벽력같은 소식이 들려왔다.
지난 6개월동안 믿고 의지했던 선배 개발자가 이직을 하기로 결정했다는 것이다.

이 소식을 듣자마자 걱정부터 됐다. 다시 생각해보면 정말 혼란스러웠다.
내가 잘할 수 있을까..?, 잘할 수 있을거야..!, 이건 기회야..!, 아니야 그래도 서비스에 대한 이해도가 부족한데 괜찮을까..?
정말 오만가지 생각이 다 들었다. 물론 결론은 그래 잘할 수 있어로 귀결되긴 했지만 상당히 혼란스러웠던건 사실이다.

이 시기에 나랑 내 동기는 서비스에 대한 문서화를 시작했다. 우리가 처음 투입됐을 때 느꼈던 문서화가 되어있지 않는 것의 불편함과 불필요한 소통 비용을 개선하려고 했다.
페이지마다 기능과 주요 체크 포인트를 정리했고 전체적인 서비스의 Flow를 정리했다. 그리고 각 서비스마다 환경 변수, 배포 방식, 기능 정리, 폴더 및 파일 구조, 유의 사항 등을 구조화하여 Confluence의 정리했다.

이 작업의 결과는 시간이 지나 새로운 개발자분이 들어왔을 때 유용하게 사용됐다 ✌️

약간의 시간이 흘러 선배 개발자가 퇴사를 하고 본격적으로 기능 단위의 개발부터 유지, 보수 작업까지 진행하게 됐다. 이 서비스를 맡았을 때 처음 기대했던건 위의 서술했듯이 고도화된 코드를 보고 배우고 적용하며 성장하는 것이었다.
그리고 이를 위해 나를 이끌어줄 선배가 필수적으로 필요하다고 생각했던 시기였다.
(물론 현재는 생각이 달라졌지만 그때 당시는 뭐가 그렇게 꽉 막혀있었는지 좋은 선배에 집착 아닌 집착을 했었다..ㅎ)

반복적인 기능 개발, 유지보수, 촉박한 일정, 동료와 개발적인 무언가에 대해 수많은 이야기를 하지만 명확하게 나오지 않는 결론 그리고 개인적인 사정 등 여러 요인들이 겹쳐서 심적으로 굉장히 힘든 시기였다.

이 시기가 오기 전까지는 개인 학습도 꾸준하게 진행을 했고 이를 회사 코드에 조금씩 적용을 해보면서 성장한다는 느낌을 받았지만 이상하게 개발을 하면서도 성장한다는 느낌을 받을 수 없었던 시기였다.

흔히 얘기하는 번아웃이 온건가? 라는 생각이 들기 시작했다. 그렇게 나의 파도는 다시 내려가기 시작했다.

# 제 3장 - 다시 올라가는 파도

한동안 슬럼프를 겪으면서 이를 타파하기 위한 여러 수단(Ex. 동아리, 스터디, 컨퍼런스 등)을 찾아다녔다. 이런 활동은 폐쇄적이던 나에게 아주 좋은 경험이었고 새로운 인사이트를 얻게 해주는 소중한 기회였다.

이런 경험들이 쌓인 모자란 개발자는 마인드를 바꾸기 시작했다.

"물어볼 사람이 없다는 것은 핑계다. 다른 팀에도 훌륭한 개발자들이 있다. 궁금증이 생기고 조언이 필요하다면 굳이 프론트엔드 개발자가 아니더라도 다른 선배 개발자들도 나에게 충분히 조언해줄 수 있다."

이렇게 생각을 바꾸니 나를 감싸던 부정적인 생각들도 점차 사라지기 시작했고 해야할 일이 명확했졌다.
그 즉시 기능 개발과 유지보수 업무 뿐만 아니라 그동안 내가 개발을 하면서 느꼈던 개선 사항들을 문서화하여 정리하기 시작했다.

정리해보니 어떤 작업을 해야하고 우선 순위가 어떤 작업이 높은지를 명확하게 알 수 있었고 여유가 있을 때마다 틈틈이 해당 작업을 진행할 수 있었다.

해야만 하는 일과 하고 싶은 일을 적절하게 구분하는 것이 정말 중요하다고 생각하는데 나는 하고 싶은 일을 파트장님께 적극적으로 어필했다. 똑같은 기술을 도입하더라도 사이드 프로젝트에 적용하는 것과 실제 프로덕트 코드에 적용하는 것은 성장의 밀도가 다르다.

하지만 기존 서비스의 새로운 기술을 도입하는 것은 굉장히 보수적으로 접근해야한다는 것은 전적으로 동의한다. 유저 입장에서는 내가 모노 레포 기반으로 프로젝트를 구성하든지 자바스크립트 파일을 타입스크립트로 변경하든지 공통 모듈을 분리하든지 클린 아키텍처를 도입하든지 소나 큐브나 센트리를 도입하든지 아무런 관심이 없기 때문이다.

그들은 그저 서비스를 이용하는 사람일 뿐이지 서비스를 관리하는 사람이 아니다. 이용하는 사람은 기존대로 이용할 수 있다면 어떠한 문제도 느끼지 않는다.

그래서 새로운 기술을 도입할 때 나는 항상 근거를 가지고 제안을 하려고 노력했다. 그래야만 결정권자의 신뢰를 얻을 수 있다고 생각했다.

먼저 그때 당시 동아리, 외부 스터디, 강의 등 여러 개인 활동을 하고 있었기 때문에 주변의 여러 사람들의 이야기를 듣고 우리 서비스의 적용이 될 수 있는 부분을 찾으려고 했다.

그리고 이 기술을 적용하기 위해 미리 학습을 해봤다. 간단한 프로젝트를 만들어 적용해보기도 하고 브랜치를 하나 만들어 서비스에 적용해보기도 했다.

이런 과정을 거쳐 어느정도 확신이 들었을 때, 기술 도입을 제안했다.

물론 모든 경우를 이런 식으로 진행한 것은 아니었고 중간에 어그러지는 경우도 많았지만 이런 식의 과정이 나를 더 성장하게 만들어줬고 다시금 개발이 재밌어지는 시간이었다.

결과적으로 지금은 하고 싶은 일과 해야만 하는 일을 적절하게 섞어서 진행하고 있으니 나름 성공적일지도..?

2. 개인

# 동아리

여기에서 적었지만 올해 처음으로 외부 동아리를 진행했다.
그동안 외부 활동에 대한 갈망이 꾸준하게 있었는데 운이 좋게 이번에 처음으로 진행을 했다.

12월 16일부로 1기의 공식 활동이 모두 종료가 됐지만 사이프를 통해 알게 된 많은 사람들이 내가 이번 동아리를 통해 얻은 가장 큰 수확이었다.

정말 좋은 경험이었고 I라서 모든 사람들과 친해지지는 못한게 좀 아쉽긴 한데.. 더 좋은 기회에 만나게 된다면 웃으면서 인사할 수 있는 사이가 된 거 같아 기분이 아주 좋다!

사이프는 아마 올해 가장 잘한 일 중 하나가 아닐까 싶다.

# 스터디

1년동안 꾸준하게 스터디를 진행했다.

사내에서 자바스크립트 스터디, Next.js 스터디를 주도해서 진행했었고 외부에서는 React World라는 스터디를 진행했다.

그리고 개인적으로 요즘에 함수형 프로그래밍에 지대한 관심이 생겨 쏙쏙 들어오는 함수형 코딩을 읽고 있다.

# 멘토링

이번에 코드잇 스프린트 4기의 프론트엔드 멘토를 진행하게 됐다.

코드잇은 좋은 문화를 가진 회사라고 생각하여 꾸준하게 관심을 가지고 있었는데 이번에 부트캠프의 멘토를 뽑는다는 공고를 보고 바로 지원했다.

다행히 미니 인터뷰 기회가 주어졌고 커피챗 형식의 간단한 대화 후에 과제 전형이 진행됐다.

과제는 수강생들에게 코드 리뷰를 진행하는 상황을 재현하는 것이었다.
단순 코드 리뷰라서 시간이 오래 걸리지 않을거라 생각했는데 알아듣기 쉽게 설명하려다보니 생각보다 시간을 오래 잡아먹었다. 코드리뷰를 하면서 느낀 점이 아는 것과 설명하는 것이 진짜 큰 차이가 있구나를 다시 한 번 깨닫게 된 것 같다

과제를 제출하고 시간이 흘러 합격했다는 메일을 받을 수 있었다! 오예!

멘토링은 처음이라 줌 화면 안에서 뚝딱거릴 수도 있고 나도 어려운 부분이 있을 수 있지만 멘토링을 준비하면서 스스로도 성장하고 내가 맡은 수강생 분들도 성장할 수 있는 시간이 되기를 희망해본다.

그동안 Notion의 N도 제대로 쓰고 있지 않아서 이번 멘토링을 진행하면서 노션을 제대로 한번 써보려고 한다👏

# 외부 행사

올해는 컨퍼런스를 가보려고 시도를 정말 많이 했다. 가장 최근에 진행한 WOOWACON, INFCON, Naver DEVIEW, FEConf 등 유명한 개발자 행사들은 전부 티켓팅을 시도했다.

결과는.. 폭망..

단 하나도 성공한 것이 없다.. 대학생 때도 매번 수강신청을 실패해서 종료날까지 장바구니를 들여다봤었는데 이번에도 역시나 실패를 해버렸다.

모두가 알만한 유명한 컨퍼런스는 참여하지 못했지만 상대적으로 규모가 작은 컨퍼런스(Ex.테오의 컨퍼런스, 동아리 내에서 진행한 내부 컨퍼런스)는 참여해볼 수 있었다.

그리고 토스에서 진행하는 프론트엔드 다이빙 클럽에 참여자 모집 공고를 보고 바로 지원을 했는데 이번에는 운이 좋게도 합격을 할 수 있었다.

역삼동에 위치한 토스 사옥에 가서 토스 개발자 분들과 여러 고민들에 대해 이야기를 나눌 수 있었고 다른 개발자 분들이 다니는 회사는 어떤 분위기인지 어떤 고민들이 있는지에 대해서도 들어볼 수 있는 아주 유익한 자리였다.

먹으라고 나눠주신 샌드위치가 상당히 맛있었는데 어디서 파는건지 물어보고 나오는걸 까먹었다^^;

3. TMI

# 운동 못함

올해 계획은 헬스를 다녀 양양을 다녀오는거였지만 처참하게 부숴졌다. 그래서 바로 자기객관화 때려서 빠르게 내년 계획으로 정정했다.

요즘 자고 일어나면 등이랑 목이 너무 아프고 거울보면 어깨도 앞으로 말려들어가서 거북목이 심해지고 있다는걸 느끼고 있다. 회사에서 운동 프로그램을 지원하여 30분씩 주 2회 운동을 할 수 있었지만 꼴랑 그거로는 나의 원대한 계획을 이룰 수가 없기에 내년부터는 헬스를 시작하려고 한다.

언젠가 나도 오운완을 올릴 수 있는 날이 오길 기대해본다.

# 책 읽자

개발 관련 서적은 나름 꾸준하게 읽어오고 있었지만 그 외의 다른 서적을 읽었던게 언젠지 기억이 가물가물하다. 책은 분야를 가리지 않고 읽으면 도움이 되니까 꼭 개발 서적이 아니더라도 조금씩 책을 읽는 습관을 들여봐야겠다.

나는 롤은 하지 않지만 페이커 경기는 챙겨볼 정도로 페이커의 팬이다.

얼마전 유퀴즈에서 페이커가 “독서를 통해 게임을 대하는 태도, 삶을 바라보는 관점이 많이 바뀌었다. 어떤 마인드로 임해야 더 잘할 수 있을까 고민했고 책을 통해 마인드 셋이 달라졌다”라고 말하는걸 봤다.

이는 곧 굳이 개발 서적이 아니더라도 다른 책을 통해 개발과 관련된 능력을 키우는데 도움이 될 수 있다는걸 의미할 수도 있지 않을까 라는 생각이 들었다.

자 그럼 이제 내년 목표는 개발 외 서적 4권 읽기다!

# 옷에 관심이 다시 생김

남중, 남고, 군대 테크를 타고 23살에 전역한 후 1년동안 미친듯이 공부를 했다.
그리고 24살에 꿈에 그리던 대학에 입학을 하게 되니 그동안 잊고 있었던 옷에 대해 관심이 다시 생겼었다. 그때 당시 무신사는 나의 소울 메이트였고 부평역 지하상가는 나의 놀이터였다.

그렇게 한창 꾸미는 것에 관심이 있던 시간이 지났고 3학년이 되고 난 후 취업이라는 현실을 마주하게 되면서 점점 꾸미는 것을 잊어버렸는데...

요즘 다시 옷에 관심이 생기기 시작했다.
인스타에 이쁜 옷이 보이면 괜시리 한 번 들어가보고 마음에 들면 구매하는 경우도 생겨버렸다.

문제는 이쁜 옷만 보면 눈이 돌아가서 장바구니에 담아두고 본다는 것이다.
언제 구매 버튼 누를지 모르기 때문에 그리고 그 버튼을 누르면 라면만 먹어야될 수도 있기에 아직 절제하고 있는데 얼른 이성 챙기고 적당히 사야겠다^^;

4. 마무리 (내년 계획)

일단 내년에는 올해보다 파도가 잔잔했으면 좋겠다.
큰 슬럼프 없이 항상 개발이 재밌었으면 좋겠고 이를 위해 여러 활동을 해볼까 생각중이다.

  • 소프트웨어로 비즈니스에 기여하기 : 비즈니스에 기여하는 여러 방법 중 개발자들이 할 수 있는 방법은 소프트웨어로 우리네 비즈니스에 기여하는 방법이 있다. 나는 개발자로서 내가 가장 자신 있는 부분으로 비즈니스에 기여해서 서비스의 성장을 이끌고 싶다.
  • 동아리 하나 더 하기 : 첫 동아리 경험이 너무 좋아서 새로운 동아리도 해보고 싶은 마음이 생겼다.
  • 발표해보기 : 내가 퍼블릭 스피킹 알레르기가 있어서 남들 앞에서 발표를 잘 못하는데 내년에는 발표 한 번 해볼 수 있을까..?
  • 오픈소스 기여하기 : 그동안 오픈소스에 기여하고 싶다는 생각을 어렴풋이 하긴 했지만 실질적인 행동을 한 적은 없다. 그래서 내년에는 오픈소스 컨트리뷰터가 되는 것이 계획이다.
  • 책 읽기 : 책 좀 읽자
  • 운동하기 : 운동해서 내 몸은 내가 챙길 수 있도록 하자
  • 블로그 활성화 : 그동안 너무 띄엄띄엄 썼는데 블로그를 적어도 한달에 2개는 쓰려고 한다. 개츠비로 블로그를 만들어서 운영해볼까 하는 생각도 가지고 있다.
profile
FE 개발자

2개의 댓글

comment-user-thumbnail
2024년 4월 10일

글을 보고 좋은 대리경험한 것 같습니다! 글도 너무 몰입감있게 잘쓰시네요!
저는 늦게나마 프론트엔드를 지망하고 공부하고 있습니다. 배울점이 많은 것 같습니다. 자주 블로그 오겠습니다. 감사합니다!

1개의 답글