2022년 회고-2

11 분 소요

이어서. 회고 글이 길어지는 게 나름 열심히 살았나 싶어 기분이 꽤나 좋다. 근데 언제 다 쓰지


3Q

팀장과 이직. 크고 작은 이벤트가 많았던 시기

초보 팀장

현충일 연휴를 보낸 뒤 출근을 했는데, 조직 개편 소식, 팀장님이 승진(?)하게 되었다는 소식과 함께, 후임 팀장으로 내정되었다는 이야기를 들었다. 원체 조직 개편과 인사 이동이 잦은 회사였지만, 그 대상이 내가 된다는 건 이야기가 좀 달랐다. 개발 경력도 별로 없고(사실 당시 회사가 원래 시니어급 개발자가 별로 없는 편이다. 연구소 조직 자체가 젊은 편이기도 하고.), 팀 내에서는 고참 축에 속했지만 팀을 옮긴지 얼마 되지도 않았으며, 심지어 전공자도 아닌데 팀장을 하는 것이 맞는지 혼란스러웠다.

당시 회사는 일반 사용자 뿐만 아니라 개발자 또한 코딩 없이 어플리케이션을 개발할 수 있는 생태계를 구축하고자 했다. 이런 전사적 방향 속에서 우리 본부는 커머스 도메인의 데이터 모델링을 담당해야 했다. 이렇게 개발을 지양하고 타 본부와의 협력을 통한 전사적인 데이터 설계가 중요해지는 상황이었기 때문에, 후임 팀장으로 내정된 나에게 요구되는 역할은 일반적인 IT 기업의 개발 팀장에게 요구되는 시스템 설계, 코드 리뷰, 팀 기술 수준 향상 등과 같은 것과는 조금 달랐다.

나 자신을 위해 팀장 직책을 맡는 것이 좋을까 깊이 고민했다. 개발에 흥미가 붙어 스스로 백엔드 개발자로서 나의 일에 즐거움을 느끼고 몰입하고 있다고 생각했던 시기였기 때문에 더욱 그랬다. 결과적으로는, 하게 되었다. 팀장을 해도 될 만한 이유가 있으니 그 자리를 제안해 주신 것이겠거니, 이것도 기회니까 배우는 것이 있겠거니, 그냥 그렇게 간단하게 생각하기로 했다. 기존 팀장님이 정말 좋은 분이셔서, 그 분이 하시던 것만큼 내가 할 수 있을까 걱정스러웠지만, 주변 사람들의 격려가 있었기에 부딪혀 보기로 했다.

팀장이 된 후로는 참 바빴다. 팀장이 되고 나서야, 직책자들이 얼마나 많은 회의를 하고 있었는지 알게 되었다. 수요일부터 금요일까지 대부분의 시간이 회의로 채워 졌고, 격주 단위로 실 면담을 함께 준비했다. 그러다 보니 주 40시간의 소정 근로 시간 중 온전히 활용할 수 있는 시간이 확연히 줄어 들었다. 시간을 쪼개야 했고, 개발 및 개인 공부를 하기에 최적의 시간이 퇴근 후이다 보니, 팀장이 되기 전에 비해 야근하는 빈도가 더 늘어났다. 과거의 내가 얼마나 시간을 허비하고 있었는지 깨닫게 되며, 지금 이 순간 내가 해야 할 일에 집중하는 방법을 배울 수 있었다. 이렇게 말하니 엄청 바빠 보이지만, 또 그렇지만도 않다. 다 하면 하게 되더라. 나보다 바쁜 사람도 훨씬 많았다.

내 할 일만 신경 쓰면 되던 팀원 시절과는 달리, 팀을 매니징하는 것은 또 다른 차원의 어려움이었다. 개발 업무에서 데이터 모델링 업무가 주가 되면서 팀 전체적으로 혼란이 있었는데, 팀의 방향을 잡고 업무를 배분하는 과정의 상당 부분을 실장님에게 의존했다. 그 과정에서 내가 팀장 자격이 있는지 우울해 하며 속으로 침잠하기도 했다. 팀원이었다면 눈치껏 팀이 나아가야 할 방향 속에서 내 일을 찾아 했을 텐데, 팀장이 되고 나서는 그걸 잘 못하는 것 같아서.

다른 팀 사이에서의 중간자 역할도 쉽지만은 않았다. 팀원의 시선에만 익숙해져 있다가 팀장이 되어 시야를 넓힌다고 넓혔던 범위가 우리 팀이었다. 그래서 다른 팀이나 기획 파트에서 어떻게 일을 진행하고 있는지 파악하는 것이나, 속도가 맞지 않을 때 조율하는 것에 서툴었다. 우리 팀밖에 신경쓰지 못하다 보니 속도가 맞지 않는다는 것조차 인지하지 못했다고 보는 것이 더 적절하다. 본부 주간회의 때 다른 팀장님들이 어떻게 보고를 하는지, 팀 간 업무 협의가 필요하면 R&R 회의를 어떻게 진행하는지 등을 보며 조금씩 감을 잡아 갔다. 그렇게 과거의 내가 얼마나 나의 일에 집중하고 있었는지 알게 되었다. 내 일만 중요하다는 마인드는 절대 아니었지만, 팀장이 되고 나서 보니 예전에 내가 보고 있던 일의 범위는 참 좁고 깊더라.

그렇게 어찌 저찌 팀장 일을 해 나갔다. 어려웠지만, 배운 것도 많았다. 면접도 들어가 보고, 법인 카드도 가지고 있어 보고, 신입 수습 평가도 들어가 보고. 최근 브런치에서 핫한 서현직 님의 어느 날 팀장이 되었다 시리즈 를 보면 그 때가 떠오르기도 한다. 스스로 팀장감이 아닌 것 같다는 느낌이 종종 찾아와 괴로웠지만, 그래도 지금에 와서 돌이켜 보면 그 경험 또한 소중하다. 연차가 쌓여야만 팀장을 하는 것은 아니지만, 다시 팀장이 된다면 그건 지금으로부터 꽤 많은 시간이 흐른 뒤일 것 같으니까. 언젠가 내가 다시 팀장이 되었을 때, 2022년 3분기의 기억이 좋은 팀장으로서의 밑거름이 될 수 있기를.

이직

팀장을 하게 된 당시 상황과 맞물려, 더 이상 회사에서 서비스를 개발하기 어려워져 이직을 결심했다. 개발 자체, 그리고 개발을 하며 컴퓨터 관련 지식을 습득하는 것의 즐거움이 컸기 때문에, 백엔드 개발자로서 제품 혹은 서비스를 만들고 싶다는 열망이 커져 갔다. 이는 곧 회사가 추구하는 코딩 없이 어플리케이션을 만들 수 있는 플랫폼이 내가 만들고 싶은 것이 아님을 의미했다. 2022년 9월이면 3년차가 되는데, 2년 동안 출시한 제품이나 서비스가 없다는 것 또한 이직을 결정한 하나의 이유였다.

3분기에 본격적으로 준비를 시작해 물리보안 솔루션 플랫폼 회사인 Innodep으로 이직하게 되었고, 9월 1일부터 새 회사로 출근했다. 확실한 제품이 있고, 영상관제, 주차관제 등 물리보안 관련 도메인에서 배울 게 많아 보이는 매력적인 회사였다. 면접을 볼 당시 CTO님께서 할 일은 무궁무진하게 많고, 데이터도 많아요. 원하는 거 다 해볼 수 있습니다. 개발 못 해서 힘든 일은 없을 거예요라고 말씀해 주셨는데, 이 역시 나의 도전 의식을 자극하기에 충분했다.

3분기의 마지막인 9월 한 달 동안은 적응하느라 바빴다. 회사가 집에서 좀 멀어졌고, 이전 회사였던 Tmax와는 회사 분위기가 달랐다(다른 회사니까 당연하지). 그래도 이직이란 걸 하고 나니, 어른이 된 것 같기도 하고, 새로 시작하는 느낌도 들어 하루 하루가 설렜다. 적응 기간을 핑계 삼아 조금은 여유를 가지고 새로운 도메인에서 공부해야 할 것도 좀 알아 보고, 그 동안 밀렸던 공부도 할 수 있었고. 만족도 최상인 한 달이었다.

사이드 프로젝트

IT 프로젝트 매칭 플랫폼 비사이드를 통해 사이드 프로젝트를 시작했다. Spring과 JPA를 이용해 개발하는 데에 익숙해 지고 싶었고, 기획자와 디자이너와 함께 서비스 출시를 경험해보고 싶다는 생각에 2분기 초에 신청했었는데, 다행히 팀 매칭이 되어 6월 18일 프로젝트 킥오프 미팅을 했다.

첫 한 달 동안은 서비스 아이템 결정이 팀 전체의 화두였다. 동시에 개발자들은 아이템 선정 후 바로 개발에 들어갈 수 있도록 필요한 작업을 진행했다. 우리 팀에서 결정한 아이템은 반려동물 라이프로깅 서비스로, 개인 혹은 가족이 반려동물을 등록하고, 반려동물 관련 일정이나 하루 동안의 일과를 기록할 수 있도록 도와주는 서비스였다. 회사에서와 달리 서비스 아이템 결정부터 팀원들 모두가 참여한다는 점이 좋았다. 회의 과정에서 기획, 디자인, 개발 각각의 파트 팀원들이 서비스를 바라보는 시각이 조금씩 달라 서로 다른 의견을 듣는 것이 흥미로웠고, 또 그런 과정을 거치니 우리 손으로 처음부터 만드는 서비스란 생각이 들기도 했다.

개발자로서도 많은 것들을 해볼 수 있었다. 30개 가까이 되는 API를 개발하면서 Spring과 JPA에 한발짝 더 가까워졌다. 서비스 특성 상 개인 회원이 가족 그룹에 속할 수 있고, 개인과 가족 그룹 간 반려동물 및 관련 기록을 공유할 수 있어야 했는데, 관련 DB 스키마를 설계하면서 엔티티 간 엮여 있는 일대다 관계의 문제에 대해 고민해 볼 수 있었다. 책에서만 보던 함수형 인터페이스도 써 보고, JPQL도 써 보고, swagger로 API 문서도 띄워 보고. 2분기까지 백엔드 개발을 이것 저것 해 보긴 했어도 정작 Spring을 제대로 못 써봐서 아쉬웠었는데, 이 프로젝트를 통해 양적으로 부족하다고 생각되던 개발 경험을 쌓을 수 있었다.

비사이드 측에서 40만 크레딧까지 지원해 주어 NCP 서비스도 사용해 볼 수 있었다. 이 때 나는 CI/CD 파이프라인을 구축하는 역할을 맡았는데, Github과 NCP SourceBuild, SourceDeploy, SourcePipeline을 이용해 main 브랜치의 소스를 배포하도록 파이프라인을 구성했다. 기존에는 사내 클라우드 환경에서 yaml 파일을 직접 작성해서 배포하는 것밖에 경험해 보지 못했는데, 퍼블릭 클라우드 환경에서 매니페스트 각 항목이 어디에 대응되는지, 사내 클라우드 CI/CD 서비스(당시 사내 클라우드 환경의 CI/CD는 Tekton과 비슷했다)와 NCP CI/CD 서비스가 어떻게 비슷하고 다른지 확인해 볼 수 있었다.

조금 아쉬웠던 것은 파이프라인 구성 시, main 브랜치에 소스가 푸시되면 자동으로 SourcePipeline이 Trigger되도록 구성하고 싶었는데, 시간과 크레딧이 부족하여 할 수 없었다는 점이다. SourcePipeline과 Trigger를 연결하려면 Cloud functions, API Gateway 등 다른 서비스도 구성해야 했는데, 다 공부할 시간이 없었고, DB, 서버 운영에 크레딧이 많이 소모될 것이 예상되어 해당 서비스를 이용해 볼 수 없었다.

sidefriends-erd

기타

그 외에 다음의 것들도 열심히 했었다.

  • JPA 공부. 사이드 프로젝트를 하면서 본격적으로 JPA를 다뤘다.
  • 면담(…). 입사 후 5번째 면담. 결과는, 정말 좋았다. 그런데 과정은 좋지 못했다. 좋지 못했다기보다는 힘들었다. 팀장이 되면서 면담을 하려니 부담이 더 컸고, 2주나 밀리는 바람에 심적으로 더 지쳤다. 그냥 결과가 좋았다는 것만 남겨야지.
  • 스터디. 팀원들과 Hexagonal Architecture 스터디를 했다. 팀장이 된 후 처음으로 진행한 스터디였는데, 회의 시간과 겹쳐 종종 참여하지 못했던 게 아쉽다.
  • 비사이드 디자인 & 개발 밋업 발표. 우리 팀 발표 자료는 굉장히 아기자기하고 귀여웠다!


4Q

공부와 설계. 한 템포 쉬어 가기

사이드 프로젝트 배포

3분기 동안 틈틈이 진행했던 사이드 프로젝트 서비스를 배포했다. 사전에 우리 팀은 서비스 운영까지는 하지 않고, 비사이드 공식 종료 기간에 맞추어 MVP 기능을 구현해 배포한 후, 프로젝트를 종료하는 것으로 합의했었다. 클라우드 비용 문제도 있고, 사이드 프로젝트 진행 기간 동안 이직 혹은 팀 이동을 한 팀원들이 많아 서비스 운영까지 하기는 무리였다. 대신 모든 팀원이 서비스 출시 및 프로젝트 완수라는 목표를 가지고 있었기에, 종료가 다가올수록 한 마음을 가지고 열심히 했었다.

결과적으로, 아래와 같이 서비스를 배포했다! 프로젝트 공식 종료 기간까지 배포해서 비사이드 운영진 분들께서 주신 출시 축하금도 받았다! 마지막 회의 때 다 같이 구글밋 틀어 놓고 배포했었는데, 평소 회의 시간을 훌쩍 넘겨 새벽 1시가 다 된 시간에서야 회의가 끝났다. 개발자들이 당일 그 시간까지 손이 바빴다는 건 비밀

sidefriends-introduction

프런트엔드 개발자 분이 혼자셔서 프로젝트 기간 내내 많은 고생을 해 주셨다. 넘나 귀염뽀짝하던 우리 서비스!

운영을 해본 것도 아니고, 개발부터 배포까지 프로세스가 잘 갖춰진 상태에서 진행된 것도 아니었지만, 작년 내가 했던 일 중에 가장 애착이 가는 일이다. 팀을 이루어 함께 서비스를 기획하고 개발해 배포해 본 경험이 별로 없다 보니, 더욱 그렇게 느껴진다. 특히 같이 백엔드 개발했던 분과는 종종 주말 하루 날 잡아 오후부터 밤까지 구글밋 틀어 놓고 같이 모각코했었는데, 그 기억도 좋았다. 시너지가 배가 되는 느낌이었달까. 본업과 병행하기 쉽지 않았을 텐데도 묵묵하게 자신의 역할을 다 하던 팀원들도 많은 동기 부여가 됐다. 참 좋았던 기억!

VMS 설계

회사 적응을 마친 후 처음으로 진행한 업무다. 우리 회사는 장기적으로 VMS, ACS 등 물리보안 분야의 기존 솔루션들을 통합하고, 그 과정에서 발생하는 데이터를 이용해 사건 분석 및 예측까지 seamless하게 연결할 수 있는 통합 보안 플랫폼을 만들고자 한다. 우리 팀은 해당 플랫폼으로 나아가는 과정에서 기본이 되어야 할 영상관제 시스템을 개발하는 프로젝트를 맡은 팀이다. 그리고 본격적인 개발에 앞서 10월부터 기존 솔루션을 분석하고, 플랫폼의 영역으로 확장할 수 있도록 시스템 설계를 진행했다.

카메라 장비 연결, 미디어 데이터의 저장 및 스트리밍, 이벤트 처리 등 필요한 서비스만 30개가 넘는 대규모 시스템이었다. 팀장님 이하 팀원들 각자 몇 개씩 서비스를 맡아 서비스를 정의하고, 데이터 스키마 및 프로토콜을 설계했다. 처음에는 몇 개 되지 않았지만, 설계 완료되는 서비스가 늘어 나며 각 서비스 간 엮여 있는 부분이 많아 다른 서비스 설계 내용을 바탕으로 기존 설계를 수정하기도 하고, 서로 sync를 맞추기 위해 회의도 자주 했다.

시스템 자체가 복잡해 서비스 간 의존성을 낮추고, 추후 유지보수 및 확장을 용이하게 하기 위해 MSA 패턴을 도입했는데, 덕분에 고민해 볼 것도 많았다. 예컨대, 데이터베이스 분리하면 좋은 줄만 알았는데, 오히려 밀접하게 엮여 있는 서비스 간에 계속해서 호출하는 것 또한 부작용이 있지 않을까라든가, 이 데이터는 어떤 서비스에 두는 게 맞을까와 같은 것들. 서비스 간 통신이나 데이터 동기화 등 책에서만 보던 MSA 패턴의 고려 사항이 정말 충분히 문제가 될 수 있겠구나하고 와 닿았다.

설계 외적으로 애자일 개발 방법론을 설계 과정에 접목시켜 스크럼을 진행한 것도 기억에 남는다. 우리 팀은 추후 스크럼을 도입해 개발을 진행할 예정인데, 팀원들 모두가 스크럼 경험이 없어 연습 삼아 진행해 본 것이다. 사실 설계는 유저 스토리나 태스크에 대한 증분이 명확하게 정의될 수 있는 것이 아니기 때문에, 스크럼 프로세스를 도입하는 것이 적절하지 않을 수도 있다. 그렇지만 안 해보는 것보다는 해 보는 게 낫다고 생각한다. 오히려 모호한 게 많다 보니 스토리와 태스크, 완료 조건에 대한 우리 팀만의 정의를 내릴 수 있었고, 시행착오를 겪은 부분을 실제 개발 단계에서 진행할 스크럼 프로세스에서 어떻게 개선해야 할지 논의할 수 있었다. 설계 프로젝트에서 생산성을 측정하려는 시도를 했다는 것도 좋았다.

그래도 연말까지 기존에 목표했던 설계를 다 끝내서, 팀원들 모두 성취감을 느끼고 한 해를 잘 마무리할 수 있었던 것 같다. 이제 개발만 잘 하면 된다!

기타

그 외에 다음의 것들도 열심히 했었다.

  • Go 공부. 팀 프로젝트 주요 언어가 Go이다. Go는 뭔가 Python 같으면서도 C 같기도 하고. 배우기 쉽고 재밌는 언어다.
  • 물리보안 도메인 공부. VMS, ACS, LPR 등의 제품, 그리고 ONVIF. 예전에 전혀 모르던 분야인데, 재밌다.
  • 멀티미디어 관련 공부. RTSP, RTCP, RTP 등 멀티미디어 스트리밍을 위한 프로토콜, H.264, H.265 등 비디오 코덱. 여기도 마찬가지로, 예전에 전혀 모르던 분야다. 코덱 공부하다가 머리가 아팠는데, 우리 회사에 특허 받은 코덱도 있다고 해서 신기했었다.


Yearly

동중정(動中靜)

2022년은 변화가 많았던 한 해가 아니었던가 싶다. 직책과 직장, 거주지의 변화, 거기다 크고 작은 개인사까지. 많았던 변화를 방증하기라도 하듯 MBTI가 2번이나 변했다. ESFJ인 줄 알고 있었는데, 이직 면접 때 검사하니 ESTJ, 그리고 우연히 정식 검사지를 받아 검사했던 10월에는 ISTJ가 나왔다. 좋아하는 김영하 작가는 유퀴즈에 출연해 자기가 생각하는 자기에 대한 MBTI 검사에 회의적이다 라고 말했다. 그의 말처럼 작가의 말은 “내가 생각하는 나와 타인이 생각하는 내가 다를 때 재밌는 일들이 생겨난다”는 취지였긴 하다 MBTI를 맹신하진 않지만, 그 검사가 내가 생각하는 나의 모습이라는 데에는 공감한다. 그래서 MBTI가 1년 새 2번이나 바뀐 것을 보면, 내가 뭔가 변화가 많긴 많았구나 싶어 재미 있다.

변화는 많았지만, 그만큼 스스로에게 더 집중할 수 있던 한 해였기도 하다. 내가 좋아하는 일이 무엇인지, 좋아하는 사람이 누군지 알고, 상황에 따라 어떤 감정을 가지고 반응하는지도 알게 되고. 그러다 보니 좋아하던 러닝과 노래도 꾸준히 했고, 출퇴근하며 책 읽는 습관도 붙였다. 옛날에는 이것 저것 취미 붙여 보려고 뭐 많이 해 봤는데, 결국 정착한 취미를 보면 생각보다 나는 정적인 사람인가 보다 ㅎㅎ 변화에 적응하는 과정에서 흔들리지 않고 내 중심을 잡기 위해 어떻게 해야 하는지 체득할 수 있었던 1년이었다.

생각이 많은 게 고질병이어서인지, 종종 뭐라도 하지 않으면 뒤처질 것만 같아 조급하고 불안한 마음도 들었다. 그치만 돌이켜 보니 2022년을 살아낸 당시의 나는, 생각보다 한 순간 한 순간을 그냥 흘려 보내지는 않았던 것 같다. 그러니까 김수영 시인의 시가 말하듯, 애타도록 서둘지 않는 2023년이 되기를.

2022-run

2022년 잘 달렸다. 2023년도 잘 달려 보자!


Appendix

처음 작성한 회고록인데, 쓰고 나니 1년을 되돌아 볼 수 있어 매우 알차다. 다만, 2022년에 내가 이루고자 했던 것들이 무엇이었는지, 얼마나 이루었는지 확인할 수 없었다는 게 좀 아쉬웠다. 2023년에는 이정표 세워 놓고 종종 꺼내 보는 것으로.

  1. 내 나이만큼 책 읽기. 학령 나이인지, 한국 나이인지, 만 나이인지는 올해 말에 확인하는 것으로(…)
  2. 정보처리기사 자격증 따기 (이젠 정말 딸 때도 되지 않았니, 나 자신?)
  3. 사이드프로젝트 2개 완료하기. 작은 규모라도, 혼자서라도 개의치 말고 해 보자. 생각이 많아서 못 하는 것보다 훨씬 낫다.
  4. 오픈소스 프로젝트 기여. 일단 목표는 소소하게 1개.
  5. 10km 마라톤. 올해 발가락 부상으로 나가지 못했던 게 매우 아쉽다.

정량적으로 나타낼 수 없는 것은 작성하지 않는 것이 좋겠다 싶었지만. 그럼에도 불구하고 위의 것들보다 더 중요한 것들.

  • 회사 프로젝트 MVP 모델 개발 완수하기. 누가 뭐래도 제일 중요한 일이다.
  • 가족들과 시간 많이 보내기. 특히, 엄마랑 같이 필라테스 다니기.
  • 소비 줄이기. 본가로 돌아온 보람을 통장에서 찾아 보도록 하자.




hit count image

댓글남기기