Skip to main content

Command Palette

Search for a command to run...

2021 회고

Updated
4 min read
2021 회고
H

I am a Frontend Developer in Seoul, Korea. I am interested in Impact Driven Development.

TL;DR

많은 경험과 성장도 했지만, 돌이켜보면 아쉬움이 남는 해였다.
앞으로의 내 성장 방향에 대해 고민한 해였다.

올해는 내 역할과 책임을 개발자/팔로워로 한정 짓기보다 스스로 더 많은 책임과 역할을 부여했다. 나쁘게 말하면 오지라퍼였고 좋게 말하면 코더에서 제품을 만드는 사람으로서, 조직문화를 바꾸고 싶은 사람으로서 확장한 역할을 수행하려고 노력했다. 좋은 제품을 만들기 위해서, 조직에 좋은 변화를 만들기 위해서, 성장하기 위해서 뭐라도 해야 했다.

개인적으로 개선/시도해보고 싶었던 일들이 많았던 만큼 아직 실행에 옮기지 못한 일, 실패했던 시도들도 많다. 다만, 이 과정을 통해서 내가 성장하고 있다고 확신한다. 내가 모르는 것, 배워야 하는 것들이 너무 많음에 좌절하면서도 이 과정을 통해서 성장해 있을 내 미래가 기대된다.

JOBDA

작년에 시작했던 jobflex에 이어서 올해는 jobda라는 다른 신규 프로젝트를 시작하게 됐다. 신규 프로젝트를 시작한 지 1년이 채 되지 않은 시점에서 다른 새로운 프로젝트를 시작해야 한다는 소식을 들었을 때 굉장히 혼란스러웠지만, 빠르게 현실로 복귀했다.

이 과정에서 다행이었던 점은 기존 jobflex의 구조에서 느꼈던 문제를 jobda에서 개선할 수 있었던 부분이다. 기존 jobflex는 React(MPA) + Spring의 구조였다. jobflex 개발 과정에서 이 구조가 배포, 개발 생산성의 측면에서 장점보다 단점이 많은 구조라고 생각되어 jobda에서는 Next.js와 Spring으로 프론트엔드와 백엔드 어플리케이션을 분리하게 됐다.

제품

작년 초 jobflex를 처음 개발하기 시작했을 때, 나는 2019년 11월 말에 입사했던 신입이었다. 그때 내게 기획서란 완성된 요구사항이 담긴 명세였다. 나는 명세를 정확히 이해하고 그걸 그대로 구현하는 것에만 집중했다. 그땐 그게 옳은 줄 알았다. 그러나 그건 잘못 일하는 방식이었다.

jobda 프로젝트에는 시니어 기획자가 없다. 이런 배경으로 인해 개발과정에서 jobflex와 다르게 많은 우여곡절이 있었다. 리뷰에서 기획자와 서로 의견이 일치하지 않을 때 적극적으로 피드백했지만, 서로가 서로를 설득하지 못해 의견이 반영되는 경우는 드물었다. 좋은 제품을 향한 공동의 목표를 이루기 위해서 나도 좋은 제품에 대해서 고민해야 했고, 계속 소통했다.

이 과정 속에서 제품을 만든다는 것은 다 같이 치열하게 사용자가 진정으로 원하는 것에 대해서 가설을 세우고 검증해나가는 과정이라는 단순하고 당연한 사실을 깨달았다(그 과정 속에서의 내 생각). 현재 진행 중이다.

개발문화

공유/소통

회사에 다니면서 아쉬웠던 부분 중의 하나가 개발자 간의 지식 공유/소통이었다. 사내에 개발자 수가 적은 편은 아니지만, 대부분의 소통, 인간관계가 팀 내부 혹은 함께 같은 제품을 만드는 팀 사이에서 형성되다 보니 개인적으로 다른 조직 간에 서로 너무 분리되어 있다는 생각을 많이 했다.

지식 교류가 서로 다른 팀 사이에서 이뤄지기 어려운 구조였고, 팀 내부적으로도 파트 내부에서 지식 공유가 활성화되어도 백엔드 파트와 프론트엔드 파트사이에서 지식 공유가 원활하지 않았다.

어떤 방식이든지 지식공유와 소통이 활발할수록 조직 구성원 성장의 기울기가 높아질 것이라고 확신했기 때문에 지식공유 용도로 팀 내부 공유 채널, 전사 프론트엔드 개발자 공유 채널을 만들고 개발, UX, 개발문화 등 주제에 상관없이 인사이트를 주는 좋은 리소스를 발견했을 때 짧은 글과 함께 공유하기 시작했다.

정말 인상 깊게 읽었던 포스트 공유

정말 인상 깊게 읽었던 포스트 공유

개발문화에 대한 내 생각을 바꾸게 만든 발표 영상 공유

대부분은 뉴스레터처럼 공유되고 끝나지만, 흥미로운 주제가 공유 채널에 올라오는 경우엔 함께 열띤 토론을 하거나 댓글이 오가기도 한다. 이렇게 구성원들이 소통하는 문화가 조금씩 사내에 퍼지면 좋겠다.

올해 초부터 개발문화/조직문화에 대해서 고민하기 시작했던 것 같다. 내가 조직에 긍정적인 변화를 줄 수 있을 것이라는 기대와 ‘정말 내가 할 수 있을까’에 대한 회의감은 처음부터 함께 있었다. 하지만 이 글이 영상을 보고 나서 계속 변화를 시도하는 것은 틀린 게 아니라는 확신을 가지게 됐다.

조직문화는 구성원들이 함께 만들어나가는 것임을 잊지 않으려고 한다.

개발 프로세스

CI 도입은 올해 내가 가장 잘한 일이라고 생각한다. CI 과정에서 단위 테스트, 타입 에러 체크, 빌드 체크를 한다. CI 덕분에 코드 퀄리티가 일정 수준 이하로 내려가는 것을 막을 수 있었다. 이제 더 이상 CI 없는 삶은 상상할 수 없게 됐다.

다만, 현재 단위 테스트가 컴포넌트를 제외하고 store와 utility, hooks 코드를 대상으로 이뤄지고 있는데, 컴포넌트까지 범위를 확장하고 싶고, 가능하다면 E2E 테스트를 통해서 안정적인 소스코드를 만들고 싶다.

Storybook도 도입했지만, 아직 디자인 시스템이 제대로 구축되지 않은 관계로 개발 프로세스에서 유의미한 역할을 하진 않고 있다.

새로운 경험

프론트엔드와 백엔드를 서로 분리하게 되면서 각 파트에 맞는 배포 방식을 결정할 수 있었다. 트래픽이 갑자기 몰리는 경우에 대비해 유저 어플리케이션은 serverless-next.js를 사용해서 갑작스러운 트래픽 증가에도 빠른 스케일 아웃이 가능하도록 serverless 환경으로 구성했다. 그리고 갑작스러운 이용량 변화가 없는 어드민 어플리케이션은 Docker 컨테이너 환경으로 구성했다. jobda를 통해 이전에 접하지 못했던 Docker나 AWS CloudFront, S3, Lambda를 활용한 인프라 세팅 경험도 해볼 수 있었다.

Devops팀과 함께 인프라 구성에 대해 토론하고 삽질하면서 현재 구성에 도달하게 됐는데 앞으로 더 나은 인프라 구성을 위해서 함께 삽질해나갈 예정이다. (항상 프로젝트의 성공적인 서비스를 도와주는 DevOps팀에게 감사를, 특히 재훈이에게 감사를 전한다.)

그 외

이 밖에 올해 이런 일들을 해봤다.

  • 드럼 배우기

  • 기초군사훈련 수료

  • 블로그 포스팅 꾸준히 하기(?)

  • 방송대 1학년 마무리 (뿌듯하지만 아직 3년이나 남았다;;)

  • 오픈소스에 지속적으로 관심 가지고 참여하기

Welcome 2022

내년에 잘 하고 싶은 것에는

  1. 좋은 제품을 만들기 위해서 치열하게 노력하기

  2. 올해 내내 쌓아두기만 했던 포스트 작성하기

  3. 건강관리를 위해서 운동 꾸준히 하기

  4. 오픈소스에 지속적으로 참여하기

  5. 영어 학습 꾸준히 하기

스스로 돌이켜보면 하고 싶은 것들이 왜 이렇게 많을까 싶으면서도 이 모든 걸 다 잘 해낼 수 있는 사람이 되고 싶다. 세상에 더 큰 영향력을 줄 수 있는 사람이 되고 싶다.

지속적으로 내가 지치거나 멈추지 않고 성장할 수 있도록 신체적/정신적 지구력을 갖추는 것도 내년의 중요한 목표가 될 것 같다.