1. 목표와 결과 비교
지난 4분기의 목표는 단 하나, 주어진 회사 업무를 기한내에 마무리 지어보자 였다.
마무리 잘 지었다. 내가 맡은 부분에서 최적화할 수 있는 부분에 대해서는 최적화를 했고, 기한내에 마무리 짓기 위해 멀티워커로 구간별로 데이터를 처리하게 코드를 수정하여 일정도 딱 맞췄다. API도 처음으로 제대로 jest를 사용하여 repository 모킹도 해보고 테스트 커버리지를 일정수준에 맞게 올리는 작업도 했다.
다만 시간이 지나고 회고를 작성하는 도중 아쉬우면서 후회되는 것이 있는데 바로 퇴근후에 공부한게 별로 없다는 것이다. 너무 회사 업무에만 신경쓰고 개인의 발전에는 신경쓰지 않은 안일한 태도로 발생한 문제라고 생각한다. 이번 분기에는 회사 업무 외에 개인의 발전을 위해 추가로 공부해야겠다.
2. 기술적 성장
2-1. Opensource Contribution
깃허브에 상어가 추가되었다. (지난분기때 썼던 내용인데 10월초에 있었던 일이라 조금더 자세하게 작성했다)
web3라고 블록체인 업계에서 많이 사용되는 라이브러리가 있는데 업무중에 이상한 부분을 발견한 적 있다.
return type이나 각종 문서들로 확인했을때는 response 가
0x9806dbbfaca4acb6736eac8ac5e05026335401b1 처럼 address 타입의 42길이의 문자가 나와야하는데
실제로는 0x0000000000000000000000009806dbbfaca4acb6736eac8ac5e05026335401b1 처럼 txHash 타입의 50길이의 문자가 나와서 이상했다.
우선은 라이브러리에서 제공하는 함수를 써야하는 상황이라 그냥 값을 받았는데 길이가 42가 아니면 42길이에 맞춰서 파싱하고 리턴하는 식으로 작업을 했다. 근데 아무리 생각해도 마음에 안들어서 issue를 공유했다.
https://github.com/web3/web3.js/issues/6470#issue-1920862661
그리고 열심히 원인분석하고 라이브러리를 까보니 코드 한줄만 수정하면 되는거라 직접 수정해서 PR을 만들었고 담당자들의 approve를 받아 머지되었다. 그렇게 상어가 생겼다.
https://github.com/web3/web3.js/pull/6471
예전에 caver-js라고 하는 클레이튼 체인의 라이브러리를 사용하던 중에도 버그를 발견했었는데 이때는 코드레벨의 문제가 아니라 체인 데이터 자체의 문제라고 판단해서 별다른 PR을 만들지 못했던게 기억났다.
2-2. Jest
어느정도 프로젝트 마무리 시기때쯤 테스트코드를 작성하라는 실장님의 명을 받아 처음으로 테스트코드를 짜봤다. repository 파일에서 db로부터 데이터를 가져와서 리턴하는 부분을 모킹하는 부분에서 좀 애를 먹었는데 꽤나 할만했다.
jest로 모킹하고 테스트코드를 작성하는 과정에서 typeorm 3.0에서 custom repository를 구현하는 방법과 이거에 맞게 테스트코드를 작성하는 것에 대한 내용을 블로그에 올려서 공유하면 좋겠다 라는 생각을 했다. 대충 예시 코드랑 간단한 설명은 바로 공유할 수 있는데 이런식으로 코드를 짰을때 얻는 이점이나 구현한 원리, 근거 등에 대해 설명하기에는 부족한 부분이 있어 이것만 해결되면 바로 올릴 계획이다.
3. 업무 관리와 협업
3-1 새로운 팀
팀이 바뀌었다. 내가 우리 회사에서 팀장이나 팀원이 가장 자주 바뀌었다고 장담할 수 있다. 이번에 팀이 바뀐 것은 새로운 실장님의 간택(?)과 맡고 있던 서비스의 이관으로 인해서 발생했다. 나중에 회식때 얘기들어보니 내가 다른 팀원에 비해 성실하고 열심히 하는 모습이 보여서 새로 창설된 팀으로 데려온 것이라고 했다. 꽤나 뿌듯하고 좋았다. 올해 열심히 해야징
3-2 스크럼 미팅
팀이 바뀌면서 팀원도 바뀌었다. 실장님 + 나 + 백엔드 개발자 + 데브옵스 로 이루어진 팀이 되었다. 완전 백엔드스러워서 좋았다. 그리고 새로 맡게된 서비스가 마무리될 때 까지 매일 오전에 스크럼 미팅을 하기로 했다.
스크럼미팅때마다 각자 맡고 있는 일감에 대해서 공유하고 오늘은 어떤 것을 할것인지 공유하며, 어려움이 있는 부분에 대해서는 실장님의 도움을 받을 수 있었다. 매일 아침마다 약 5~10분 내지로 회의를 하면서 업무공유를 하니... 업무 처리 속도가 엄청 빨라졌다.
이전에는 회의가 월요일 아침에 있는 주간회의 밖에 없어서 업무가 좀 느슨할 때가 있었는데 이번 스크럼 미팅을 도입한 이후로는... 일이 없어지니 실장님이 일감을 주셔서 느슨해진 적이 거의 없었다. 다른 팀의 사람들이 약간 걱정해줬는데 나는 개인적으로 좋은 경험이었고 나랑 꽤 잘맞는 업무방식이라고 생각한다.
4. 성과와 문제점
4-1 새 프로젝트 마무리
이전 프로젝트에서 아쉬웠던 부분들을 최대한 개선하여 데이터 처리 속도를 향상시키고 에러 핸들링에 신경을 더 썼으며 코드를 더 깔끔하게 짰다. 이번 프로젝트를 포크떠서 이전 프로젝트도 새로 리뉴얼 할 예정이 있다고 들었는데 살짝 두근한다. 내가 입사할때 v1 이던 프로젝트를 v2로 만들면서 TPS를 100 -> 2000까지 올렸는데 v3를 하면 얼마나 더 안정적이고 견고한 프로젝트가 될지,,,, 최근에 tps 5000까지 하루이틀동안 데이터가 갑자기 쏟아진 적 있는데 이때 데이터 처리가 좀 느렸었다. 빨리 v3 하면 좋겠다.
4-2 퇴근 후 취미생활
너무 회사일만 해서 퇴근하고 집에서 공부를 많이 안했다. 물론 필요한 부분에 대해서는 찾아보긴했는데 (jenkins나 aws 쪽이나 등등,,,) 뜻있는 시간을 보낸 것 같진 않아 아쉬움이 남았다.
퇴근하고 집에와서 밥먹고 나면 운동가기전에 한두시간 남는데 이 시간을 그냥 취미생활로 게임하면서 시간을 낭비했다. 최근에 좀 현타가 와서 모바일 게임은 하나빼고 다 지웠다. 남은 하나는 어차피 하루에 10분 할까말까할 정도로 잘 안해서 남겨뒀다.
5. 다음 분기(1분기) 목표
자세한 내용을 블로그에 담을 수는 없지만... 회사가 요즘 많이 힘들다. 4분기때 회사 사정이 좀 안좋아서 하나의 사건이 있었는데 연초에 더 거대한 사건이 터져서.... 이직을 생각 안할 수 없게 되었다.
그렇게 이번 분기의 목표는 이직이 되었다. 백준 문제로 다시 감을 좀 쌓고, 프로그래머스 문제를 풀어볼 예정이다.
그리고 경력기술서랑 자기소개서 등등 취업에 필요한 것들을 다시 정리하고, cs 관련 지식처럼 취업에 필요한 것들 위주로 공부할 예정이다.
회사 상황이 좋아지면 이직 대신에 인프라쪽으로 공부해볼 예정이다. 지금 실장님이랑 데브옵스 팀원이 인프라쪽으로 잘 하셔서 이참에 배워두면 좋을 것 같기 때문이다.
6. 마무리
회사가 현 상황을 잘 극복했으면 좋겠다. 예전부터 회사를 퇴사하게 된다면 내가 잘해서 더 좋은 직장으로 이직하게 되었을때 스스로 나가고 싶었다. 그런데 지금 회사 상황을 봤을때 퇴사가 아닐 것 같아 걱정이다.
'생각정리' 카테고리의 다른 글
3년차 개발자 2023년 3분기 회고 (0) | 2023.10.08 |
---|---|
3년차 개발자 2023년 2분기 회고 (0) | 2023.07.09 |
3년차 개발자 2023년 1분기 회고 (0) | 2023.03.04 |