마로의 개발일지
2021년 회고 본문
당시엔 시간도 없고 정신도 없어서 못썼지만 지금에서라도 21년 회고를 작성하고자 한다. 3월에 쓰는 회고는 뭔가 많이 어색하지만 까먹기 전에 미리 써놓는 게 좋을 것 같아 지금이라도 쓰기로 했다.
첫 직장
첫 회사에 입사를 했다. 개인적으로는 많이 부족하다고 생각했는데 운이 좋았던 것 같다. 코딩 테스트날 컨디션도 좋았고 운도 좋아서 문제를 모두 맞혔다. 면접 때도 좋은 동기와 함께 면접을 봐서 편하게 볼 수 있었다. 언제나 하고 있던 생각이 '붙여만 주면 진짜 일 잘할 수 있는데...'였고 붙여줬기에 정말 열심히 일했다. 열심히 말고 잘하기 위해 늦게까지 남아 야근하며 부족한 공부를 했고 당시엔 야근의 아이콘이 되어 있었다. 저녁 먹고 돌아와서 공부한 뒤 퇴근하면 평균 퇴근시간이 9시쯤이었던 것 같다. 누가 시켜서 하는 게 아니라 내가 하고 싶어서 한 일과 공부였고 너무 재미있었다. 팀원들도 모두 좋은 사람이었기 때문에 매일매일 행복한 회사생활을 보냈고 믿기 힘들겠지만 출근이 기다려졌다.
새로운 팀으로
사실 첫 프로젝트 이후 다른 팀으로 옮겨졌다. 알 수 없는 복잡한 사정들로 인해 서비스 백엔드 개발 팀원분들이 한분만 남기고 모두 떠나게 되었고 그 빈자리를 채우게 되었다. 팀을 옮기고 든 생각은 '오히려 좋아'였다. 그렇게 생각한 이유는 세 가지 정도 있다.
풀스택이 아닌 백엔드 개발팀이다
- 풀스택도 좋지만 하나의 전문성을 가질 수 있게 된 것 같아서 좋았다. 애초에 하고 싶었던게 백엔드 개발이라 더 좋았던 것 같다.
시니어 분들이 존재한다
- 현재 팀에는 팀장님 포함 세 분의 시니어가 존재한다. 이전 팀에는 풀스택이고 Node.js와 React를 사용하다 보니 시니어라고 부를 수 있는 경력을 가진 사람이 없어서 아쉬웠다.
Java & Spring을 사용한다
- Node.js도 백엔드 개발 언어로서 좋은 언어라고 생각하지만 백엔드 개발의 기초를 다지기엔 Java & Spring이 제일이라고 생각했다. 오래될수록 참고 문서도 많고 언어나 프레임워크도 잘 만들어져 있을 것이라 생각했기 때문이다.
경험치 이벤트 시작
그렇게 시니어 세 분과 주니어 둘로 이루어진 팀으로 구성된 새로운 서비스 개발팀이 만들어졌다. 최소 시니어 5분이 계셨던 팀의 업무를 방금 만들어진 팀에서 당연히 모두 감당할 수 있을 리가 없었다. 결제나 정산에 관련된 업무들은 시니어 분들이 도맡아 했고 운영건이나 간단한 업무들은 주니어들이 열심히 쳐내면서 22년 1월까지는 정말 정신없이 지나갔던 것 같다. 이러한 이유로 야근을 더 자주한 것도 있지만 주어진 업무들이 나에겐 도전과제였고, 하나하나 클리어해 나갈 때마다 큰 성취감을 얻으며 덕분에 빠르게 성장할 수 있었다. 지금 생각해도 이때가 정말 바빴지만 그만큼 많은 성장을 이뤘던 때인 것 같다.
내가 한 일들
처음엔 스프링과 친해져야 했고, 경험치를 올리기 위해 실수를 해도 리스크가 크지 않은 백오피스 위주의 업무를 진행했다. 1대1 문의 게시판 쿼리 수정, 간단한 기능 추가 등
- 당시 내가 아는 쿼리는 SELECT, UPDATE, DELETE가 전부였고 JOIN과 SUB_QUERY 개념은 존재하지 않았기에 SQL 기본과 스프링 기초를 공부하는데 주력했다(김영한 님의 Spring 입문, Spring 핵심 원리 등). 기능 구현을 하는 것만으로도 벅찼고 나름 최선을 다했지만 코드 퀄리티는 처참했다.
이후 처음 작업한 서비스되는 부분은 배너였다. 상품과 채팅에 들어가는 배너를 만드는 작업이었는데 나름 결과물을 친구들에게 보여줄 수 있어서 뿌듯했었다. 배너들을 만들면서 백오피스에 기존의 배너들과 신규 배너들을 관리하는 통합 관리 페이지도 만들었고, 추후 고도화를 진행해서 조회 통계도 볼 수 있게 했다.
- 처음으로 redis cache 기능을 이용해봤고 캐싱의 개념을 대략적으로 알 수 있었다. 당시에는 @Cacheable과 @CacheEvict의 기능만을 파악하고 작업했다..
- 로깅 남기는 부분을 NoSQL에 저장했으면 좀 더 좋았을 것 같다. RDB에 쌓으니 저장공간에 대한 압박이 상당했다. 분할(파티셔닝)을 통해 월별로 저장하긴 했지만 단순 로깅용이기 때문에 RDB에 쌓을 필요가 없었다. 그래도 덕분에 파티셔닝에 대한 개념을 알 수 있어서 좋았다.
신입분이 온 이후 같이 작업한 연관상품 부분은 이미 내가 작업할 부분 파악과 스펙은 모두 짜둔 상태여서(물론 많은 도움을 받았지만) 중고차와 상품 각각을 맡아서 구현했다.
- 서버 간 통신을 경험해 볼 수 있었고 검색 데이터 팀과 협업을 해 볼 수 있었다. API 호출을 통한 데이터를 Object로 받으면 응답 스펙이 바뀌어도 유연하게 전달해 줄 수 있어서 좋을 것 같다고 생각했는데 그렇게 하면 유효성 검사하기 힘들뿐더러 응답값을 처리하기 힘들어진다는 것을 배웠다.
- 차라리 페어 프로그래밍으로 진행했으면 어땠을까 하는 아쉬움이 남는다. 그랬다면 서로 많은 것을 배우지 않았을까?
소감
바빳지만 뿌듯하게 보낸 한 해였던 것 같다. 정신없이 일을 하며 보낸 경험이 그땐 힘들었지만 지금 다시 생각해 보니 정말 많은 도움이 된 것 같다. 올해도 뿌듯할 수 있게 열심히 사는 걸로
'기록' 카테고리의 다른 글
앱 메인 개편 회고 - 마무리(관심 카테고리) (0) | 2023.04.02 |
---|---|
앱 메인 개편 회고 - 2(퀵메뉴) (0) | 2023.03.26 |
앱 메인 개편 회고 - 1 (0) | 2023.03.25 |
Vertical-api 개발 회고 (0) | 2023.03.19 |
정리하고 기록하기 (0) | 2023.03.19 |