2020년 1월 회고
나는 1월 한 달을 어떻게 지냈나? 에 대한 고찰이다.
공적
회사에서 일어났던 일들을 되새기며 기록하고자 한다.
1. 회사에서 진행 중이던 파일럿 프로젝트를 마무리했다.
팀 발표 후 코드를 개선했다. 인지하고 있던 범위 내에서 문제가 있었기 때문에 개선할 때 큰 어려움은 없었다.
- 에러 핸들링
- response에 대한 service 혹은 entity 만들기
- request body에 대한 VO 정의
여태까지는 항상 빠르게 만드는 것에만 집중했었다. 그런데 파일럿 프로젝트를 진행하면서 정교한 서비스에 대한 고민을 계속할 수 있었고, 나에게 부족한 부분을 찾을 수 있었다.
학부 시절에 연구실에서 스프링을 사용할 때 '도대체 이렇게 느리고 답답하고 어려운 프레임워크를 왜 사용하는 걸까?'라는 생각을 많이 했었다. 이제는 Spring Framework의 사용 목적과 그 효율성에 대해서 조금이나마 느낄 수 있었다.
2. Markdown으로 UML을 그릴 수 있게 되었다.
학부 시절에 프로젝트를 진행할 때 문서를 산출하면서 UML Diagram을 만드는 게 제일 어렵고 귀찮았다. 그런데 신입 사원 교육 때 Markdown에서 UML 그릴 수 있는 PlantUML 이라는 것에 대해 알게 되었고 파일럿 프로젝트에 대한 문서를 만들면서 PlantUML 을 이용했다.
원하는 위치에 오브젝트를 배치하는 게 조금(많이) 힘들었지만, 그래도 사용할 가치가 충분히 있는 도구라고 생각한다. 무엇보다 문서를 작성할 때 다른 창을 왔다 갔다 하지 않고, 마우스를 사용하지 않고, 오직 Markdown만 사용할 수 있는 것 자체가 매력적인 부분이다.
3. 최종 발표
최종 발표는 대표님 앞에서 했는데, 확실히 대표님은 생각하는 깊이가 일반적인 수준 이상임을 느낄 수 있었다. Webpack의 Code Split을 이용하여 로딩을 단축하는 기법을 사용하였는데, 그게 항상 옳은 것인가에 대한 질문이었다. 코드를 분할하면 초기 로딩은 빠를 수 있지만, 반대로 로딩 후에 추가 로딩 시간이 필요하다. 만약에 코드 스플릿을 하지 않았을 때 얻는 이점이 많다면, 굳이 사용할 필요가 없지 않나? 라는 그런 질문.
일단 나는 작업할 때 '이건 무조건 하는 게 좋겠구나'에서 생각을 멈췄다. 이렇게 고민을 멈추는 것은 엔터프라이즈급의 서비스를 만들 때 옳지 않다. 항상 질 좋은, 최적화된 서비스를 제공하기 위해서 고민을 멈춰선 안 된다.
이러한 생각을 대표님의 질문들을 통해 알 수 있었다. 나는 생각이 조금 더 깊어질 필요가 있다.
4. 인수인계
파일럿 프로젝트 마무리 후 사수에게 업무와 프로젝트를 조금씩 인수인계 받았다. 회사에서 산출된 프로젝트의 코드들은 생각 이상으로 복잡하면서 효율적이고 아름다웠다(?).
무엇보다 내가 인계받은 프로젝트는 문서 정리도 잘 되어 있어서 이해하는 데 많은 시간이 소요되진 않았다. 좋은 사수와 팀장님, 그리고 팀원을 만난 것 같아서 참 다행이고 감사하다.
5. 회사 기술 블로그에 파일럿 프로젝트 올리기
어찌어찌 발표도 잘 마무리 했고, 발표한 내용을 조금 더 다듬어서 기술 블로그에 글을 올렸다.
입사 후 나의 첫 결과물이었고, 그래서 많은 애정을 담아 작성했다. 뿌듯하기도 하고, 더 잘 그리고 열심히 하지 못한 것이 아쉽다. 이 경험을 추진력으로 그리고 발판으로 삼아 한 걸음씩 나아가야지.
사적
2019년은 나에게 굉장히 권태로운 해였다. 그래서 2020년은 최대한 열심히 살아보기로 다짐했다.
1. 일일 커밋
열심히 살기 위한 첫 번째 목표가 일일커밋이다. 1월은 성공적으로 마무리되었다. 사실 매우 귀찮은 순간이 없지 않아 있었다. 삶에 관성으로 인하여 공부하고 싶은 날들보단 놀고 싶은 날들이 많았다. 그래서 약간의 편법(학부 수업 자료를 매일 매일 나눠서 올린다거나..)을 많이 사용한 것 같다. 어쨌든 하지 않는 것보단, 어떻게든 하는 것에 의미를 두기로 했다.
공부에 대한 관성이 생길 수 있게, 그리고 유지할 수 있게 자극이 되는 영상을 보거나, 회고 같은 것들을 읽었다.
- 지방대 개발 비전공자가 배달의민족 리드 개발자가 되기까지
- 체대 출신 개발자의 2019년 회고
- 나의 소중하고 또 존경하는 친구의 기록들 - ChoDragon9/Posts
- 김민준(Velopert)님의 2019년 회고
참 치열하게, 그리고 열심히 살아가는 사람들의 글을 읽다 보면 괜히 마음이 뭉클하고 존경심, 경외심, 그리고 그들처럼 살아가고 싶다고 생각하곤 한다.
2. Today I Learn
일일 커밋의 좋은 양분 중 하나가 Today I Learn
이었다. 공부한 것들을 기록하는 단순한 행위지만 그 효과는 상당히 좋다고 생각한다. 다만, 개인적으로 관리하고 있던 블로그 때문에 약간의 갈등이 있었다. 블로그는 생각보다 View가 많은 편이다. 검색 우선순위가 높은 게시물이 몇 개 있다 보니까 하루 평균 500~600명 정도의 Page View가 발생하고 있었다. 그래서 블로그를 계속 유지하는 게 좋을까, 유지하지 않는 게 좋을까 고민을 많이 했다.
워드프레스에 공들여 작성한 일부 게시물을 TIL로 옮길까도 생각했고, TIL에 올린 걸 워드프레스에서 자동으로 읽어오도록 할까도 고민해 봤는데 단순하게 TIL을 더 잘 가꾸는 방향을 선택했다.
그리고 TIL은 Vuepress를 이용하여 만들었는데, 생각 이상으로 손이 많이 가는 것 같다. 하지만 디자인도 깔끔하고 한 번만 잘 구축하면 관리도 쉽기 때문에 잘한 선택이지 싶다.
3. 코드 스피츠 86기, 그리고 객체지향
미루고 미루었던 코드 스피츠를 유튜브로 보면서 정리했다.
Vue, React 같은 Front-end Framework에서 사용 하는 MVVM System을 직접 만들어 보는 내용이었다. 내용은 생각 이상으로 알차고 재미있었다. 무엇보다 여태까지 멋모르고 사용했던 프레임워크의 기본 원리를 알 수 있었기 때문에 Vue, React 뿐만 아니라 Spring Framework에 담긴 원리들도 깨우칠 수 있었다.
여태까지 내가 했던 개발은 개발이 아니라고 느끼는 계기가 되었다. 무언가 많이 한 것 같은데, 사실 알맹이가 없었다. 왜 이걸 이제야 알았을까?
코드스피츠 뿐만 아니라 인프런의 백기선 님이 올리신 강의들도 도움이 많이 되었다.
4. 아쉬운 점
체력적인 한계를 느끼고 있다. 집에 오면 왜 이리 피곤한 걸까? 다음 달부터는 수영하러 다녀야겠다. 몸도 찌뿌둥하고, 개발자에게 수영이 참 적합한 운동이라고 하니 꼭 다녀야지.
그리고 책을 읽지 못했다. 2월에는 책을 꼭 읽어보자.
Summary
- 파일럿 프로젝트 마무리
- 일일커밋 시작
- Today I Learn 시작
- 객체지향 이해
- 체력적 한계 및 독서 실패