2021-12-27 + ) 회고록 많이 봐주셔서 감사합니다. 🙏🙏
2021년을 회고하면서 가장 먼저 떠올랐던 것은 안정이다.
나는 안정을 되게 중요시 여기는 사람이다. 나는 멀티가 되지않는다. 어떤 무언가를 집중해서 하고자 할 때 주변이 안정되어 있어야 집중이 잘 된다. 올해는 가장 잔잔하게 행복한 일들만 있었던 것 같다.
자 ! 본격적으로 1월부터 회고를 시작해보자. 😃
나는 이동욱님이 나온 유튜브 영상를 보고 ZUM 입사를 너무나도 하고 싶었다. 이유는 명확했다.
결과적으로 2020년 12월에 최종합격을 했고 2020년 12월 28일날 입사를 했다. 붙었을 당시 일기
입사하자마자 오전 첫날 부터 낑낑대며 컴퓨터를 설치했고 오후부터 곧바로 파일럿 1차 과제를 받았다. 검색개발팀은 특이하게 1차, 2차 파일럿과제가 있었다.
첫 1차 파일럿 과제 : '블라인드 웹' - Vue + Springboot + JPA + Aws
기능 구현해야 하는 것들을 A4 용지 2장으로 받았을 때 나는 속으로 '어느 정도 재밌게(?) 할수 있겠다'고 생각을 했다. 미리 ZUM에 입사하면 어떤 파일럿 과제를 할지 알아봤고 똑같은 기술 스택으로 토이프로젝트로 구현을 해봤기 때문이다. ( 다만, 이렇게 짧은 기간일줄이야.. 그건 몰랐지 🤔 ) 더욱 더 짧았음을 느꼈던 것은 설계, 셋팅부터 다 해야했고 인텔리제이 라이센스를 기다려야했고 입사 초기이기에 여러 서류 등등의 문제로 다른 부분에서도 시간을 써야했기에 더욱 부족함을 느꼈다.
후.. 결과적으로 3주 동안 모든 기능을 구현을 했다. ( 아래 사진은 발표 PPT 의 일부이다. )
과제를 다하고 발표를 하면서 팀원분들이 코드리뷰 1시간 넘게 해주셨고 그 피드백 받은 내용을 토대로 일주일의 시간을 더 주고 코드를 리팩토링하였다. 그 과정에서 여러 피드백이 있었지만 가장 도움이 되었던 피드백은 객체에 대한 적절한 역할 부여, 캡슐화, S3와 같은 외부 호출 시 트랜잭션 나눔이 가장 큰 도움이 되었다.
프로젝트 하면서 기록한 내용들 일부.. 지금보니 너무 흐접하다. 💩
개발과 설계에는 정답이 없다. 나는 1년이 지난 지금 피드백 중에서 반대가 되는 의견이 있다면 주석을 달지 말고 메소드 명을 명확히 하자, 굳이 HateOAS를 적용하지 말자 이다.
나의 원래의 개발 스타일은 HateOAS를 적용했으며 모든 메세지와 메소드에 주석을 달았다. 하지만 첫 코드리뷰 때 이러한 2가지 부분에서 부정적인 피드백을 받았다. 시간이 흐르고 현재 개발을 진행하면서 주석에 대한 중요성을 굉장히 많이 느끼고 있다. 또한 HateOAS는 굳이 현재 서비스에 쓰지 않는 것일 뿐, 단점이 있다고는 판단하지 않고 있다.
2차 파일럿 과제 : '후후 통계 서비스' - FreeMarker + Jquery + Springboot + QueryDsl + Spring Batch + Quatz + S3 + Fluentd
후후 통계 서비스 같은 경우에는 우리 회사에서 외주를 하는 프로젝트이다. 갤럭시를 사용해본자. 후후를 알고 있지않는가 !? 🧐 그 후후가 맞다네.
해당 서비스에 들어가면 여러 업체들이 나오고 그 업체에 대한 전화, 노출, 클릭 에 대한 통계를 내고 관리자측이 운영하기 쉽게 관리자 페이지를 만드는 것이 나의 2차 파일럿 과제였다.
멀티모듈이므로 통계 모듈, 배치 모듈을 구현했고 그 와 연동하는 CMS APP에 이 두개의 모듈을 붙였다. 전체적인 설계도는 이러하다.
API에서 fluentd를 이용하여 log를 수집하는 작업은 전 팀장님께서 이미 구현을 해놓으셨고 해당 log에 대한 모델은 팀장님과 얘기하면서 모델링을 하였다.
S3에는 각 1시간마다 로그가 쌓이며 이 로그는 .gz으로 쌓이고 배치를 하루에 한번씩 돌면서 .gz 압축을 풀어 각 로그들을 일일 주기로 통계를 냈다. 통계를 낸 데이터를 이용해여 QueryDSL로 추출했으며 FreeMarker를 이용한 화면단에 통계 수치를 보여주었다. 그 과정 속에서 Join을 하면 할 수록 성능이 많이 느려졌다. (PK로 클러스터인덱스를 넣고 드라이븐 테이블에 인덱스를 걸었음에도 불구하고... ) 그래서 ['배드 노하우'(Bad Knowhow) : Join을 이용하지 않고 where in을 이용하여 두번의 호출로 데이터 추출하기] 를 이용하여 성능을 개선할 수 있었다. 해당 프로젝트에 대한 모든 내용을 담기에는 회고록에 적합하지 않는 것 같고 간략하게만 얘기해보자면 이 프로젝트를 하면서 가장 많이 느꼈던 두가지는 항상 Auto Increment를 사용하려고 하지말자. 클러스터 인덱스 복합키를 생각해보자. 그리고 하고자 한다면 해낼수 있다. 라는 마인드이다. 이 2번째 프로젝트는 2021.2.8 ~ 3.12 까지의 프로젝트였으며 굉장히 힘들었고 굉장히 시간이 없었던 프로젝트다. 주말에도 매일 구현했으며 집에가서도 원격으로 야근을 했었다. 막막했지만 결과적으로는 해냈다. 하고자 한다면 해낼 수있다.
프로젝트 하면서 기록한 내용들 일부 💩
이렇게 3개월 정도의 2가지 프로젝트를 진행하였고 결과적으로 좋은 결과를 냈다. 사장님 앞에서의 발표가 끝남과 동시에 정규직의 인사 발령이 났고 나는 4일 동안의 휴식에 들어갔다.
4월 5월은 다음 프로젝트를 위해 인수인계를 받고 있었고 그 프로젝트를 하기 위해서 엘라스틱서치를 공부하고 있었다. 입사 후, 힘든 3개월이 지나고 나른 나른한 분위기에서 나는 깊은 번아웃이 왔다. 그렇게 원하는 회사에 입사하였고 정규직이 되었는데 엄청난 기쁨이 없었다. 내가 이런 감정을 느끼려고 그동안 스트레스 받으면서 공부했나? 하는 생각이 들면서 굉장히 인생 무상을 경험하고 있던 시기였다.
여러 방법을 통해서 이런 번아웃을 극복하기 위해 노력했고 결과적으로는 3개월이 지나고 나서야 번아웃을 극복할 수 있었다. 딱히 방법은 없었고 그냥 나를 바꿨다. 모든 일상을 바꿨다. 운동을 시작했으며 바꾸고 싶은 이름으로 개명을 하였다. 누구의 의견도 묻지 않았고 그냥 내가 원하는 이름으로 개명을 하였다. 회고록 첫 문단에 내가 쓴 내용을 보면 나는 나의 주변이 잔잔하고 안정이 되어야만 내가 집중을 할 수 있다. 즉슨, 내가 원하고자 하는 목표가 있었고 그 목표를 채웠으니 내면적으로 새로운 인생을 살고자했으며 시끄러운 내면을 정리를 해야만 했었다. 그 정리의 시발점이 개명이었다. 현재 나는 나의 새로운 이름으로 굉장히 만족하며 살고 있다.
6월. 우리팀은 금융 서비스에 주축이 되는 팀이 되었다. 나는 신입이기에 인수인계받은 프로젝트를 유지보수하는 것이 주 임무였다. 하지만 나는 금융 서비스에 관심이 있었고 팀장님께 금융 회의를 들어가보고 싶다고 말을 했다. 결과적으로 금융 홈, 투자노트 CMS을 맡게 되었다.
2개월 동안 금융 CMS 를 구현하였다. (Vue + Springboot + Jooq) 가장 힘들었던 부분은 에디터였다. TinyMCE를 이용하여 에디터를 구현하였는데 이게 이렇게 힘든 작업인지 몰랐다. 그 이유는 이 서비스가 매우 일정이 빠듯하게 진행이 되어서 'QA + 개발자' 와의 커뮤니케이션이 굉장히 좋지 않았기 때문.
QA 입장에서는 에디터에 대한 편리함을 뒤늦게 굉장히 많이 요구를 하였고 개발자 입장에서는 애초에 기획에 없었던 것을 급하게 기능을 추가하라는 요구에 매일이 힘들었다. ( 또 개발 중간에 아예 기획이 엎어졌었음 🥺)
많이 배웠던 부분은 기획자분과의 커뮤니케이션이다. 후후 서비스 같은 경우에는 외주기에 담당 기획자분과 얘기한 적이 없고 팀장님을 통해서 기능을 수정하고 추가를 했었다. 이번 서비스를 구현하면서 제대로된 첫 커뮤니케이션을 할 수 있었다. 좋은 기획자분을 만나서 정말 많이 배웠고 많은 배려에 정말 너무 감사했다. 🙏
힘든 시기가 지나가고 결과적으로는 좋은 서비스가 오픈이 되었다. 그리고 나의 팀장님, 사수님 그리고 기획자님이 떠났다.
9월. 선택을 해야했다. 실장님께서 현재 팀에 남아있을 시, 신입TO를 포털개발팀에 넣을 생각이고 내가 만약 포털 개발팀에 가고 싶으면 검색개발팀에 신입TO을 넣겠다고 결정을 하라는 선택권을 주었다.
기존팀에 남아있을 시 기존 프로젝트를 인수인계 받고 유지보수를 하는 것이며 포털개발팀으로 이동하면 금융 서비스 2차 CMS와 API 개발을 시작해야한다고 하였다. 결과적으로 나는 검색개발팀에서 포털개발팀으로 팀이동을 하였다. 이유는 명확하다.
그렇게 나는 새로운 팀에서 금융 서비스 2차를 시작하게 되었다.
새로운 팀에 왔다. 포털팀에서도 여러 파트가 있는데 우리 파트는 금융 파트이다. 6년차 선배님, 나보다 2개월 빨리 온 동기, 나보다 8개월 늦게 온 신입. 이렇게 나까지 포함해서 4명의 금융 파트팀이 결성되었다.
2차 시작하기전에 굉장히 많이 걱정했다. 이유는 포털개발팀의 팀장님도 퇴사를... 😂
그리고 1차 때는 팀장님과 10년차 개발 선배님, 3년차, 2년차 분들이 계셔서 막내인 내가 의지를 할 수 있었다면 이번 2차에서는 내가 마냥 의지를 할 수있는 위치가 아니기에 굉장히 걱정이 많았다. 또한 나름 1차 참여자인 내가 히스토리를 어느정도 알고 있어야했는데 CMS만 구현하다보니 API 에 대한 히스토리를 알지못했다. 도움이 되지 못할 것이라는 압박감이 너무나도 컸다. 하지만 정말 감사하게도 전 팀의 10년차 선배님과 2년차 선배님의 도움으로 많은 압박감을 없앨 수 있었다. 정말 너무 감사합니다.🙏🙏
그렇게 팀이 결성되고 개발에 들어갔다. 개발에 대한 상세한 후기
금융 서비스 2차를 2개월정도 개발을 하면서 굉장히 힘들었다. 1차때 보다도 더 빠듯하게 주어진 일정으로 주말에도 나가서 일을 했으며 퇴근 후 집에서도 야근을 했었다. (그로 인해 남은 휴가와 휴일변경으로 연말에 2주 넘게 휴가인건 안비밀 )
처음으로 주마다 하는 TF 회의를 선배님과 함께 들어갔으며 각 파트의 리더들이 얼마나 책임감을 갖고 일하는지 간접적으로 느꼈다. 경력직으로 이직 온 금융 파트 선배님이 얼마나 부담감을 갖고 있을지 느껴졌다. 내가 최대한 많은 도움이 되길 원했고 나 또한 선배님 덕분에 많은 도움을 받고 많은 것을 배웠다.
금융 서비스 1차를 할 때는 팀의 막내였기에 걱정이 많이 없었고 칼에 베일듯이 칼퇴를 하였고 (물론 원격으로는 했음) 항상 해맑게 수동적으로 일을 했다면 이번 2차 금융 서비스에서는 정말 많이 책임감을 갖고 주도적으로 일을 했다.
정말 많이 힘들었지만 프로젝트 막바지에 이르렀을 때 선배님과 야근을 하고 퇴근을 할 때, 선배님이 이런 말을 한적이 있다. 많이 힘들지만 팀원들이 너무 좋고 프로젝트도 마음에 들기에 재밌게 회사를 다니고 있다고. 나 또한 그러하다. 정말 많이 힘들어서 부담감에 잠도 못잤지만 팀원들이 너무 좋고 나의 첫 서비스이기에 행복하게 프로젝트를 한 것 같다.
결과적으로 성공적으로 12월 24일날 서비스 오픈을 했다. 나의 팀원들께 감사하다.
나는 현재 포털개발팀이다. 포털개발팀이기 전에 검색개발팀이었다. 어쩌다보니 나는 팀을 이동하게 되었고 기존 팀원들이 모두 좋은 곳으로 이직을 하였다. 신입으로 처음 왔을 때 적응할 수 있게 모든 팀원분들이 많이 도와주셔서 감사했다. 현재 포털개발팀에 와서도 자주 검색개발팀은 이러이러했다. 너무 좋았다. 라는 말을 자주한다. 사실 적당히라는 것도 있는데 ㅋㅋㅋㅋㅋ ( 너무 자주함 ) 너무 나에게는 좋은 팀이었나보다.
무엇보다도 나의 사수님 '먕'에게 정말 정말 감사하다. 이번에 2차 금융서비스에 참여하면서 사수님이 얼마나 힘들었을지 느꼈고 그 힘든 와중에 나를 부사수라고 엄청 챙겨주고 했던 것이 정말 계속 개발하는 내내 감사했다. 나는 그것도 모르고 나의 철없는 생각과 주장을 계속 얘기했고 힘들게 했다. 이렇게 힘들었을지는 몰랐지. 🤔( 아마 더힘들었을듯 )
동갑 친구면서 사수인 먕. 가끔씩 전화도 하고 카톡도 하는 데 내년에는 꼭 만나서 놀았으면 한다. 어예~
올해 개발 모임에서 만난 두명의 친구가 있다. 한명은 나와 동갑이면서 이성인 친구다. 굉장히 쎈 친구다. 가끔씩 누나라고도 하는 데 배울 점이 많은 친구다. 매일 매일 회사에 출근하면 텔레그램으로 얘기하는 데 시간이 지나면 같은 회사에서 일해보고 싶다.
또 한명의 친구는 추천으로 줌인터넷에 데려왔다. 굉장히 잘하는 친구고 착하고 나와 잘 맞는다. 회사에서 적응을 잘하고 있고 파일럿 과제로 이번에 업무를 받고 완수했을 때 굉장히 잘했기에 추천 해준 내가 기를 펼 수 있어서 정말 너무 감사하다.
친구와 스터디를 결성하였다. 깃헙에 Organization를 생성하여 각자의 공부를 올리는 스터디이다. 나는 금융 서비스 1차, 2차로 인해 바빠서 많은 참여를 하지 못했는데 친구는 정말 많이 올렸다. 아마 너무 간절했기에...? ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ
스터디의 목적은 각자의 목표를 향해 지식을 나누는 것. 별건 없다. 그냥 하고 싶은 공부를 하고 올리면 되는 것. 친구는 현대IT&E를 다니고 있었고 이직을 위해 열심히 면접준비를 하고 있었다.
결과적으로는 친구는 카카오 이직을 성공하여 현재 행복한 삶을 살고 있다. ( 그 다음 나임 ? 😗)
무튼 정말 정말 수고했고 축하해에. 🤭 이제 이끌어주길 바래
인생 처음으로 나에게 첫 후배가 생겼다. 대학에서도 소수의 동기들과 함께 다녔고 동아리에서는 다른 학과의 동생들만 있었기에 이렇게 개발자로서의 후배는 첫 후배이다. 물론, 1년 2년이 지나면 동기라고 할 수 있을 정도로 입사일이 많이 차이가 나지 않는다.
가끔 일기에도 후배에 대한 얘기를 썼는데 정말 배울 점이 많은 친구다. 무엇보다도 항상 대놓고 얘기하는 거지만 빠른 프로젝트 적응과 빠른 개발이 너무나도 부럽고 배울점이다. 물론, 개발자로서 어느 정도 크리티컬한 단점인 덤벙 덤벙하며 버그를 내는 것이 있긴한데.. 🤔 나는 그 부분은 충분히 고쳐질 수 있다고 생각하기에 큰 단점이라고는 생각하지 않는다. 또한 작고 귀엽고 평상시에는 너무나도 동생같아보여 매일 장난치고 챙겨줘야할 것만 같지만 실제로는 당차고 똑 부러지며 누구보다도 어른스럽다.
나의 사수는 처음으로 나에게 추천해준 책이 객체지향 사실과 오해이다. 굉장히 얻은 것이 많은 책이었으며 후에 나도 '나에게 부사수가 생기면 똑같이 추천해줘야지!' 하며 생각하고 있었다. 이런 생각만 하고 있었던 찰나에 후배가 생겼고 부사수는 아니지만 ! 내가 읽었던 '객체지향 사실과 오해'책을 선물해줬다. 좋아하는 모습에 굉장히 기뻤다. 하지만 이제 천천히라도 조금씩 내용을 읽었으면 좋겠다. (한달 후에 읽었냐고 물어보니 목차만 읽었다고... 😊)
이번 프로젝트하면서 굉장히 팀에 도움이 많이 됐다. 개인적으로 생각해보면 가장 힘들었을 부분이 랭킹쪽이라고 생각하는데.. 그 부분을 담당했기에 굉장히 어려움이 많았을 것이라고 생각한다. 그 어려움을 극복해내고 현재 서비스에 기능을 하고 있으니 정말 멋지다는 생각이 든다.
금융 서비스 3차도 같이 참여하니 많은 의지를 할 것 같다.
나는 책 읽는 것을 좋아한다. 다만, 너무 바쁜 나머지 읽고 싶은 책들을 모두 사놓고 아직 읽지 않았다는 점!? 그리고 책만 읽지 연습을 제대로 안한다는 점? 나의 단점을 명확하게 알고 있다.
나는 현재 2~3주 정도의 휴가를 지내고 있다. 내가 생각했을 때 지금 이 2주 정도의 시간이 나에게 굉장히 중요한 시간이라고 생각한다. 현재 뒤엉켜 있는 지식들을 정리해야할 필요가 있으며 모든 것을 머리속에 저장할 수 없기에 나의 무기들을 깃헙에 코드로 옮겨 적어야한다. 그래야 나중에 필요로 할 때 그 무기들을 쓸 수 있지 않겠는가? 어서 어서 휴가가 다 끝나기 전에 모든 것을 정리해 놓자. 마음 편히 안정화를 시키자. 😀
개발적으로 아쉬운 부분
일상에서의 아쉬운 부분
개발적으로 잘했던 부분
일상에서의 잘했던 부분
올해는 정말 많이 행복했던 해였다. 정말이다. 딱 하나 후회하는 부분이 있지만 다시는 똑같은 실수 안하면 되니까 🧐
내년에는 정말 중요한 해이다. 내가 원하는 것을 이루기 위해서는 정말 많이 달려야한다. 그러기에 나는 2주 동안의 휴가를 냈다. 달리기 위해서는 만반의 준비를 해야하기 때문에. 정말 자신있다. 누구보다도 자신있다. 지금 생각하는 그대로 실천하면 된다. 내일해야지. 오늘은 넘어가야지 라는 마인드만 없으면 된다. 가자 !
2021년 고생하셨습니다~ 마지막 줄에 오늘은 넘어가야지 라는 마음을 안가지는게 제일 쉬운 것 같으면서도 젤 어렵네요. 저도 항상 그런 마음을 가지지 않으려고 노력하고 있습니다.
회고록을 읽으면서 작년과 비슷하게 제 자신을 한번 더 돌아보게 됐습니다. 다시 한번 2021년 고생 많으셨습니다 ( _ _ )
한해동안 고생많이하셨습니다. 내년에는 좀 더 개발공부에 매진하시고, 핑프 지양 개발자의 모습을 기대합니다.