새소식

Welcome to the tech blog of Junior Backend Developer Myoungji Kim!

Memo

[회고] 2023을 마무리하며

  • -

🐳 들어가기 전

2023.01.01.~2023.12.31.

인생 처음으로, 한 해를 개발자로서의 추억으로 가득 채웠다.

 

2022년을 마무리하는 순간에는 눈 앞의 모든 일들이 낯설었고, 어려웠기에

2023년에는 이런 감정을 잘 추스릴 수 있었으면 좋겠다고 생각했는데

벌써 1년이 지나버린 지금 이 순간, 나는 생각보다 많이 성장한 것 같다.

 

개발자를 시작한지 1년 5개월 차,

2023년의 개발자로서의 김명지는 어땠는지 연말을 맞이해 한번 정리해보고자 한다 :)


 

✅ 커머스 솔루션 유지보수

라이브 중인 서비스를 담당하는 개발자에게 결함 관련 문의 대응 및 유지보수는 필수 업무다.

연간 약 50개의 업무를 처리하였으며, 서비스 품질 유지를 위한 개선 작업에 꾸준히 신경을 썼다.

 

아쉬운 점이 있다면, 오랜 시간 투자하고 있는 업무들의 배포 일정이 2024년으로 미루어졌다는 것이다.

배송 및 쿠폰 관련 기능 성능 개선, DB 접속 정보 관리 프로세스 개선 등 

큰 성과로 기록을 남겨야지 하고 다짐했던 업무들이 있었지만, 플로우 및 우선순위 변경 등의 이슈로 업무 처리가 딜레이 되었다.

 

더불어 중간중간 다른 프로젝트에 투입되면서 유지보수보다는 타 프로젝트에서 경험했던 일이 더 많은 2023년이 되었달까.

2024년에는 유지보수 및 성능 개선을 통해 배운 점들도 다양하게 적을 수 있도록 노력해야겠다.

 

✅ 서비스 자동 QA 프로세스 구축

 

🔗 사내 E2E 테스트 도입 경험기 #1 - 도입 배경

🔗 사내 E2E 테스트 도입 경험기 #2 - Playwright로 E2E 테스트 개발하기

🔗 사내 E2E 테스트 도입 경험기 #3 - 배포 프로세스에 E2E 테스트 추가하기

 

서비스 베타 배포 후, 자동 QA 진행 및 결과를 안내 받을 수 있는 프로세스를 구축했다.

 

E2E 자동 QA 도입 후 변경된 업무 프로세스

커머스 솔루션 기능이 많은 만큼 배포가 있을 때마다 기본 기능에 대한 QA를 기획팀에서 수동으로 진행해왔다.

이에 기본 기능에 대한 QA를 자동화했고, 불필요한 업무 시간을 단축시켰다.

 

뿐만 아니라 간단한 QA 결함 건은 기획팀과의 소통 없이도

개발팀 내에서 즉각적으로 결함을 발견하여 대응할 수 있는 프로세스로 변경되었다.

 

자동 QA 서비스 배포 및 실행 Flow

올해 4월에 정리한 최종 Flow

본 프로젝트는 혼자서 진행했기 때문에, 이 Flow를 완성하기까지 정말 많이 고민하고 여러 차례 갈아 엎었던 기억이 난다.

그 결과, 지금은 구축된 프로세스에 따라 배포 시마다 E2E 테스트가 함께 실행되고 있다 :)

 

아무래도 E2E는 서비스 최적화와 유지보수에 비해서는 우선순위가 낮았기 때문에 급한 이슈를 대응하다보면 자동QA 서비스 구축은 하염없이 지체되곤 했다. 본 Task의 담당자가 나 혼자였던 탓일까, 내가 손을 놓는 순간 자동 QA 구축은 영원히 멈춰버릴 것 같아 회사에서는 급한 유지보수를 대응하고 집에서 따로 시간을 내어 계속 자동 QA에 집중했던 기억이 있다. 2023년에 환경 구축까지 완료했으니, 2024년에는 더 많은 TC가 개발되어 E2E가 톡톡히 빛을 볼 수 있도록 노력해야지 !

 

✅ 서비스 배포 프로세스 개선

젠킨스 UI 개선: 직관적으로!

 

우리 서비스가 사용하고 있는 CI/CD 툴은 젠킨스다.

소스 배포가 필요할 경우, 젠킨스 파이프라인 빌드를 통해 처리를 했는데 인수인계를 받으면서 생각보다 개선점들이 많이 보였다.

 

내가 속한 개발 파트에서는 2-3달 주기로 배포 담당자를 번갈아가며 담당하는데, 인수인계를 받을 때 가장 힘들었던 점이 배포 방식에 대한 물음표를 던졌을 때 '원래 이렇게 인수인계가 되어 왔어서.. 가이드대로 하시면 돼요!' 라는 답변이 돌아오는 것이었다. 예를 들면, UI에 보이는 옵션명은 'CHECKOUT'이지만 실제 동작은 우리가 흔히 아는 git checkout이 아닌 특정 커밋이 추가되는 등 완전 다르게 돌아가는 것들이 있었다. 이로 인해, 인수인계를 받으면서 머릿 속에서 정리가 되지 않아 어려움이 컸고 배포 단계에서 나로 인한 휴면 에러도 몇차례 있었다. 결국 나는 '내가 계속 헷갈려서 실수할 바에, 차라리 직접 개선하자' 라는 다짐을 했다. 

 

1. 화면에 무의미하게 노출된 미사용 파라미터 값 제거

2. 실제 액션과 UI 텍스트가 상이하지 않도록 변경

3. 필수 옵션값을 항상 수기로 입력해야 하는 불편함 개선

 

이렇게 보면 간단한 3가지이지만, 지금까지 개선되지 않았던 건 기능 동작에는 문제가 없기도 했고.. 젠킨스 파이프라인을 groovy 스크립트로 관리하고 있었기에 러닝타임에 대한 거부감 때문이었을까? 라는 생각이 얼핏 들었다. 차츰차츰 개선해나가면서, 기존 관행에 안주하기보다는 가능하면 개선에 대한 의지를 항상 품을 수 있는 사람이 되어야겠다라는 다짐도 다시 한번 하게 되었다. 결과적으로 내가 개선한 뒤 헷갈리는 케이스도 더이상 발생하지 않았고, 다음 배포자는 다행히 내가 품었던 의문점을 느끼지 않았다..ㅎㅎ

 

그 외에도 테스트 상점 소스 배포 시 기존에는 직접 서버에 접근하여 브랜치를 변경하는 등의 작업이 있었는데, 젠킨스를 통해 원클릭 배포가 될 수 있도록 개선하고, 배포 정보에 대한 중앙화를 통해 배포자가 확인해야 하는 뎁스를 줄이는 등 부가적인 부분들을 개선하였다. 서비스에 대한 깊은 이야기가 나올 수 있어 자세한 내용은 생략한다 :)

 

✅ 고객사 게시판 데이터 이전

🔗 [DB] 게시판 데이터 마이그레이션 with Python

 

TF 팀에 투입되어 약 2-3달 간 데이터 이전 업무를 담당했다. 

업무를 하며 고민했던 내용들을 게시글로 미리 정리해두었는데, 생각의 폭을 넓힐 수 있었던 Task 였던 것 같다.

성과라고 한다면,, 데이터 이전 후 비정상적인 데이터로 인한 이슈가 없었다는 것? ㅎㅎ

 

✅ 코드 리뷰 문화 활성화

2023 내가 심은 잔디들

올해에 개발도 열심히 했지만, 코드 리뷰도 열심히 했다.

비즈니스 로직에서의 오류를 잡기 위한 노력과 더불어 클린 코드를 위한 리뷰도 하기 위해 많이 노력했고, 덕분에 올해 파트원들에게 '깃 보안관'이라는 별명을 얻기도 했다. 올해는 내가 공부하고 깨달은 좋은 코드, 파트원들과 나눈 좋은 코드에 대한 이야기를 PR에만 남겨두었는데 2024년에는 포스팅으로도 더 정리해보아야겠다..ㅎㅎ 2023 코드 리뷰를 하면서 배운 것은, 단순히 '내 생각'을 코멘트로 남기기보다는 가능한 참고할 수 있는 포스팅이나 공식 문서 링크를 함께 첨부하면 더 효과적인 리뷰를 할 수 있다는 점이었다. 그래서 올해 하반기에는 코드 리뷰를 위한 PSR 정독도 자연스럽게 많이 하게 되었다. 더 나은 코드를 만들기 위한 노력은 2024년에도 지속할 것이다!

 

✅ Git Flow 개선

AS-IS

Git Flow

TO-BE

Git Flow

 

Git 관련 파트 내 문화도 개선했다. 기존에는 큰 규칙 없이 단순히 merge commit을 만드는 방식이었지만, 깔끔한 커밋 관리 및 용이한 커밋 히스토리 확인을 위해 Git Flow를 다시 구성했다. 혼자서 개선을 하다보니, 이 당시에 정말 git에 대해 많은 공부와 고민을 할 수 있게 되었다.

뿐만 아니라, 커밋 메시지 네이밍 컨벤션도 함께 정하였는데 feature 브랜치에서 개발할 때는 (Type): (Title) 형식의 커밋 메시지를 통해, PR에서 개발자가 어떤 작업을 하였는지 파악하기 쉽도록 하였고, main 브랜치로 머지할 때는 squash and merge를 통해 커밋 메시지를 [#이슈번호] 주제 형식으로 고정하여 추후 히스토리 확인 시, 해당 이슈 번호를 통한 이슈 트래킹이 용이하도록 하였다. 더불어 머지 커밋을 생성하는 방식으로 머지했을 때는, 하나의 개발건에 대한 소스 diff를 확인하기 위해 모든 커밋을 확인했어야 했는데, 이제는 1개만 확인하면 되기 때문에 훨씬 관리가 쉬워졌다.

 

✅ 위키 작성 문화 활성화

개발과는 별개의 이야기이지만,

정리 덕후인 내 성향으로 인해..ㅎㅎ 팀 내에 긍정적인 영향을 끼친 부분 중 하나라고 생각했다!

 

1. 신규 입사자 온보딩 작성

내가 입사했을 당시에는 온보딩이 구두로 진행되었으며, 정리되지 않은 문서로 인해 여러 자료를 찾아가며 필요한 작업들을 해야했다. 이를 개선하기 위해 형식화된 문서 공유로 온보딩이 진행될 수 있도록 신규 입사자용 가이드를 작성했다. 가이드 변경 사항이 있을 경우 모두 문서로 관리할 수 있었기 때문에 확인 및 공유가 편리해졌다. 실제로 내가 작성한 가이드를 약 10명의 신규 입사자가 참고했고, 옆에서 따로 붙어서 안내해주지 않아도 다들 쉽게쉽게 필요한 사전 작업들을 완료할 수 있었다.

 

2. 서비스 개발 관련 가이드 작성

개발할 때, 서비스 히스토리 파악이 필요한 경우들이 있다. 이전까지는 히스토리가 필요할 때마다 관련 인원들끼리 메신저로 내용을 주고 받고 끝나는 듯 싶었다. 하지만 이런 방향으로 가게 될 경우, 히스토리 확인을 위해 시간도 오래 걸리고, 퇴사자만 알게 되는 정보가 생길 수 있기 때문에 메신저가 아닌 위키로 공유될 수 있도록 정리 및 파트원들에게 공유하는 분위기를 형성했다.

덕분에 지금은 공유하고자 하는 내용을 메신저 전달이 아닌, 위키 작성으로 하는 문화로 잘 자리 잡아가고 있다.

 

✅ 동료들이 보는 2023년도의 나

우리 회사는 하반기 리뷰에 '동료 평가'도 포함되어 있다.

다만 동료 평가는 '선택사항'이었기에, 동료 리뷰 수가 많을 수도 적을 수도 있다.

나는 총 8명의 동료에게 리뷰를 받았는데, 알고 보니 내가 상대적으로 리뷰를 많이 받은 편이었다.

- 늘 열심히 하는 모습에 같은 주니어, 입사동기로서 본받을 점이 많습니다. 
내년에도 잘 부탁드리겠습니다.

- 입사 초기 개발환경에 적응하는 기간에 많은 도움을 많이 받았습니다. 
본인 업무 외의 것들에도 팀을 위해 노력하는 모습을 칭찬하고 싶습니다.

- 파트원들의 pr을 본인의 업무처럼 세심하고 꼼꼼하게 확인해주시고, 
매사에 적극적인 모습에서 많은 시너지를 받고 있습니다.

- 할당된 업무도 많을텐데 주변 동료들이 이슈에 어려움을 겪을 때 도움이 되고자 하며 매사 열심히 합니다. 
PR이 올라오면 적극적으로 코드리뷰를 하여 주변사람에게도 그 열정이 전달되는 등 긍정적인 영향력을 펼칩니다.

- 신규 입사자 가이드를 비롯해 여러 가지 기술, 문화에 대한 공유와 성장에 대한 의지가 높아 보여요.

- 업무시간에 동료들의 질문으로 인한 부하가 심할 텐데 해결을 위해 매번 도움을 주십니다.

- 코드 리뷰에 적극 참여하고, 논쟁을 피하지 않고 팀이 건강한 방향으로 가게 하기 위해 노력하십니다. 
E2E 테스트 등 사람이 하는 일을 자동화하여 소요 시간과 실수를 줄이고 더 중요한 일에 시간을 써야 한다는 생각이 있으십니다.

- 갓 2년차가 된 사원으로 보이지 않을만큼 업무, 소통을 잘 하는 것 같습니다. 
개발업무 진행 전 자신이 맡은 업무에 대해 검토를 자세하고 확실히 하여 실제 개발에 들어갔을 경우 실수를 하지 않기 위해 노력 하는 것으로 보입니다. 
시간 외 업무를 많이 하는 것으로 보이는데 열정은 칭찬하지만 체력적으로 지칠 수도 있을 것 같아 조금 걱정 됩니다..

 

리뷰들을 보면서, 나 뿐만 아니라 팀을 건강하게 만들기 위해 노력해야겠다는 내 열정이 그동안 다른 사람들에게도 잘 보여졌구나 라는 생각이 들었다. 2024년도 좋은 사람들과 함께 건강한 방향으로 나아가야지 :)


고생했어 2023년의 나!

2024년도 잘 부탁해 🥳

 

 

Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.