본문 바로가기

Life/회고

2022 회고

...

2년이 지나서 남기는 회고

이게 맞나 싶지만 히스토리 남기고 싶어서 작성한다. 

 

1. 2022 목표로 작성했던 것들

분야 계획한 일 V 실제 한 일
실무 경력 쌓기 기술+AWS R&D 후 기록 O JPA, Spring Security, AWS R&D
실제 서비스 운영 경험하기 O
사내 웹 서비스 백엔드 구현, 배포, 운영/크롤링 플젝 인수
스스로 생각하고 제안하는 경험하기 X 맡은 작업 해내는 데에 집중 
자기 계발 프로그래밍 도서 읽기 O 쿠버네티스 인 액션, 인프런 JPA
프로그래머스 스터디 완강하기&깃헙 관리하기 X 마음의 짐 ➡️ 내년 목표
컨트리뷰톤 7월 참가 또는 오픈소스 기여하기 X 사전 과제 늦게 확인 
운동

헬스장 매일 나가고 운동일지 쓰기 O 1월부터 9월까지 PT
런데이 어플 30분 코스 달성하기 O 30분 코스 달성
  O 10월 부터 수영 강습 받기
기타 봉사활동/기부 X 안 함

 매년 회고를 하면서 목표들을 작성해도 한 달 뒤면 현생에 잊고 산다. 그러나 여전히 계획은 의미가 있다. 1년 후의 내 모습을 그리는 시간이 목표를 향해 나아가고 점검하는데 무의식적으로 내재되어 도움을 주기 때문이다. 하루하루를 열심히 채우다 보니 자연스럽게 목표들이 달성된 것 같다.2022년은 정규직 개발자로서 첫 발자국을 내딛는 시간이었다. 또한 수습기간의 긴장을 조금씩 풀어내면서 운동 루틴도 만들고 회사와 팀원들에 적응하는 기간이었다.

 

2. 상세 회고 및 추억

1) 실제 팀 서비스 개발하기

개발&배포

 상반기 첫 프로젝트로 사내 마케팅 팀 서포트 도구인 보라 3.0 작업에 참여하게 됐다. 수습 프로젝트는 혼자 진행해서 외로웠는데, 이번에 팀원분들과 함께 작업하게 되서 기대감을 갖고 임했다. 선임 개발자 분께서 만들어주신 기본 컨트롤러 틀에 내가 구체화하는 작업으로 시작했다. 처음 개발을 하기 막막할 때 CRUD 같은 작은 틀을 한 바퀴 만들어 놓고 계속 덧대는 방식, 좋은 방법 같다. 기획서를 보며 고심해서 필요한 테이블을 추가하고 기 깔 라게 해보겠다고.. 디자인 패턴도 적용해 보고, 수습 프로젝트에서는 요구사항이 아니었던 도커와 ECS를 처음으로 사용해서 배포를 진행하여 배우는 것이 많았다. 'ㅇㅇ기능 배포하였습니다.' 노티 하는 거 짜릿해, 최고야. 😆 그리고 기획을 이해하는 것도 중요했던 게 계정 관리 파트를 맡았었는데, 슈퍼 어드민에 대해 백오피스 사이트를 따로 개발할지 가이드가 없었고, 당시 나도 백오피스에 대한 개념이 없는 상태로 개발했다. 한 번 체킹을 했다면 스키마나 API 로직이 좀 더 간단하게 구성할 수 있었지 않았을까 싶다. 내가 이해한 기획과 기획자의 의도가 다를 수 있으니 계속해서 합을 맞춰야 하는 것 같다.

협업

 개발 뿐만 아니라 소통의 중요성 또한 배웠다. 우리 개발실은 백엔드에서 API 설계와 구현을 마치고 프런트에게 문서를 공유하는 순으로 작업하는데, 그렇다 보니 추후에 서로 논의가 필요한 건 당연했다. 예를 들어 어떤 HTTP 메서드를 사용할 것 인지 의견 차이가 있었는데, 내가 봤을 땐 큰 차이가 없는데 대립하니 곤란했다. 그래도 이런 상황에서는 내가 잘 모르는 프런트 입장이 있을 테니 열린 마음으로 소통해야겠다고 느꼈다. 그러기 위해서는 팀원들과 두루두루 친하게 지내는 것이 결국 편하고 빠른 소통의 지름길로 안내해 주는 것 같다. 메일, 메신저로 얘기하기보다 바로 자리를 찾아가 가볍게 얘기하는 것이 감정 상할 가능성이 적고 이해도 빠르니까 말이다. 그래도 내가 할 수 있는 범위에서 API 명세서를 작성할 때 보충 설명과 예시를 추가하여 최대한 명확히 이해할 수 있도록 노력했다.

리팩토링

 QA가 마무리된 후 하반기엔 코드 리팩토링과 추가 기능을 개발했다. 선임 개발자의 리뷰를 기반으로 코드를 개선하는 과정에서, 내딴에는 최선의 코드였는데 허점이 많음을 알게 되었다. 해결책을 알려주기 보다 이슈만 주셔서 정답을 찾기까지의 여정은 힘들었다. 끙끙거리다가 힌트를 구걸해 가며 개선해 나갔다. 특히 if 문 뎁스를 줄이는 작업이 기억에 남는다. 조건이 필요한데 조건문을 어떻게 안쓰지, 왜 나에게 이런 시련이 오는가 힘들어했는데, map을 활용하여 if문을 최소화하는 방법을 배워 놀랐다. 머쓱타드ㅎㅎ 부족한 부분을 깨달음으로 삼아 클린 코드에 대한 공부를 진행하기로 마음 먹었다.

 

크롤링 인수

 선배가 하던 크롤링 프로젝트를 인수받았다. MI 인사이트 서비스에 필요한 앱/게임 랭킹 및 다양한 데이터를 크롤링하는 프로젝트였다. 상반기 Java로만 작업하다가 Python을 오랜만에 보니 어색했지만 언어는 도구일 뿐이니 개의치 않았다. 매일 돌아가는 크롤링 태스크 스케줄에 오류가 났을 때 다시 배포할 수 있게 서비스 로직과 수동 실행 방법을 습득하고 노션에 꼼꼼히 정리했다.

 파악이 끝난 후엔 브랜드 로고 크롤링도 작업을 진행했는데 연말에 빨리 작업해줘서 감사하단 소리가 아직도 뿌듯하다. 이 과정에서 실제로 크롤러 코드로 구현하면서 request, selenium 라이브러리를 각각 어떤 경우에 사용하는 것이 좋은지, 크롤러 차단에 어떻게 대응할지 등 크롤링의 특성을 이해하는 데 큰 도움이 되었다. 또 실무에서의 크롤러는 구조가 체계적이구나 느끼고 AWS 람다, 스케줄, S3 인프라도 경험하는 계기였다.

 또, 선배가 일하는 방식을 보며 인사이트를 얻을 수 있었다. 스케줄 성공 여부를 발송하는 슬랙 챗봇을 구성하신 걸 보고 개발자는 이렇게 자동화시켜서 능률을 높이는 군 멋있다 느꼈고 친절한 인계 자료를 참고하여, 나도 미래에는 이런 식으로 인계를 진행해야겠다는 생각을 하게 되었다. 아래는 직접 적재한 MI 인사이트의 마켓별 앱 랭킹 데이터와 마케팅 클라우드의 브랜드 로고 데이터다. 아쉽게도 보라 3.0 은 사내 툴이라 사진을 올릴 수가 없다. 사내 툴보다 이렇게 공개할 수 있는 서비스 개발이 더 재밌긴 한 것 같다.

 

2) 스터디

JPA 인강

구글링으로 JPA 메서드를 복붙해서 써도 기능은 돌아간다. 그러나 코드 리뷰를 받으면서 적절하게 사용하지 않으면 오히려 성능이 저하될 수 도 있단 걸 알게 되었고, 그걸 방지하기 위해서는 프록시에 대한 개념과 내부 동작이 어떻게 이루어지는지 공부가 필요할 거 같아서 수강했다. 괜히 김영한 강사님이 유명한 게 아니었다. 영속성 관리, 엔티티 매핑, 연관관계 개념을 블로그 텍스트로 이해할 때는 무슨 말인지 몰랐는데, 이젠 좀 알게 되었다. 스프링 개발자에 JPA를 쓰고 있다면 강추합니다. 👍

쿠버네티스 스터디 

사내 스터디를 시범 운영한다고 해서 바로 참여했다. 백엔드에 가까운 주제는 쿠버네티스 밖에 없어서 인프라 스트럭쳐 쪽이지만 신청했다. 도커에 대한 기본 지식, 필수 명령어만 아는 상태라 러닝커브가 높았다. 회사 타 팀 백엔드 개발자 분들과 매주 1번씩 퇴근하고 쿠버네티스 인 액션 책 개념 파트를 1 회독 한 뒤에 AWS 워크숍을 따라 하며 실습했다. 실제로 팀에 도입하기엔 무리가 있지만 yaml 파일을 이해하고 쿠버네티스 구성요소에 대해 찍먹 하는 경험을 하였다. 이렇게라도 조금씩 공부해 나가는 것이 분명 나중에 도움이 될 것이라 생각한다. 그리고 역시 난 팀으로 하는 스터디가 더 의지가 높아지는 것 같다. 

스프링 시큐리티 인강

사내 스터디 2기는 자유 주제 스터디로 운영된다고 해서 또 참여했다. 보라 3.0 개발할 때 로그인 토큰 관련 개념이 어려워서 주제를 스프링 시큐리티로 잡았다. 인프런 각자 다른 주제를 공부하고 매주 모여 원페이지로 진행 사항을 공유하는 방식이었다. 서로 분야가 달라서 뭔 내용인지 이해하긴 어려웠으나 원 페이지로 정리해서 말하는 것은 주말에 강의를 열심히 듣게 해 주었고, 공부한 것을 요약하는 계기였다. 2기에는 같은 팀 선배도 스터디에 참여하셔서 더 열심히 임했던 거 같다. 

Spring boot Bean Validation R&D 

 API를 개발할 때 빼놓을 수 없는 것이 입력 파라미터에 대한 유효성 검증이다. 메서드 단위로 일일이 코드를 작성했었는데, Bean Validation R&D를 한번 해보라고 조언해 주셔서 리서치하게 되었다. 어노테이션 형태로 RequestBody 객체를 쉽게 검증할 수 있다는 점이 굉장히 편리하고 가독성을 높여주었다. 입력 파라미터의 특성(숫자, 시간, 문자열 등)에 맞는 어노테이션과 커스텀 방법, 에러핸들링 방법 등을 정리하여 공유했다. 또한 기본 어노테이션 내부를 확인하면서 구성을 파악하려고 노력했던 거 같다. 이런 공유를 자주 해서 팀에 도움이 되어야지 생각했었던 것 같다.

 

3) 운동을 시작하다

헬스

 다이어트와 체력증진을 위해 헬스장을 등록했다. 러닝 머신만 하다가 PT 도 시작해서 1월부터 9월 초 까지 꾸준히 했다. 워낙 운동에 관심도 없었고, 운동 신경도 없어서 뭐부터 해야 할지 몰랐는데 매주 2번 피티와 개인 운동은 근육량 미달에서 표준으로 만들어주었다. 근데 식단을 안 하니까 점점 다이어트와는 멀어졌다.ㅎ 그러다 허리도 살짝 삐끗하고, 회사에서도 한창 코드리뷰 시즌이라 퇴근하고 나서 운동으로까지 힘든 게 현타 와서 자연스럽게 다른 운동을 찾았다.

러닝

 헬스장을 다니면서 유산소를 매일 했는데, 런데이 어플을 추천받았다. 인터벌로 처음엔 1분 뛰고 5분 걷고를 반복하고, 8주 후에 프로그램을 마치면 30분 연속으로 뛸 수 있게 트레이닝을 시켜준다. 병행했더니 트레이너분께서 운동과 운동 사이 지치는 빈도가 줄었다고 말씀해 주셨다. 초보 러너라면 추천한다. 안내 음성에서 달리기 자세, 러닝화, 부상 대비 등 쏠쏠한 정보들을 많이 알려준다. 이렇게 24개의 러닝 레슨을 끝내고 서울 신문에서 주최하는 마라톤 5km 에도 참가하게 되었다. 헬스장 실내에서만 달리다가 야외에서 처음 달리려니 경사도 있고 어려웠지만 런데이의 결과물을 남기는 것 같아서 좋았다. 

수영 

 관절에 무리 없는 운동을 찾다가 하게 됐다. 문화센터 수영 경쟁률 장난 없다. 10월부터 시작했는데 음파음파, 발차기부터 시작했다. 초보라 운동보다는 기술을 익히는 데에 집중해서 체력 소모는 크지 않았던 거 같다. 물에 들어간다는 것 자체가 즐거워서 재밌게 다녔다.  

 

4) 동호회

 모여봐요 퇴근 후 숲(닌텐도 동호회), 월간명화(영화 동호회), 요가 동호회, MI 아이들(여직원 친목), 동호회는 아니지만 팀에서 유행했던 루미큐브까지 갤러리를 둘러보니 재밌게 회사 생활했던 거 같다. 집순이에 게임도 별로 안 좋아하는데, 팀원들이랑 더 가까워지고 싶어서 여기 저기 일부러 많이 참여했었다. 평소 안하던 게임도 하고, 재밌는 추억을 많이 쌓은 것 같다. 막상 나가면 신나는 동호회 만세~!

 

3. 소감

 상반기엔 프로젝트 개발을, 하반기엔 알앤디와 유지보수를 했다. 기획이 엎어져 하반기에 신규 개발을 많이 못한 게 아쉬움이 컸는데 그만큼 알앤디 시간으로 채울 수 있었다. 잘하고 있는 걸까 불안했는데, 이렇게 옛 기록을 되짚어 보면 나름 열심히 주어진 걸 한 것이 느껴진다. 그러니 회고를 미루지 말자. 😂 

'Life > 회고' 카테고리의 다른 글

2023 회고  (5) 2023.12.31
2021 회고  (2) 2022.01.05
2021 목표  (0) 2021.04.15
2020 회고  (0) 2020.04.11
첫 포스팅 & 2019 회고  (4) 2019.03.28