생각정리

3년차 개발자 2023년 1분기 회고

주인장 꼬비 2023. 3. 4. 03:52

작년과 재작년에는 1년 주기로 회고록을 작성했었다. 1년 동안 있었던 일들을 하나의 게시물로 작성하니 쓸 내용이 많고 좋았다. 다만 스스로를 돌아보고 반성하기에는 1년이라는 주기는 너무 길다고 생각되어 올해부터는 분기별로 회고록을 작성하고자 한다. 

 

1. 목표와 결과 비교

1분기 초에 스스로 정한 1분기 목표가 2개 있었다. 하나는 백준 문제를 풀어서 골드 등급에 달성하는 것이었고, 다른 하나는 도커와 쿠버네티스에 대해서 공부를 하는 것이었다.

 

1-1 골드 등급 달성

학부생 때부터 자료구조과 알고리즘을 싫어했다. 이해도 안 되고 이게 실무에 도움이 되는 건가에 대한 의문도 들었다. 게다가 대학교 4학년 여름방학 때 SSAFY와 우아한테크코스 코딩테스트에서 광탈당하고 나서는 알고리즘에 대한 두려움만 남았었다. 그래서인지 졸업하고 기술면접을 볼 때 매번 불안하고 자신감이 없었다. 그래서 코테가 있는 회사는 되도록 피했다.

 

그런데 회사에서 개발을 하다 보니 알고리즘이 필요하다고 느껴지는 순간이 종종 생겼다. 정확히는 알고리즘이 필요하다기보다는 코드 성능에 신경을 많이 써야 하는 상황이 있었다. 그래서 백준 골드 달성이라는 목표를 가지고 자료구조부터 공부를 시작했고 실행에 옮겼다. 그리고 나는 백준 골드 등급에 달성했다.

스크린샷 찍은 게 만우절이라 UI가 이상한 것 같다

자료구조 공부 시작은 Udemy JavaScript 알고리즘 & 자료구조 마스터클래스 강의로 시작했고, 80% 정도 들었을 때부터는 유튜버 라마개발자의 영상을 참고해서 백준 문제풀이를 시작했다. 백준 허브라는 구글 크롬 익스텐션도 사용했는데 문제를 맞힐 때마다 자동으로 github에 올려준다. 자동으로 github를 관리해 주고 잔디를 심어주기 때문에 동기부여에 도움이 됐다. 푼 문제들은 모두 https://github.com/kkeolmusae/algorithm/tree/main/backjoon에 기록되어 있다.

 

1-2 도커 & 쿠버네티스 강의수강

회사에서 인프라전환을 하고 난 이후로 답답한 부분이 생겼다. 인프라 담당자와 사수2의 업무 대화를 이해하지 못하는 상황이 발생하거나 서비스 고장의 원인이 소스코드가 분명 아닌데 원인 파악을 하지 못하는 상황이 자주 생겼다. 이게 너무 싫었다. 뭔가 스스로 무능력해지는 기분이랄까.

 

그래서 업무 중에 개념이 부족하거나 이해가 어려운 내용들을 키워드 위주로 정리하였고 정리한 키워드를 가지고 공부를 시작했다. 그중 첫 번째가 쿠버네티스(k8s)였다. k8s를 알려면 그전에 도커가 선행학습되어야 한다고 생각했기 때문에 1분기 목표를 도커와 쿠버네티스로 정했었다.

 

 

어떻게 공부를 시작할지 고민 중에 1월에 새해맞이 기념으로 udemy에서 여러 강의를 할인하는 것을 봤다. 올리브영처럼 자주 할인하는데 유독 이때 도커&쿠버네티스 강의가 눈에 들어왔고 또 질렀다. 강의 제목은 Docker & Kubernetes: 실전 가이드이다. 지금까지 강의를 70% 정도 들었고 강의 내용은 github에 정리하고 있다.

 

GitHub - kkeolmusae/TIL

Contribute to kkeolmusae/TIL development by creating an account on GitHub.

github.com

 

 

2. 기술적 성장

2-1 인프라 이해

도커와 쿠버네티스 강의를 들으면서 최소한의 개념과 용어에 대해 알게 되었다. 아직 여전히 한참 부족하다고 생각되지만 예전처럼 pod이 뭐지? 컨테이너가 뭐지? 하는 바보는 아니게 되었다. 처음 신규 인프라가 도입되었을 때는 말하는 감자처럼 할 줄 아는 게 없었는데 지금은 예전보다 이슈트래킹할 수 있는 범위가 늘어나서 원인 파악 능력이 향상됐다.

이제 Pod이 뭔지 안다!

키워드 위주 공부덕에 회사에서 사용 중인 Argo CD가 뭔지도 알게 되었다. 하지만 아직 k8s에 대해 공부를 덜 한 상태라 각각의 리소스가 어떤 것인지 모두 파악하지는 못했다. 

 

2-2 생각하고 코드 짜기

나름 생각하면서 짠다

작년 초에 회사 서비스 리메이크를 사수1과 했었다. 이 당시에는 잘 짰다고 생각했었는데 최근에는 부끄러워서 말을 못할 정도로 못짰다고 생각되는 코드가 많이 보이고 있다(역시 아는 만큼 보인다) cron 이나 daemon, syncer 등에 구현된 함수들은 아주 크고 복잡하게 구현되어 있고, api 쪽 코드들은 최소한의 서비스 아키택쳐 구조와 무관하게 아무렇게나 짜여진 상태이다.

 

연차가 쌓이면서 요즘엔 기본은 지키려고 노력중이다. 모르는 부분이나 확실치 않은 게 있으면 사수2에게 열심히 물어보고 배워가고 있다. Controller, Service 등 각 layer 별로 역할에 맞게 구현하려고 하고, 함수는 작게 또 작게 구현하고자 하고 있다. 나름 장족의 발전이 아닐까 하는 생각이 들지만 여전히 갈 길이 멀다.

 

2-3 개발 문서 정리

작년에 사수1과 함께 했던 업무에 대한 내용을 정리했다. 예전부터 정리해야지 하고 생각만 하고 미루던 일인데 최근에 어떤 글을 읽고 미루면 안되겠다는 생각이 들어서 바로 정리했다. 테이블 수정 내용이나 구조 변경, API 개선 등 항목별로 정리했는데 아직 보완해야하는 부분이 많아서 사수1께 조만간 부탁드려서 이것저것 여쭤볼 계획이다. 문서 정리를 하다보니 지금 테이블 설계의 문제점이나 단점에 대해서 보이는 부분이 많이 생겼고, 다음에 설계할 기회가 생겼을때는 어떤 부분을 보완하고 신경쓰면 좋을지에 대한 아이디어가 많이 떠올랐다.

 

2-4 코드리뷰

팀 내에 코드리뷰 문화가 생겼다. 물론 다른 회사들처럼 아직 체계적이고 빡세게 하지는 않지만 팀 내에서 코드 리뷰를 부탁드리면 사수 2나 실장님이 봐주신다. 물론 두분다 너무나 바쁘신 분들이라... 매번 부탁하기는 어렵다 ㅠㅠ

선생님들... 시간 괜찮으시다면 코드리뷰 부탁드려도 될까요?

코드 리뷰를 받으면 내가 신경쓰지 못한 부분을 캐치할 수 있어서 좋다. 아직 디자인패턴이나 클린코드 개념이 제대로 없어서 부족한 부분이 많긴하지만 코드리뷰를 받다보니 예전보다는 조금 더 나은 코드를 작성하게 된 것 같다. 나도 나중에 연차가 더 쌓였을때 사수1, 사수2, 실장님 처럼 코드리뷰를 척척 해줄 수 있는 사람이 되고 싶다.

 

 

3. 업무 관리와 협업

3-1 노션에서 레드마인으로

슬랙과 레드마인의 콜라보

 

 

작년까지는 회사에서 노션을 사용하여 일정을 세우고 이슈를 공유하며 업무를 관리하였다. 그런데 회사에 인원이 늘어가면서 노션으로는 일정 관리와 공유가 잘 되지 않는 상황이 자주 발생했다. 그리고 서로 DM으로 업무 공유를 많이 하다보니 한 사람이 같은 말을 여러번 반복해야 하는 불상사도 종종 발생했다. 이러한 여러 문제점를 해결하고자 회사에서 올해부터 레드마인을 도입하고 슬랙 채널을 정리하였다. 그리고 팀별로 주간회의를 실시하여 업무를 공유하기로 했다.

 

주간회의때는 레드마인으로 회의를 진행한다. 평소에 사람들이 레드마인에 할일을 함수짜듯이 작게 일감을 작성하고 처리하면 회의때는 이 일감들을 보면서 팀원들끼리 지난주에 어떤 업무를 했고, 지금은 어떤걸 하고 있고, 어떤 어려움이 있는지에 대한 내용을 공유한다. 일감들로 해야할일/하고있는일/중단된일/해결한일 등 으로 업무 상황을 나누며 퀘스트 하듯이 업무를 처리하고 있다. 예전에는 일정 관리가 잘 안되고 업무 공유가 어려웠는데 레드마인을 사용하니 팀원간의 소통이 편하고 수월해졌다. 내가 열심히 일하고 바쁘다는 것을 어필 하기에도 좋아졌지만 내가 일이 없다는 것을 들키기에도 좋아졌다.

 

3-2 업무는 퀘스트

요즘 나오는 게임들을 보면 대부분 퀘스트 시스템이 있다. 퀘스트를 하나씩 깨고 보상을 받을 떄 마다 느끼는 즐거움이 있는데 이를 업무에 적용시켜서 일을 하고 있다. 물론 퀘스트마다 난이도나 재미가 천차만별이고, 피하고 싶고 최대한 미루고 싶은 퀘스트들은 쌓여있다. 

 

 

4. 성과와 문제점

4-1 연봉 협상과 칭찬

연봉협상을 했다. 입사때는 CFO님과, 작년엔 대표님과 연봉협상을 했고 올해는 CTO님과 연봉협상을 했다. 요즘 회사 사정이 그렇게 좋지 않고 시장 상황도 나쁘다 보니 연봉에 대해서는 기대를 안했었다. (소득세 감면에 더 관심이 있었다.)

 

보자마자 쓱 사인하고 CTO님과 잠깐 면담을 했다. 작년에 사수1 과 함께 일하면서 많이 성장했다고 칭찬을 들었다. 프로젝트 리딩까지는 아직 무리라도 이슈 리딩까지는 되는 것 같다고 하셨다. 고과도 상위권이라고 잘 하고 있다고 칭찬을 많이 해주셨다. 다음 목표는 프로젝트 리딩 수준까지 업무능력을 키우는 것이 되었다.

칭찬들어서 기분 좋은 나 🤗

CTO님께서 다른 개발자들과 연봉 협상을 할때도 내 칭찬을 하셨다고 들었다. 뿐만 아니라 다른 팀의 팀장님도 내 칭찬을 많이 해주셨다는 것을 듣고 더 열심히 해야겠다는 생각이 들었다. 뭔가 칭찬에 비해 아직 실력이 부족한 느낌이랄까. 잘하자...

 

4-2 코드 실수

작년초에 서비스 리메이크를 하면서 실수한 부분을 사수2가 발견했다. 데이터의 id값을 3개의 규칙을 조합해서 넣어야 하는데 나는 2개의 규칙만 조합해서 넣은 것이다. 해당 테이블의 데이터만 다시 쌓는 작업이 최소 한달 이상 걸리는 작업이라 지금 당장으로는 해결책이 없다는 것이 가장 큰 문제였다. 이로 인해 사수2가 기존에 짰던 코드를 전반적으로 다시 수정하는 대참사가 발생했다. 쿼리도 다시 짜고 설계도 새로했다. 실수한 부분이 현재 운영중인 서비스에 영향을 주는 것도 아니고 앞으로도 손을 대지 않는다면 문제를 발생시킬 일은 없다. 하지만 초기 설계 의도와 달리 잘못 구현되었고 당장 해결을 못한다는 부분에서 속상하고 사수2에게 미안했다. 다음부턴 이런 부분에 대해서 신경을 더 쓰도록 해야겠다는 다짐을 했다.

 

 

5. 다음 분기 목표

첫번째 목표는 k8s 강의를 마저 다 듣는 것이다. 처음엔 재밌었는데 뒤로갈수록 집중력이 떨어져서 그런지 진행 속도가 많이 더디다. 지금까지 공부한 얕은 지식만으로도 업무에 있어 자잘한 이슈 트래킹을 하는데 도움이 되고 있고,  백앤드 개발자로서 갖춰야 할 교양 과목이라고 생각되어 유종의 미를 거둘 계획이다.

 

두번째 목표는 클린코드, 디자인패턴, 리팩토링, 클린 아키택쳐 중 한가지를 정해서 공부하는 것이다. 아마 개발자들 사이에서 유명하다고 하는 책들중에 골라서 읽을 것 같다.

 

세번째 목표는 DB 관련 공부를 하는 것인데 구체적으로 어떻게 공부할지, 어떤 것을 공부할지 생각해둔 것이 없다.

 

6. 마무리

벌써 햇수로 3년차 개발자가 되었다. 21년에 서버 개발자로 처음 입사했을때가 엊그제 같은데 내가 벌써 3년차라니... 늦은 감이 있지만 올해부터라도 꾸준히 공부해야겠다. 갈길이 멀다.

'생각정리' 카테고리의 다른 글

3년차 개발자 2023년 4분기 회고  (1) 2024.01.07
3년차 개발자 2023년 3분기 회고  (0) 2023.10.08
3년차 개발자 2023년 2분기 회고  (0) 2023.07.09