Skip to content

juneyr.dev

2021 회고

Postmortem8 min read

2021회고썸네일

회고를 시작하면 작년의 회고를 본다. 개인적인 기록은 역시 작성자에게 제일 재미있는 법이어서, 재작년으로 넘어간다・・・ (끝나지 않음) 그러다 도달하게 되는 글이 2017 년의 회고 다.

처음의 회고를 보면 여러 생각이 든다. 패기있네, 그때 꽤 힘들었구나 ・・・ 기특하다, 별 생각이 드는 데 이번 해는 이 생각이다. '회고가 벌써 다섯개째 쌓이는 걸 보니, 내가 몇년차지..?' 서버 개발자가 된지 만 3년이고, 4년차 개발자다. 이번 해를 여는 상담에서도 이제 팀의 허리 역할을 해야한다, 라는 이야기를 들었었다. xx 년차면 이 정도? 라는 이야기도 꽤 많이 도는 것 같다. 그러다보니 4년 차라는 숫자가 갑작스럽게 무겁게 느껴진다. 비단 나만이 '내 연차에 비해서 나는 잘하고 있는건가?' 에 대한 불안감을 느끼는 건 아니리라 생각한다. 이 불안감은 익숙해지기 어려운 감정으로, 언제나 다루기가 괴롭고 힘들다. 다만 이 불안감을 당장 떨칠 수 없다면 앞으로 계속 내딛는 수밖에 🥺

나아갈 때는 힘이 필요하다. 마음의 힘도, 피지컬한 힘도. 집중해서 내딛는 힘!

그런 의미에서 이번 해를 관통하는 키워드는 집중력 이었다. 그를 위해서 여러가지 시도를 꽤 해봤다.

  • 몸이 건강해야 마음이 건강하다 - 운동
  • 디지털 미니멀리즘
  • SNS 탈출기
  • 시간관리툴과 메모
  • 명상과 QT
  • 미라클 모닝

이 부분에 대해서는 스터디에서 집중적으로 다뤄서 회고를 했으니, 블로그에서는 이 부분을 조금 녹여 시간 순 회고를 하려고 한다. 이번해도 열심히 살았다!

이번해에는 things3, notion 일기, twitter, github, 회사 repository, google calendar 를 참고했다.

1분기 (1-3월)

일과 공부 👩‍💻

어째 매년 새로운 프로젝트에 투입되는 느낌이지만, LINE TALK FORTUNE 서비스에 들어가게 되었다. 역사가 깊은 만큼 다양한 팀을 거쳐왔던 프로젝트로, 감사한 것은 바로 전 팀이 자바로 포팅을 완료했다는 점이었다. 20년에 포팅이 되었는데, 21년에 바로 이어받게 되었으니 포팅한 전 팀의 코드 이해도도 높았다. 꼼꼼한 인수인계 문서와 설명으로 성공적으로 프로젝트에 랜딩했다 ・・・ 는 꿈. 꼼꼼한 인수인계와 설명이 있었던 것은 맞지만, 말도 안되게 생각보다 큰 스펙과 여러 기능들에 당황했다. 마침 커다란 릴리즈가 있어서, 그쪽 부분을 개발하는 방식으로 천천히 스펙을 파악하는 시간을 가질 수 있었다.

  • redis test가 가능하도록 로컬 테스트 환경을 작업했다. (h2 / redis)
  • 유저, 전문가, LINE의 OA 도메인에 대해서 인수인계 받았고, 프로젝트 파악한 내용을 문서화했다.
  • 스크럼을 시작했다.

실질적으로 프로젝트를 이끄는 테크리더님이 세워지면서, 스크럼이 도입됐다. 대-재택근무 시대에 새로운 프로젝트를 인수인계받으며 이슈가 매일 생기니, 잘한 선택이라고 생각한다. 더욱이 이슈를 공식적으로 공유할 수 있는 시간이 생겨서 주니어인 나에겐 좋았다. 다만

  • 사람이 여럿일때는 긴 이슈를 공유하기 어렵다.
  • 모든 이슈 팔로업을 매일 하기때문에, 스크럼 시간이 길어진다.

위와 같은 문제가 있었다. 알아보니 팀원분들도 공감하는 부분이여서, 리더님께 말씀드려서 조정했고 훨씬 나은 스크럼을 하게 되었다! 스크럼 구조로 얻은게 있다면, 내가 하는 일을 명확하게 가이드할 수 있는 동료에게 이슈가 알려지고 공유된다는 점이다. 이전에는 팀이 자율성을 꽤 추구해서, 누가 무슨 일을 하는지 물어보기까지는 모르는 일이 있었는데! 불안감이 많이 덜어졌었다.

토비의 스프링으로 스터디를 시작했다. 아니 분명 신입때 펼쳐봤을 때는 이해 하나도 못했는데 지금보니까 아 이게 그래서 그런거구나했다. 스프링 어플리케이션에 대한 이해도가 1.5배 됨 정말 사기임!!!!! 하지만 아무것도 모를때 시작하면 정말 어려웠을 것 같다. 스터디 방식은 하나의 노션에 모두가 편집해서, 한주에 4소챕터, 2명이 2개씩 나눠서 발표했다.


관련글

MeanWhile... 🌲

  • 전셋집으로 이사했다...! 일년동안 살았는데, 자잘한 사고가 있었지만 지금까지는 너무 만족스럽다.
  • 인수인계 해주셨던 분의 크롬 탭에 내 블로그가 켜진걸 발견했다. 🥺 너무 기뻐!
  • m1 맥 미니를 구매했다. m1 환경을 경험해보고도 싶었고, 맥 미니도 경험해보고 싶었다. 지금은 사용빈도가 너무 적어져서 처분할까 생각 중
  • 지난해부터 이어오던 미라클 모닝을 꾸준히 유지했다. 그러면서 가벼운 학습지 일본어 26주를 시작했다!
  • 영어 읽기 모임을 리딩 하면서 디스코드 봇을 만드는 경험을 했다. 매일 일정시간에 메시지를 보내고, 리액션으로 참석여부를 체크하면 표시되는 형태의 봇! 아쉽게도 읽기 모임을 터트리면서 봇 개발에 관한 것도 다 잊어버렸다.

2분기 (4-6월)

일과 공부 👩‍💻

입사 후 쭉 귀감이 되어 너무 잘 따랐던 사수님이 팀을 옮기셨다. 적절한 난도로 빠른 성장을 할 수 있게 항상 도와주시던 분이었기에 충격이 컸다. 먼저 귀뜸해주신 날부터 매우 혼란스러웠다 🥲 그러나 그것도 잠시, 연초부터 예정되었던 대형 릴리즈가 6월에 있었기 때문에 매우 바빴다.

  • 릴리즈 피처에서 유저 / 점쟁이 관련 API / ADMIN 을 개발했다.
  • 릴리즈에서 필요한 마이그레이션을 맡아 진행했다. apache zeppelin / python
  • nginx 로 메인터넌스 기능을 추가로 개발했다. 기존에는 항상 롤링 업데이트 방식의 배포만 해보았었는데, 이렇게 메인터넌스를 걸고 하는 경우는 처음이여서 즐겁기도 하고 꼼꼼한 검수가 필요했다. 특히 유저 - 점쟁이의 양방향 서비스이기때문에 양쪽을 모두 막았어야하는데, 막는 방식을 변경하면서 nginx + ansible 공부를 많이 해볼 수 있어 좋았다.

릴리즈 날에는 최초로 8시간 full 로 음성 진행하면서 온라인 배포를 했다. 오프라인에서도 해본 적 없는 메인터넌스 배포를...! 특히 메인터넌스 on/off 와 중간 마이그레이션 작업이 나한테 할당되어있었기때문에 긴장을 많이 했다. 컴포넌트가 많은 서비스를 다루는 건 대단한 경험이었다... 배포 타임테이블에 따라서 움직였는데, 이 타임테이블을 짜신 테크리더님이 존경스러웠다. 끝나고 긴장이 풀려서 엄청 잤던 기억이 난다.

토비의 스프링 스터디를 5월로 마무리했다. 정말 알차고 좋았어!!!

블로깅을 많이 하지 못했다. 오히려 파이프라이닝 블로그를 알차게 썼던 것 같다. 경제에 관심이 많아져서 이것저것 기웃거려보았음.


관련글

MeanWhile... 🌲

  • 5월에 면허를 땄다. 작년에 면허를 독학해보겠다고하면서 너무 괴로웠는데, 결국 운전전문학원의 도움을 받아 올 1트에 끝냈다. 너무 기뻐! 😎
  • 미라클 모닝을 계속 잘했다. 루티너리를 사용하다가, 너무 빡빡한 일정인것같아 스트레칭 - 명상(calm) - 독서 - 일본어 공부의 루틴만 정해놓고 시작했다.

  • 진로설계검사를 받았다! 친구가 해당 전문가 코스를 밟고 있어 받을 수 있었는데, 나는 '추리형'-'분석형'-'교육형' 간단히 말하자면 세상 모든 것에 힌트를 얻으려고 끊임없이 추리하고 - 분석적이고 원인결과 찾으려고하고 - 지식으로 남을 돕는 것과 가르치는 것을 좋아하는 인간이다. ㅋㅋㅋㅋㅋㅋㅋ나의 스트레스와 불안도 이런 성격때문일 거라고... 😄

  • 파도를 보러 강원도에 다녀왔다. 생일에 맞춰서 짧게 다녀왔는데, 함께 간 친구들도 너무 좋았고 고마웠다. 파도

  • 전셋집에 화장실 뜯어고치는 사람 나야 나... 나보다도 나이가 많은 우리 전셋집 화장실을 도저히 견딜 수 없어서 화장실 풀개조했다. 인테리어를 맡겨보는 경험도 정말 난생 처음. 만족도가 너무 높다. 아직도 화장실에서 자라면 잘수도 있을것같음.

3분기 (7-9월)

일과 공부 👩‍💻

항상 가보고 싶었던 팀이 계속 구인이 안열려서, 리더분께 먼저 메일을 보내봤다. 이 부분이 호로록 진행되더니... 그럼 바로 면접 한번 보실래요? 해서 면접의 기회가 주어졌다. (!!!) 입사할 때도 당황스럽게 호로록 진행되더니... 팀 옮기기까지... 경력직의 면접은 어떻게 되는지 전혀 경험이 전무해서, 짧은 시간동안 최대한 찾아보고 열심히 CS 지식을 다시 채우고 복기하는 시간을 가졌다. 정작 면접 자체는 >> 나의 개발 라이프 << 와 내가 문제를 해결한 경험을 중점적으로 얘기하면서 흘러갔다. 그렇지만 면접을 끝내고 나서 '아... 망했다...' 라는 생각만 들었다. 왜냐하면..

'공부를 많이 했다고 말씀하시는데... 그 공부를 실제 프로젝트에 적용하고 그를 통해 배운 경험은 없나요?'

이런 말을 무심하게 툭 던지셨고, 나는 단숨에 무너졌다. 스스로 '이 정도면 공부를 계속하려고 노력하고 있다! ^^' 하고 안주한 것은 아니었을까? 막내라는 이유로 팀원으로서의 리더십을 발휘하지 못하고 있었던 것은 아닐까? 자책이 마음을 찔렀다.

이 면접을 잘해내지는 못했지만, 덕분에 공부의 방향성을 바꾸게 되었다. 무조건 내가 지금 쓰고 있는 것부터 잘 알고, 트렌드에 휘둘리지 말아야지. 이 생각은 연말인 지금까지도 유효하다.

gather 를 팀에 도입했다. gather를 조금 빨리 알고 있었지만, 팀에서 '이런게 있다네요~? ㅎㅎ' 하고 주제가 올라왔을 때 놓치지않고 빠르게 팀 게더를 만들어서 공유드렸다. 의외로, 많은 분들이 재밌어하시더니 자리를 잡았다. 현재는 매일 스크럼을 여기서 하고 있고, 티타임할 때도 게더안에서 게임을 하면서 티타임을 하곤 한다. 게더의 가장 좋은 점은 채팅 <-> 줌 사이의 동기적인, 하지만 캐주얼한 이슈 공유 라는 커뮤니케이션 툴 역할을 해준다는 부분이다. 언제든 옆의 방에 놀러와서 핑을 보내면, 일하던 중이던 팀원분이 가능하면 답을 주시고 바로 이슈 공유나 논의가 가능하다. 재택근무에서 비었던 커뮤니케이션 방법인데, 채워져서 참 좋았다.

프로젝트의 서스테이닝 업무를 정말 많이 했다. 스프링 배치 오류로 세번 배포했던 일도 있었고... 여러번 핫픽스를 하고 버그를 고쳤으나, 가장 기억에 남는 것은 log를 기반으로 대기 시간 계산 개선 작업이었다. 기존 로직이 stack 형태로 구현되어있어서, 위키를 참조하지 않으면 코드만 보고 딱 이해하기는 어려웠다. 그러다보니 이 로직에 빈 점이나 오류가 있는지도 찾기가 어려웠고. 🥲 이 부분을 개선하는 미션을 받아서 이리저리 머릿속에서 굴려보다가 Guava RangeSet 를 가지고 개선하는 아이디어를 냈다. 코드의 가독성이 무척 개선되었고, 테스트 코드를 짜기도 쉬워졌다. 개선하면서 동시에 오류도 보정했는데, 이 이후로 이 로직때문에 오류가 나는 일은 없었다. 테크리더님도 칭찬 해주셔서 기뻤슴!

지금 프로젝트는 계속 가면서, 새로운 프로젝트에 동시에 투입됐다. =) 지금도 진행중이고, 아마 내년에도 이 프로젝트로 꽤 시간을 보내게 될 것 같다. 여러 provider를 고려하는 oauth 로그인 파트의 설계가 필요해서 oauth 글도 보고 jwt 글도 보고... 🤦‍♀️ 또 다시 공부와 인고의 시간.

9월부터 블로깅 스터디를 시작했다. 이때부터 다시 블로그가 활성화된 것도 그 때문이다. 글또의 소규모 버전으로, 회사 동기가 된 친구들이 앞서 말했던 비슷한 종류의 불안감을 호소하기에 함께 해보자고 꼬셨다. 2주에 한번씩 글을 발행하고 있고, 아마 22년에는 새로운 버전 혹은 다르게 진행될 것 같다. 이 글도 오늘의 마감을 치기 위해서 쓰고 있는 회고이기도 하다... 😇


관련글

MeanWhile... 🌲

  • 부모님과 부산, 포항을 여행했다. 오랜만에 사랑하는 사촌언니와 조카도 보고!

  • 가벼운 학습지에 스퍼트를 내서 끝냈다. 26주 어치인데, 중간에 미라클 모닝 뜬 시간이 있어 6개월보다 조금 더 걸렸다. 이제 히라가나 / 가타가나 / 간단한 인사는 할 수 있다구..! ✌️ 일본향 서비스를 오랫동안 하고 있는데, 실제로 개발상황에 있어서 유용할 때가 종종 있다. 학습지

  • 백신 1차를 맞았다. 내내 기다려왔는데, 무사히 백신을 맞을 수 있게 되었다. 기저질환과 지병이 많이 있어 위험했던 모님도 모더나를 맞고 무사히 넘겼다. 🙏

4분기 (10-12월)

일과 공부 👩‍💻

이 프로젝트를 다시 인수인계 하게 되었다. 해외팀에게 인수인계를 하게되어 걱정이 있었는데, 문서를 통해서 인수인계를 하고 질의응답을 하는 식으로 진행하게 되어 비교적 수월했다. 하지만 영어로 PR 리뷰를 해주는 것은 너무 너무 힘들다... 핏이 다른 팀에서 리뷰를 재촉하니 들어오는 스트레스가 엄청났다. 🥲 지금이야 일단락되었지만, 영어로 논박하는 것도 꽤나 힘들었다. 비즈니스적으로 적절히 내 팀을 보호하고, 쳐낼 건 쳐내면서 한국말로 소통하는 것도 어려운데, 영어로 이걸 하려니 ... 🤔 지금이야 많이 일단락되었지만, 이 부분이 인수인계에서 가장 힘들지는 몰랐지.

하지만 받아주는 팀이 완전히 이해하고 새 기능을 개발하며 기존 이슈를 대응할 수 있을 때까지!!!! 의 서스테이닝은 여전히 우리팀 몫이었다. 계속 원인을 못찾고 + cs는 계속 들어오고 + 중요도도 있는 이슈의 원인을 찾았다. 워낙 진입점이 많은 코드 쪽의 이슈라서 두달 내내 골머리를 앓았는데, 결국 원인을 알아냈다. 이슈가 발생하는 케이스의 가설을 세우고, 테스트코드를 짜고, 앞선 케이스들이 이 케이스에 들어맞는지 확인했다. 이 부분을 테크리더님 - 기획에 전달하고 공유하는 순간까지 너무 기뻤다! 이 순간도 나의 칭찬창고에 들어갔다. =)

원하는 건 모든지 발표합니다 스터디를 시작하고 마무리했다. 이번해 최고의 스터디... 앞서, 내가 공부의 방향성을 바꾸게 되었다고 했는데... 항상 함께 스터디하는 파티원들이 이번에는 같은 책이 아니라 서로 다른 주제로 매주 모여보자! 하는 의제가 나와 진행하게 되었다. 방식은 자유롭게, 15-20분 정도 발표할 분량으로 원하는 주제로 매주 4인이 모두 발표하는 방식이었다. 다른 분들은 하나의 책을 꼭지로 잡고 진행했는데, 나는 또 굉장히 나를 괴롭히는 방식으로 진행했다 ... 내가 그때 알고 싶은 주제 공부해서 발표하기 가 그것이다.

내가 잘 모르는 부분을 발표하기때문에 여러 프로그램의 공식 홈페이지를 돌아다니고 ... 주제를 잡고 ... 키노트를 밤새 깎아서... 아침 9시에 발표했다(!!) 이후에는 블로그 스터디 용도로 발표를 다듬어서 다시 블로그로 발행하면서 마무리했다. =) 정말 노동이고 힘들었지만, 내가 원하던 실제로 도움이 되는 공부 라는 방향성에는 잘 들어맞았다.

anything-you-want-study

log4j 제로데이 취약점이 터졌다. 이 이슈를 알게된 금요일, 나는 위 스터디에 logback / log4j 1 / log4j 2 / slf4j 를 간단하게 알아보는 발표를 깎아서 토요일 아침에 발표했다. 그리고 스터디원분이 다음날 바로 감사를 표했다. 급하게 패치를 해야했는데 도움이 되었다며... 이것도 칭찬창고에 들어갔다. 그러나 칭찬창고와 별개로 나도 역시 우리 프로젝트의 log4j 취약점 조치를 해야했다 (ㅋㅋㅋ) 다행히 해당하는 버전의 log4j 2 core를 사용하고 있지는 않았다.
log4j

다만...

  • 의존성이 있는 라이브러리를 바로 업그레이드 하지 못해서 log4j 모듈만 들어냈다.
  • jenkins plugin 중 해당하는 부분이 있는지 검사했다.
  • sonarqube 는 영향이 없다고 했으나, 옵션 처리로 조치했다.
  • 급하게 필요한 부분들은 jvm 옵션 + 실행으로 조치했다.

ㅠㅠ 안타깝게도 관련 이슈가 계속해서 업데이트 중이고, 전사차원의 조치도 계속 변경되는 중이다... 아마 내년에도 조치해야할 듯... 나 울어.. 🥲

블로그의 태그 기능을 살렸다. 템플릿을 쉐도잉할 때 tags 부분이 static query가 아니라 slug를 받아서 graphql 에 쿼리하는 방식이라서 static query가 돌지 않더라. 아니 그래도 여기는 쉐도잉과 관계없이 돌아야할텐데..? 왜지... ? 하면서 뜯어봤다. 블로그 개선점의 숙원으로 묵혀둔 것들이 크게 세가지로, tags / random search / toc 였는데 첫번째를 해결해서 너무 좋았다. 태그 목록은 여기에. 조만간 중복 태그들도 정리해야지.


관련글

MeanWhile... 🌲

  • 애인이 훈련소를 다녀왔다. 코로나로 인해서 3주만 다녀왔지만... 펑펑 울었다. 친구가 놀렸다. 🤨
  • 백신 2차를 맞았고 심장통이 살짝 있었다.
  • 운전해서 쇼핑몰과 에버랜드를 한번씩 다녀와봤다!!!!! 정말 무섭고 두렵고 뿌듯했다!!!!!
  • 루틴이 완전히 무너졌다. 꽤나 스트레스를 받았었지 + 일이 많았었지 싶다. 새해가 되기 조금 전에는 되찾아야지.
  • 인스타그램을 비활성화했다. 칼 뉴포트 교수의 디지털 미니멀리즘 을 읽고 크게 충격을 받았다. 현대인들이 네트워크 도구 때문에 딥워크(완전히 몰입한 상태에서 일) 를 하지 못한다고 말하며, 본인의 실천방안을 펴낸 책인데 나는 꽤 좋았다. 교수 본인이 조지타운의 컴공교수면서, 기술 발전의 결과물이라고도 할 수 있는 네트워크 도구들을 신중하게 쓰라고 제언한다는 점!

우리는 아이가 목욕하는 동안 스마트폰에 한눈을 팔거나, 가상의 청중들에게 보여주고 싶은 다급한 욕구에 사로잡혀서 좋은 순간조차 온전히 즐기지 못한다. - 칼 뉴포트, 디지털 미니멀리즘

올해의 책

하나를 꼽지는 못하겠고, 다시 읽어보고 싶은 책들을 꼽자면...

  • 일 잘하는 사람은 단순하게 말합니다
  • 딥워크
  • 책의 말들

https://juneyr.dev/2021-books

올해 배운점

알고 있었지만 올해 깊게 나에게 마음에 닿은 부분을 정리해봤다.

좋은 기록은 다다익선이다

인수인계에서 꼼꼼한 전 팀의 문서 덕을 많이봤다. 그런가 하면, 전 팀원분들의 셋업 문서를 보고 갑작스러운 devops 업무들을 잘 해결했다. 네이버 블로그를 따로 운영해보면서 다른 사람들의 길고 정성스러운 글들을 많이 보았다. 그 글들 역시 나에게 참 도움이 되었다.

서스테이닝 업무를 처음, 그리고 많이 해보았던 이번 해.. 로그를 보고 분석하는 방법을 배웠다. 그리고 원인을 알 수 없으면 로그를 삽입해서 원인을 파악하기 위한 노력을 하는 방법도 배웠다.

사실 많은 일들을 처리하니까, 그리고 시간을 계속 흐르니까. 기억력이 떨어지고 바로 바로 머릿속에서 조회가 안되는 현상을 많이 겪는다. 하지만 내가 한 기록과 문서들은 남아있어서, 이후의 내가 다시 트러블 슈팅을 할 수 있게 해준다. 이렇게 긴 회고를 쓸 수 있게 해준다. 나는 이번해 17건의 이슈 중 9건을 트러블 슈팅했고, 기록으로 남겼다. 😎

내 정신은 내가 관리해야한다

이전에는 이렇게 일이 쏟아진 적이 없었다. 이상하게도 일이 많아질수록, SNS 같은 랜덤한 관심 보상으로 나를 달래려고하는 시간이 늘어났다. 하릴없이 인스타그램에 접속한다든가, 이유없이 트위터에 들어간다든가.

이렇게 생활을 한지 몇달 되었을까? 어느 순간부터 집중력이 저하되고, 오랜 시간 일을 할 수 없다는게 확 느껴졌다. 나의 집중력은 분산되고 하나의 코드를 읽는 능력이 없어졌다. 회사가 나에게 돈을 주는 유일한 이유가 없어지다니 ・・・ 위기감을 느꼈다.

이때부터 관련 영상과 책을 읽었고, 나의 집중력과 딥워크를 위해서는 최대한 커뮤니케이션 도구를 덜 활용해야 한다는 점을 알았다. 때문에 SNS 관리를 하고 (작년에는 페이스북 탈퇴 - 이번해는 인스타그램 비활), 뉴스레터로 최대한 필터링된 정보를 받고, 타임 블로킹을 하면서 시간을 관리해보고 있다. 이런 저런 시도를 해보고 있는데, 이전보다는 훨씬 집중력이 돌아온게 느껴진다. 다음 해에도 나에게 맞는 방법을 찾아갈 계획이다.

TO-BE

기특해라. 이번해도 역시 작년보다 행복하고 건강했다. 내가 나로 서는 법을 잘 알았고, 가족, 친구들의 소중함을 알고 노력했고. 회고를 쓸 때마다 나는 매 순간을 어떻게 살아나가는 지 모르지만 열심히 살았구나, 기특하구나, 싶다.

이제 20대의 마지막이 된다. 새해에는 또 무슨 일이 날 기다리고 있을지 기대된다. 내년에는 기본 스테이터스를 행복으로 올려놓는 기적이 일어나기를 바란다. =) 힘내라 2022년도! 😎