프론트엔드 아무개씨의 6월 회고
회고
6월쯤, 매년 그렇듯 벌써 올해의 반이 지나가버렸다 말합니다. 새해가 밝은지 엊그제 같은데 어느덧 6월이고 지난 날을 돌아보며 중간 정산을 합니다.
언제부터인지 회고 문화가 자리잡고 있습니다. 지난날의 나를 돌아보며 무엇을 잘했고, 무엇이 아쉬웠는지 공개적으로 되돌아보는 것은 마치 남이 볼 것을 염두한 일기장을 쓰듯 부끄럽고 솔직하기 어렵습니다.
몇 사람 안보더라도 공개적인 장소에 말을 뱉으면 왠지 모르게 말한대로 흘러가려는 경향이 있다고 생각합니다. 나름 노력했다는 암묵적 어필이기도 하고 그래서 이제 뭘 할건지 선언함으로써 스스로 암시를 주는 용도이기도 합니다.
무엇을 했나
저는 메디스트림이라는 한의계 플랫폼 스타트업에서 프론트엔드 개발자로 일하고 있습니다. 부트캠프 시절 한달 남짓 인턴을 거친 후 정식 채용되어 작년 12월부터 지금에 이르렀습니다.
한의계라는 저에게 다소 생소한 분야에서 개발자로서 커리어가 맞는건지 의문이었지만, 예상과 달리 다양한 IT 서비스를 구축하고 있었습니다.
커뮤니티 플랫폼, 자체 솔루션 커머스, CRM 시스 템, 광고 지급 결제 시스템, 경영지원 컨설팅, PB 등 다양한 사업을 이루어가고 있고 끊임없이 사업 개발이 이루어지고 있습니다. 관심있으시면 링크에서 확인하세요.
디자인 시스템 & 로고 리뉴얼 이전의 프로덕트 이미지, 개발 꿈나무가 좋아할만한 프로덕트 디자인에 넘어가 인턴 지원했습니다. 회사에 들어온 이유 중 반 이상은 프로덕트 디자이너님 때문이네요. 저는 천성적으로 이쁜것에 약합니다.
타임라인
인턴 ~ 2022.02
- AWS EventBridge를 이용한 알림 센터 구축 (프로토타입)
- Lambda 이벤트 트리깅 및 Firebase SDK를 이용한 FCM 알림 발송 파이프라인 구축
- AWS SDK를 이용한 어드민 페이지 이벤트 로그 화면 구현 (Vuetify)
- 서버리스 프레임워크로 인프라 프로비저닝 (AWS 게이트웨이 > 이벤트 브릿지 > 람다 > SQS > 파이어베이스 메시징 (GCP))
2022.03 ~ 2022.06 (현재)
- 알림 기능 화면단 컴포넌트 제작 및 기능 구현
- 메인 홈 개편 Release 2.0.0
- CI 리뉴얼, 컬러 시스템 도입, 전역 컬러 변수화 관리
- 커뮤니티 게시판, 글 작성 페이지, 댓글 기능 UI 개선
- 사용자 맞춤 선택형 목록 인터페이스 구현 및 UX 개선
- 각종 유틸리티 함수 제작 및 재사용 컴포넌트 UI 구현
- 검색 기능 고도화 / 검색 기능 UI 개편 및 인터랙션 구현
- 디자인 시스템 적용 및 다크모드 도입 (Sass & Vuex)
- 백로그 해결
- PC/모바일/웹뷰 환경 클라이언트 이미지 확대 기능 구현
- Vuex 전역 상태 라이브러리 도입
- 게시글 첨부 이미지 텍스트 에디터 연동 자동 압축 프로세스 구현 (compress.js)
- 게시글 첨부 영상 썸네일 자동 생성 기능 (mp4, youtube, vimeo, ...)
- 기타 디버깅, 운영단 요청 적용..
- (현재) 모바일/웹뷰 메인 홈 개편 (v2)
인턴 프로젝트를 되돌아보면
어려웠던 점
- nodeJS, MySQL 쬐끔 맛보기 했었던 프론트엔드였는 데 인턴 과제가 AWS 이벤트 브릿지
- 회사에서도 처음 도입하는 인프라와 아키텍쳐라서 어느 누구에게 진짜 시원하게 물어볼 수가 없었다.
- 인적 리소스가 부족해 디바이스 토큰 관리 테이블이 아직 없었고, 유저 디바이스 토큰을 제한적인 페이로드의 정보로만 쿼리해서 FCM 서버로 알림 쏘는 과정이 헬게이트
- CloudWatch의 로그들과 발생된 이벤트가 어떤 파이프라인으로 이어지는지 알려주는 의존 정보를 어드민에서 SDK로 가져와 화면으로 그리기 위한 쌩쑈
- 끝없이 머리를 맴돌았던 의문들, "이렇게 해도 되나?", "이게 맞나?", ...
- Serverless-Offline으로 Mocking 할 수 없는 인프라가 사용되어서 1커밋 1배포 시전 디버깅 지옥.
- 수많은 CF 스택과 S3와 람다로 더럽혀진, 지울 수도 없는 나의 AWS
좋았던 점
- 난해했고 너무 추상적이어서 많이도 해메고 부딛혔지만 결정적으로 채용될 수 있었던 계기
- 두번의 미칠듯한 짜릿함을 느낌
- 이벤트 로그 정보가 이쁘게 Response에 담겨와 어드민에서 렌더링이 되기 시작했던 그 순간
- 댓글 작성 이벤트로 내 폰에 푸시 알림이 꽂혔을때, 회사 계정에 진짜 인프라가 돌고 있어서 리전 바꿔 도쿄(northeast-1)에서 날아왔던 그 알림
- 이후 AWS의 매력을 느껴서 지금도 잊을만하면 한번씩 공부하려 시도는 함...
- 프론트만 하고싶다는 생각을 뒤바꿔준 터닝포인트여서 언젠가 Front + DevOps가 되는 것이 목표가 되었습니다.
- 영미권에서 확장자 yaml(yml)을
예믈
이 아닌야모
라고 읽는것을 유튜브로 알게됨. (dotenv
가 도텐브이가 아니라는 충격에 이은 세컨드 웨이브)
현업 프로젝트를 되돌아보면
어려웠던 점
- 디자이너 출신 개발자라 그런지 모르겠지만, 디자인 시스템이나 UI 리뉴얼을 많이 하게 되었음.
- 추상화, 로직 고도화 등 비즈니스 로직을 제대로 공부하고 싶었는데 퍼블리싱 비중이 높아서 참 아쉬웠다.
- 폐쇄형 플랫폼 + 레거시 + 팀내 정책으로 SSR 등 다양한 기술 스택을 경험할 기회가 부족함
- 비교적 신규 라이브러리를 도입하고 싶고 테스트 코드도 짜고 싶은데 비교적 낮은 버전과 마이그레이션 추진 어려움
- 다른 스택도 쌓으려고 퇴근후, 주말에도 공부만 함 (also 장점)
- 한의사, 한의대생 인증을 하지 않으면 접근할 수 없는 폐쇄형 플랫폼이기 때문에 만든걸 공개할 수가 없어서 난감
- 성능 몇 % 개선 등 정량적이 고 객관적인 수치로 개선을 증명할만한 일을 하고싶었음 (라이트하우스 측정 성능을 개선하기 위해 webp사용, 청크 분리, 서브셋 폰트 제작 등의 시도가 있었는데 천재 데브옵스님과 인턴분들이 해결하셨습니다 👍)
좋았던 점
- 신입 주니어 개발자임에도 많은 일을 일임해주셔서 짧은 기간임에도 주도적인 개발 경험과 나름의 마일스톤 쌓을 수 있었음
- Vuex 도입기의 서문에 적어놓은 이유로 전역 상태 관리 라이브러리가 없었고 도입하자고
떼를써서제안해서 지금은 조금씩 마이그레이션 하면서 잘 사용하고 있음. - 기존에 짜여진 코드를 보며 많은 기능에 대해 공부할 기회가 되었음
- 다른 스택도 쌓으려고 퇴근후, 주말에도 공부만 함
- 좋은 동료가 생김
- 좋은 사내 분위기
어느 회사나 분명 좋은 점과 아쉬움이 공존하겠죠. 회고를 작성하며 지난 반년을 되짚어보니 그때의 감정과 즐거움이 상기됩니다.