본문 바로가기
  • 개발하는 곰돌이
잡담

[회고록] 입사 1년차 돌아보기

by 개발하는 곰돌이 2023. 9. 22.

목차

    어느새 입사한 지 1년이 지났다. 뭔가 정신없이 시간이 지난 것 같은데 그동안 무슨 일이 있었는지는 정리해 두는게 좋을 것 같아서 회고록을 써보려고 한다.

    회사 생활

    입사 후 가장 처음 맡은 프로젝트는 회사에서 제공하는 다양한 서비스 이용 내역을 하나로 모아서 확인할 수 있는 통합 정산 시스템 개발이었다.

     

    기존에는 사측에서 B2B로 제공하는 서비스마다 별도의 관리 페이지가 있어서 회계팀이 각 서비스의 관리 페이지에서 이용내역을 확인하고 직접 메일을 작성하여 이용기관에 청구 메일을 발송하는 불편함이 있었다.

    이렇게 분산된 서비스 정산을 하나로 합쳐서 사내에서도 편리하게 정산과 이용 내역에 따라 자동으로 작성된 메일로 요금 청구를 진행하고, 이용기관에서도 자신들이 이용하는 서비스의 이용 내역을 한 번에 확인할 수 있도록 하자는 취지에서 시작된 프로젝트였다.

     

    가장 큰 난관은 프로젝트의 메인 주제이기도 했던 '서로 다른 서비스들을 어떻게 하나의 공통된 형태로 통합하는가?' 였던것 같다. 어떤 서비스는 하나의 서비스만 있지만 또 다른 서비스는 그 내부에 여러 세부 서비스로 나눠져있다 보니 이 부분을 어떻게 처리할지 고민을 많이 했다. 로직 자체는 각 서비스의 API를 호출해서 받은 응답값을 적절하게 가공하여 CRUD하는 간단한 내용이었지만 이 '적절하게 가공'하는 것에 어려움을 느꼈다.

    여러 우여곡절이 있었지만 프로젝트는 어찌어찌 마무리 됐고, 새로운 것들을 배우면서 도입해보는 좋은 계기가 됐다고 생각한다. 서로 다른 서비스들을 하나로 통합한다는 것이 얼마나 어려운 일인지 알게 되었고, 프로젝트를 진행하면서 배운 다양한 기술이나 코딩 스타일도 많은 도움이 됐다.

     

    사내 업무 방식을 조금 개선시킨 것도 있다. 처음 입사하고 운영중인 시스템의 코드를 봤을 때 운영 환경과 테스트 환경의 구분을 코드 내에서 주석 처리를 바꿔가면서 하고 있었다. 그것을 보자마자 굉장히 번거로워 보였을 뿐만 아니라 실수로 운영 서버에 테스트 빌드를 배포하거나 테스트 서버에 운영 빌드를 배포할 수도 있어서 위험할 것 같다는 생각이 들었다. 실제로 운영 서버에 테스트 빌드를 배포해서 사고가 터진 사례도 있었다.

    [Spring Boot] 다중 Profile을 이용하여 환경에 따라 다른 설정 적용하기

    이 문제점을 개선해보고자 해서 관련 내용을 찾아보고 작성한 글이 위 링크의 글이었다. 이 글을 작성하고 사내에 공유하여 현재는 휴먼 에러를 야기할 수 있는 기존 방식을 완전히 제거하게 되었다.

    자기 계발

    입사한 이후에 본격적으로 공부를 시작하게 됐다.

     

    입사하기 이전에는 공부를 잘 하지 않았다. 뭐부터 공부해야 할지 몰라서 적극적으로 하지 공부를 하지 않았던 것 같다.

     

    코틀린을 공부하게 된 것도 입사 이후였다.

    사실 사내에서는 코틀린을 전혀 사용하지 않고 자바만 사용하고 있다. 그럼에도 불구하고 코틀린을 공부하게 된 계기는 대학시절 졸업 프로젝트로 안드로이드 앱 개발을 하면서 코틀린의 존재를 알게 되었고, 입사 후에 본격적으로 자바로 개발을 하면서 문득 코틀린이 자바와 100% 호환이 된다는 말이 생각난 것이었다.

    계기는 비록 지극히 개인적인 이유였지만 코틀린의 간결한 문법이 재밌기도 하고, 국내에서 코틀린을 사용하는 기업이 늘어나는 추세다 보니 언젠간 본격적으로 사용할 일이 있지 않을까 싶기도 해서 계속 붙잡게 되는 것 같다.

     

    스프링과 관련된 공부는 필요에 의해서 시작한 느낌이 좀 강하다.

    정확히는 각잡고 공부를 했다기보단 프로젝트를 제대로 진행하기 위해 그때그때 필요한 부분을 찾아보는 경우가 대부분이었다. 당장 찾아보면서 적용하기엔 내용이 방대하고 어려웠던 부분은 일단 다른 분의 도움을 받아서 일단 구현해 놓고 시간 날 때 좀 더 알아보려고 한 편이었다. 물론 그중에서도 귀찮다고 미루다가 그대로 잊혀진 것도 많지만...

     

    스터디도 몇 번 참가했다. 비록 사내 스터디였지만 예전에 스스로 찾기는 커녕 이런 식으로 눈앞의 스터디도 잘 하지 않았던 것에 비하면 그래도 나름 발전하진 않았나 싶다.

    다음은 참가한 스터디 목록이다.

    • 면접을 위한 CS 전공지식 노트
    • 클린코드
    • 이펙티브 자바
    • 객체지향의 사실과 오해
    • 도메인 주도 개발 시작하기

    첫번째 스터디는 전공 내용을 배운 지 워낙 오래되어서 다시 복기하고자 하는 마음가짐으로 가볍게 시작했다. 그 뒤로는 어느 정도 업무에 도움이 되면 좋을 방향으로 주제를 선정하되, 기술 스택에 대한 내용은 업무적인 느낌이 들 것 같아서 기술 스택과 관련된 주제보단 좀 테크니컬한(?) 주제가 선정되었다.

    스터디에서 공부한 내용은 코딩 스타일에 많은 영향을 끼쳤다고 생각한다. 전체적으로 코드가 깔끔해지고 메소드를 작성할 때도 재사용성 등을 염두에 두고 최대한 중복을 줄일 수 있는 코드를 짜게 된 것 같다. 뭔가 혼자만의 착각일 수도 있겠지만 ㅋㅋ;

    그 외에도 매일 백준 문제 최소 1개 풀기와 깃허브 잔디 심기 같은 루틴도 생겼다. 한번씩 귀찮을 땐 숙제를 하는 느낌이 들기도 하지만, 그렇다고 한번 하지 않으면 이 핑계 저 핑계를 대면서 계속하지 않을 것 같아서 귀찮거나 시간이 없을 때는 간단한 브론즈 문제라도 푸는 편이다.

    그 외 이것저것

    그 외에 가장 긍정적인 변화는 입사하고 1~2달 쯤 지나서 약 8년 동안 계속 바꿔가면서 해오던 폰게임을 완전히 접은 것이다.

     

    옛날에는 폰게임에 많이 매달려 살았다. 평소에 게임을 좋아하기도 해서 과금도 굉장히 열심히 했고, 소위 말하는 숙제를 빼먹으면 손해 보는 느낌이어서 거의 끼고 살았다. 그러다가 랭킹을 올리기 위해 쓰던 돈보다 현재 랭킹을 유지하기 위해 쓰는 돈이 훨씬 많아지고, 그게 계속 이어지면서 "고작 이게 뭐라고 돈을 이렇게 쓰지?" 싶은 생각이 들면서 점점 접속 시간이 줄어들다가 아예 접게 되었다. 처음에는 이걸 어떻게 접나 싶던 것도 막상 며칠 접속을 안 하게 되니까 오히려 더 접속하기 싫어져서 자연스럽게 접을 수 있었다.

     

    PC 온라인 게임들도 대부분 접었다. 이것도 마찬가지로 매일 똑같은 숙제만 반복하면서 의구심이 들다가 접게 된 느낌이다.

     

    그 대신 패키지 게임 위주로 노선을 바꿨다. 확실히 패키지 게임들이 폰게임에 비해 퀄리티도 좋으면서 밑 빠진 독에 물 붓는 것 마냥 돈이 줄줄 새지도 않고 괜한 의무감도 없어서 더 좋은 것 같다. 최근에 스위치를 산 것도 그 일환이다.

    사실 콘솔 게임이 처음이다 보니 잘 맞을까 걱정했지만 불필요한 걱정이었다. 야숨부터 빡세게 달리고 있는데 할 만큼 다 하고 나면 마딧세이로 조금 텀을 주고 왕눈을 다시 달릴 것 같다 ㅋㅋㅋㅋ.

     

    컴퓨터 주변기기에 대한 관심도 좀 생겼다. 예전에는 마우스와 키보드는 그냥 대충 잔고장 없이 작동만 하면 된다는 생각으로 썼는데 어느새 10만원이 넘어가는 키보드와 마우스만 쓰고 있다 ㅋㅋ; 확실히 비싼 제품들이 비싼 값은 하는 것 같다.

    아쉬웠던 점

    매번 그렇지만 시작할 때는 야무지게 시작했다가 중간에 흐지부지하는 경우도 당연히 있었다. 인프런 강의를 잔뜩 사놓고 초반엔 열심히 듣다가 몇달 지나서 일이 바쁘다는 핑계로 뒷전으로 미룬 경우가 매우 많았다. 사놓고 시작도 안 한 강의도 엄청 많다.😥

    텅텅 비어있는 인프런 수강 대시보드

    시간이 지날수록 게을러진다고 느껴져서 반성하고 마음을 다잡아야 할 것 같다. 밀린 인프런 강의도 계속 듣고 나중에 공부하려고 미뤄놨던 주제들도 공부할게 많다.

    다만 한번에 너무 많이 하면 오히려 그 반동으로 더 하기 싫어질 것 같다. 1일 1 백준 풀기나 깃허브 잔디심기처럼 매일 조금씩이지만 꾸준히 진행할 수 있는 루틴으로 만드는게 바람직하지 않을까 싶다.

    앞으로의 계획?

    그동안 미뤄둔 인프런 강의를 꾸준히 들으면서 그동안 생각만 하고 진행하지 않았던 업무 외의 사이드 프로젝트를 해보고 싶다. 사내에서 공식적으로 사용하는 언어가 자바이다 보니 아무래도 코틀린을 사용하기엔 무리가 있어서 코틀린으로 실제 운영 서비스를 개발해보고 싶은 마음이 크다.

     

    비효율적인 사내 업무 방식을 좀 더 효율적으로 개선할 수 있는 방향을 찾아서 개선하고 싶기도 하다. 아직 주니어 레벨이라 경험이 부족하긴 하지만 명백하게 비효율적인 것들은 개선해서 모두가 좋은 방향으로 갈 수 있다면 더할 나위 없이 좋을 것 같다.

     

    뭔가 별일 없었던 것 같으면서도 많은 일이 있었던 1년이었다. 아직 갈 길이 멀지만 열심히 해봐야겠다!

    댓글