Home 3개월 간의 수습기간을 돌아보며
Post
Cancel

3개월 간의 수습기간을 돌아보며

글을 작성하게 된 계기


2025년 1월 13일 현 회사에 입사했고, 10주 차 면담에서 부서 장님으로 부터 수습 통과 를 받았습니다. 3개월 간의 수습기간을 돌아보며 어떤 일을 했는지, 어떤 평가를 받았는지, 배운 점 은 무엇인지, 앞으로의 계획 은 어떻게 될 지를 정리하기 위해 글을 작성하게 되었습니다.

너무 바빠서 한 달 전에 작성한 글을 이제서야 올리게 됐습니다. 😵‍💫





1. 수습기간 동안 무엇을 했나?


수습 기간 동안 제가 했던 일은 GitLab 도입, 레거시 프로젝트 개편, 테스트 코드 작성 및 전파, 코드 리뷰 문화 도입 입니다. 2달 반, 짧은 기간 이다보니, 모든 것을 끝내진 못했는데요, 그래도 돌아보니 꽤 많은 것들을 한 것 같네요. 어떤 것들을 했는지 하나씩 살펴보겠습니다.

  1. GitLab 도입
  2. 레거시 프로젝트 개편
  3. 테스트 코드 작성 및 코드 리뷰 문화 도입




1-1. GitLab 도입

회사에 온 후, 가장 먼저 한 일은 GitLab을 도입한 것입니다. 현 회사에서는 수 십년 간 svn을 이용해 형상관리를 하고 있었는데요, 그러다보니 형상 관리가 잘 안되거나 협업할 때, 생산성이 아쉬운 부분이 많았습니다. 각자가 로컬에 가진 코드가 다르니 코드를 조금만 수정해도 충돌이 발생하고, 설사 이를 해결하더라도 또 장애가 나곤 했습니다.😞 여튼, 이런 문제를 개선하기 위해 GitLab을 구축 및 도입했습니다.

GitLab 도입에 대한 상세한 내용은 별도 포스팅으로 작성하겠습니다.



형상관리 툴은 모든 개발자가 사용 하고 한 번 도입하면 바꾸기가 쉽지 않기 때문 에, 장애 대비, 데이터 저장/백업/이관 등 정말 많은 점들을 고려 했습니다. 이를 위해 개인 AWS 계정에서 백업/복구 테스트하다가 과금 175만원 이 나와 AWS에 문의한 것은 안 비밀입니다.




여튼, GitLab을 도입한 후, 많은 분들로 부터 너무 편해졌다, 생산성이 올라갔다, 고맙다 는 말을 들었는데요, 이때 정말 기분 좋았습니다. 이는 Croft와 함께 진행했는데, Croft가 없었다면 svn을 절대 혼자 분리 못 했을 겁니다. 👍

image

2025년도에 회사에서 Git 쓴다고 이렇게 기뻐할 줄 누가 알았겠는가……





1-2. 레거시 프로젝트 개편

두 번째로 한 일은 자바, 서블릿 기반의 프로젝트스프링부트 + Jpa/QueryDsl 기반의 프로젝트로 마이그레이션 하는 일 입니다. 해당 프로젝트는 15년 전 만들어진 회사의 메인 시스템이자, 순수 자바 코드와 수 백, 수 천 라인의 jsp와 쿼리 들로 구성 돼 있습니다. 코드 파악도 힘들고, 조금만 잘못 수정해도 결합도가 높아 일부 시스템이 마비 됩니다. 또한 하나의 프로젝트가 여러 프로젝트와 연관된 경우도 많고요.

레거시 프로젝트 개편과 과정에 대해서는 별도의 포스팅을 작성할 예정입니다.




이를 해결하기 위해 멀티 모듈을 구성 해 연관된 프로젝트를 모으고, 기존 API들을 스프링부트로 마이그레이션 하고 있습니다. 팀원들에게 테스트 코드나 코드 리뷰를 전파하면서요. 스프링부트 버전을 2.x에서 3.x로 마이그레이션 하는 경우는 많이 봤지만, 순수 자바 코드를 스프링부트로 마이그레이션 하게 될 줄은 상상도 못했는데요, 아마도 긴 여정 이 될 것 같습니다.

image

주위에서 레거시만 만지게 될 거라고 걱정해주셨는데, 개인적으론 오히려 좋아 입니다.





1-3. 테스트 코드 작성 및 코드 리뷰 문화 도입

마지막으로 레거시 프로젝트를 개편하면서 테스트 코드를 작성하고 코드 리뷰 문화를 전파 했습니다. 동작하고 있는 기존 시스템을 개편하는 것은 정말 어려운데요, 특히 돈에 관련된 시스템이라면요. 사소한 칼럼 하나의 변경이 수 억 원의 손실을 가져올 수 있죠. 따라서 테스트 코드 작성은 선택이 아닌 필수 였는데, 이를 작성하며 동료들에게 테스트를 어떻게 작성해야 하는지, 어떤 테스트가 좋은 테스트인지에 대해 설명드렸습니다.

테스트 코드 작성은 팀 단위로 이루어져야 하기 때문에 추후 공개적으로 발표를 할 예정입니다.





이 외에도 영중소 프로젝트를 하며 다양한 작업들을 했는데요, 아직 정리가 덜 된 부분이 참 많네요. 3개월 이라는 짧은 기간 동안 재미있게, 빨리 적응했고, 생각보다 개발적인 면에서는 꽤 많은 기여를 한 것 같습니다. 아직 비즈니스적인 임팩트는 없는데, 이 부분은 시간이 지나면 자연스레 나아지겠죠.







2. 평가


평가는 부서장 님과 동료들로 부터 받았습니다. 부서장님께 긍정적인 점보완할 점 에 대해 들었으며, 추가로 팀 동료들로 부터 직접적인 이야기도 들을 수 있었습니다. 저희 팀은 꽤 솔직한 편인데, 이런 부분에서 많은 피드백을 얻을 수 있어 좋았습니다.

  1. 긍정적인 피드백
  2. 보완할 점



2-1. 긍정적 피드백

긍정적인 피드백을 받은 부분은 팀 분위기를 밝게 만든다, 기술적으로 팀에 기여한다, 일에 대한 열정이 있다 라는 점입니다.

  1. 팀 분위기를 밝게 만든다.
  2. 기술적으로 팀에 기여한다.
  3. 일에 대한 열정이 있다.



회사에서 가장 많이 들었던 말은 다음과 같습니다. 회사에서 꽤 시끄럽게 지낸 것 같은데요, 원래도 사람들과 이야기하는 것을 좋아하기 때문입니다. 물론 마냥 시끄럽기만 한 것은 아닌데, 개발자들끼리 모여있다보니 기술 이야기 를 정말 많이 했습니다. 덕분에 원래 조용하던 팀에 대화가 많아졌고, 팀 분위기가 밝아졌다는 이야기를 들을 수 있었네요.

  • 팀에 대화가 많아지고 밝아졌다.
  • 최근 몇 년간 보다 Junu가 온 몇 개월 사이에 회사가 기술적으로 더 많이 변했다.
  • 팀원들이 편하게 개발할 수 있도록 끊임없이 고민하고, 개인 시간까지 희생하며 노력한다.




또한 현 회사는 핀테크 도메인 으로 을 다루고 있어 새로운 기술이나 시도를 하기가 굉장히 조심스러운 상황 입니다. 잘 돌아가던 결제/정산 시스템에 장애가 나면 안되니까요. 따라서 한 번에 새로운 것들을 도입하진 못 했는데요, 형상 관리 테스트 코드, 코드 컨벤션 자동화, 코드 리뷰 문화 도입, 로그 시각화 등 작지만 체감하기 쉬운 부분부터 변화를 주기 시작했습니다. 그 결과 팀원들이 빠르게 만족감을 느끼며 변화에 적극 동참해주셨고, 덕분에 좋은 평가를 받을 수 있었던 것 같습니다.

GitLab(형상 관리) -> 레거시 프로젝트 구조화 -> 코드 리뷰 문화 전파 -> 테스트 코드 작성 전파




마지막으로 개발환경 개선, 코드 리뷰 문화 도입 등 개인 시간을 희생해서라도 팀원들이 편하게 개발할 수 있도록 노력한다 는 이야기를 들었습니다. 이는 회사에서 보내는 시간을 의미있게 만들고, 모두가 성장할 수 있는 환경에 놓이길 바래서 인데요, 우리는 최소 8시간, 하루 1/3 이상을 회사에서 보냅니다. 그런데 레거시 코드를 고치기 급급하고, 좋은 코드나 설계에 대해 토론할 기회 조차 없다면 출근 하기가 싫을 것 같았습니다. 회사 일은 힘들어도 개발은 재미있어야 한다고 생각해서요. 없으면 내가 만들고 도입하자 일은 힘들어도 개발은 재미있게 하자 라는 마음에서 출발한 일이 였는데, 팀원들이 좋게 봐주셔서 너무 감사했습니다.

  • 없으면 개발자가 대우받을 수 있는 환경을 내가 만든다.
  • 일은 힘들어도 개발은 재미있어야 한다.





2-2. 보완할 점

반면 보완할 점으로는 다음과 같은 이야기를 들었습니다. 아무래도 두 달 간은 인프라개발 환경 개선 업무를 맡다 보니 실제 코드를 잡은 기간은 한 달이 채 되지 않았고, 비즈니스적인 기여도는 적었습니다. PG사의 도메인은 정말 큰데, 이런 부분에서 조금 아쉬웠죠. 물론 이것도 변명이라고 생각하는데요, 앞으로는 조금 더 비즈니스적인 부분에 중점을 둘 예정입니다.

  1. 기술적으로 는 많은 부분에 기여했지만 아직 비즈니스 임팩트는 없다.
  2. 건강을 해치면서 일을 한다.
  3. 가끔 너무 밝다.



추가로 일이 재밌어서 주말에도 계속 출근을 했는데, 이게 남이 봤을 때는 장기적 관점에서 건강을 해칠 수 있다 고 보였던 것 같습니다. 몇 년을 이렇게 개발하다보니 저한테는 너무 당연했는데, 건강도 조금은 유의해야 겠다는 생각이 들었습니다. 이제 마냥 어린 나인는 아니니까요. 마지막으로 가끔은 너무 밝아서 부담이 될 수도 있다 는 이야기도 들었는데요, 이 말을 듣고 팀장님이 떠올랐습니다.

최근 팀장님을 마주칠 때마다 손으로 하트를 그렸거든요…… 여튼, 이건 자중하겠습니다. 😅



전반적으로 좋은 평가가 많아서 3개월 간, 열심히, 재미있게 회사생활을 했구나 싶었습니다. 비슷한 시기에 입사한 많은 분들이 줄줄이 수습 연장이 되는 것을 보고 속으로 내심 불안도 했는데, 한 번에 무사히 통과할 수 있어 기쁘기도 하고, 또 한편으론 미안하기도 했습니다. 자세히 적을 순 없지만, 회사는 현재 변화의 소용돌이 속에 있고, 굉장히 복잡한 상태인데요, 이 시기가 얼른 지나서 모두가 안정을 찾았으면 합니다.







3. 배운 점


짧은 기간동안 회사일을 하면서 배운 점은 긍정적인 사고의 중요성, 남말 하지 말자, 일은 함께 하는 것이다, 적응하기 까지는 절대적 시간이 필요하다 입니다.

  1. 긍정적 사고의 중요성
  2. 현재 시스템을 존중하자
  3. 부정적인 말/남말 하지 말자
  4. 일은 함께 하는 것이다



3-1. 긍정적 사고의 중요성

가장 크게 배운 점은 긍정적 사고의 중요성 입니다. 회사 일이 내 마음대로 풀리는 것은 거의 없었던 것 같은데요, 대부분이 어렵고 마음대로 안되는 것들 이며, 어떤 일을 진행하기 위해서는 누군가를 설득 해야 하기 때문입니다. 그런데 이런 일을 맡았을 때 조차도 웃으면서 하나씩 해 나가면, 주변 사람들도 긍정적으로 바라보게 되고, 일이 잘 풀리게 된다 는 것을 느꼈습니다.

image




이를 특히 레거시 프로젝트를 마이그레이션 하는 과정에서 정말 많이 느꼈는데요, 수 만 라인의 코드를 옮기고, 프로젝트 구조를 잡을 때 정말 힘들었습니다. 주말에 개인 시간까지 써서 마이그레이션을 진행했는데요, 종종 이게 맞나? 라는 생각이 들 때가 많았습니다. 그냥 포기해버릴까? 하는 생각도 많이 했고요. 그래도 아무말 없이 계속 진행했는데, 주말이 지난 후, 팀원들이 편하게 개발하는 것을 볼 때 속으로 너무 뿌듯했습니다. 아무리 힘들어도 소소한 행복을 찾으며 긍정적인 사고 를 잃지 않는 것이 얼마나 중요한지 배웠습니다.

이는 회사 시스템에 대해 부정적인 말을 하시는 분들을 보고 더 오기가 생겼던 것도 한 몫했네요.




3-2. 현재 시스템을 존중하자

두 번째로 배운 점은 현재 시스템을 존중하자 입니다. 회사 대부분의 프로젝트는 정말 오래된 레거시 덩어리 입니다. 스프링으로 구성된 프로젝트보다 순수 자바/서블릿으로 구성된 프로젝트가 훨씬 더 많은데요, 그래도 현 시스템은 잘 동작 하고 있고, 이는 우리 월급을 주고 있는 코드 입니다. 이 코드가 없었다면 회사가 존재할 수 없고, 그 당시에는 회사 존립을 위해 최선의 선택 이었을 테니까요. 당시에는 서비스가 이렇게 커질 줄 몰랐겠죠.

I did then what I knew how to do. Now that I know better, I do better.



물론 현재는 너무 많은 장애가 발생 하기 때문에 최선은 아니라고 생각합니다. 작은 기능, 아니, 코드 한 줄만 잘못 수정해도 시스템이 마비되니까요. 앞으로 이를 개선할 예정이지만, 그래도 이전 시스템을 존중 하고, 새로운 시스템과 공존 하며 천천히 리팩토링 할 예정입니다. 최근 레거시 시스템에 대한 좋은 포스팅을 읽었는데, 현 시스템에 대한 불만이 생길 때마다 주기적으로 읽고 끓어오르는 분을 삵힐 예정입니다. 😃




3-3. 부정적인 말/남말 하지 말자

두 번째로 배운 점은 부정적인 말/남 말하지 말자 입니다. 회사에서 부정적인 이야기남의 이야기나 평가를 쉽게 하는 분들 을 종종 볼 수 있는데요, 이런 말을 들으면 사람에 대한 편견, 부정적인 감정 이 생기고 힘이 빠지며, 쓸데없는 생각이 듭니다. 지금은 일 잘하는 것, 동료들이 조금 더 좋은 환경에서 개발하는 것, 기술적 성장 외에는 별로 신경 쓰고 싶지 않은데, 더 이상 저런 말에 소중한 시간을 허비하고 싶지 않습니다.

정작 이런 말을 하는 사람들은 대체로 욕만 하지 현재 상황을 개선할 능력도, 의지도 없는 경우가 많았습니다.



회사에는 묵묵히 본인할 일을 하며 기여 하고, 주변에 긍정적인 영향을 주는 분들 이 많이 계시는데, 앞으로는 이런 분들과 대화를 하며 어떻게 하면 내가 가진 기술로 팀과 회사에 하나라도 더 기여 할 수 있을까? 에 대해 조금 더 고민해봐야 겠습니다.

Croft, Steve, Leslie, Jay, Robbin, Tony, Edgar 등 너무 좋은 분들이 많습니다.




3-4. 일은 함께 하는 것이다

마지막으로 배운 점은 일은 함께 하는 것이다 입니다. 개발 환경 개선, 현재 업무 파악 등은 절대 혼자서는 할 수 없었는데요, 기존 문맥을 몰랐더라면, 다른 팀원들의 도움이 없었다면 절대 진행 할 수 없었을 일입니다. 또한 처음에는 조급함 을 가지고 한 번에 많은 작업을, 빠른 시간 내에 진행 하려고 했는데, 그러다보니 부담감 이 너무 심했습니다. 이는 Croft가 한 번에 많은 작업을 진행하기 보단, 하나씩 차근차근 진행하자 는 말을 해줘서 많이 완화됐는데, 그 후, 제가 혼자 하기 힘든 일은 솔직하게 말하고, 그 부분에서는 도움을 청했습니다.

물론 부탁을 하기 전, 최대한 혼자 해보고, 정말 안되는 부분에서 도움을 요청하려 합니다. 도메인적인 것 빼고.



일을 이렇게 진행하니 힘도 덜 들이고 훨씬 더 효율을 낼 수 있었고, 같은 시간 동안 더 많은 작업을 할 수 있었습니다. 현재는 코드 컨벤션을 통일하고, Git Flow를 더 탄탄하게 잡아가고 있는데요, 사소한 부분부터 같이 나가면서 하나씩 맞춰가는 연습을 더 해봐야 겠습니다.

  • 코드 컨벤션 통일
  • Git Flow 정리
  • 테스트 코드 문화 도입







4. 앞으로의 계획


앞으로의 계획은 현재 진행 중인 영중소 프로젝트 를 무사히 완료하고 정산 시스템을 개편 하는 것입니다. 제가 들었던 보완해야 할 점을 채우며, 현재의 레거시 시스템도 개편하면서요. 정말 솔직하게 주어진 업무에 충실하고, 팀 동료들이 편하게 개발할 수 있게 하는 것 외에 별다른 계획은 없는데요, 회사와 팀이 가진 여러 가지 문제들을 해결해 주고 싶습니다.

업무를 하다 욕심 나는 부분이 있다면 적극 어필하겠지만, 현재 업무들도 꽤 무겁기 때문에 여기에 집중하고 싶습니다.







5. 정리


짧은 수습기간 이지만 많은 것들을 배우고 느꼈습니다. 팀원들이 없었다면 절대 혼자서는 못했을 일이라 생각하는데요, 이제 진짜 본 시작이라고 생각합니다. 하나씩 작은 목표를 세우고 달성하며, 성장하는 개발자가 되도록 하겠습니다.


This post is licensed under CC BY 4.0 by the author.

일급 컬렉션은 도메인적으로 어떤 의미를 가질까?

Statement와 Expression