2019년 돌아보기

2019년은 행복하고 힘든 한 해로 기억될 것이다

JC
Museion
7 min readDec 28, 2019

--

2019년은 다양한 인생 경험을 맛본 한 해다. 첫 회사에서 퇴사했다. 3년 넘게 다니며 많은 것을 배웠지만 어느 순간 배우는 것보다 아는 것을 써먹는 게 많다는 생각이 들었다. 그래서 퇴사를 고민하고 있을 즈음에 회사에서 희망퇴직을 받는다는 이야기가 나왔고 나를 포함해 전체 직원의 2/3이 퇴직을 했다.

퇴사 이후에 공부하고 사람들도 만나며 시간을 보내다가 지금 회사를 선택했다. 사용자와 더 가까이 만나고 싶었고, 이왕 일을 할 것이라면 이전 회사보다 더 초기의 스타트업에서 일해보고 싶었다. 내 가치가 얼마인지도 알고 싶었다. 이전 회사에서는 연봉 협상이 없었고, 연봉 인상도 없었기에 나를 잘 정리하고 잘 포장하고 싶었다. 연봉과 관련한 이야기는 아래 글에 정리한 적이 있다.

회사에 출근을 하자마자 서버 접속 정보를 전달받았다. 코드는 쉘로 접속해서 보거나, phpstorm에서 ftp로 연결해서 보면 된다고 했다. 로컬 개발 환경이 없다. 두둥. 모든 코드의 작동은 서버에서 확인하고, 개발도 서버에서 한다. 사용자별로 계정을 나눴다지만(사용자 계정에서 작업 후 커밋 → 개발 계정에서 확인) 실제로는 개발 계정에서 바로 작업하는 경우가 많아 사용자 계정에 있는 게 최신 코드가 아닌 경우가 있다.

첫 주에 API 서버에서 오류가 발생했다. 나보고 접속해서 확인해달라고 한다. 접속 정보를 복붙해서 서버에 접속해서 살펴봤다. 필요한 로그는 남기지 않고 있고, request와 response 일부를 남기고 있는 상황이었다. 내가 확인해야 하는 부분에 로그를 추가하고 오류 원인을 파악했다. 코드를 개선해서 조치했더니 서버 이중화가 되어있어서 다른 서버도 확인해야 한다고 한다. 다른 서버에서도 같은 작업을 처리해줬다. 운영 서버에서 변경한 코드는 어떻게 처리해야 할까? 1) 복사-붙여넣기로 형상관리에 추가한다. 2) 운영 서버에서 바로 커밋 한다. 3) 말도 안 되는 상황이다.

답은 3번이지만 이런 일은 굉장히 많이 발생했고, CI/CD(지속적 통합/지속적 배포)를 도입하려는 생각은 아무도 하지 않고 있었다. 이후에 Linux + Docker를 이용해 로컬 개발 환경을 구축했지만 다른 사람들에게 지금 사용 중인 환경을 변경하라고 강제할 수 없는 아쉬운 상황이다(아래에 이야기할 홈페이지 개편 작업 이후로는 jenkins를 활용한 CD를 적용하려고 한다)

그렇게 회사에 입사한 첫 주부터 퇴사자가 남긴 인수인계 문서(이 문서 없었으면 큰일 날 뻔한 게 많다)와 코드를 보면서 회사에 적응해 갈 무렵 아이가 태어났다. 아이와 관련한 글은 아래 글에 작성한 바 있다.

아이는 어느새 200일 넘게 잘 크고 있다. 아이와 함께하는 시간이 즐겁고 행복하다. 아이와 관련한 영상을 계속 촬영하고 편집해서 만들며 추억을 쌓고 있다. 출산했을 때는 영상을 많이 만들었는데 최근에는 한 주에 한 편 정도 만드는 것을 목표로 영상을 촬영하고 있다. 한 주 동안 촬영한 영상은 VLLO 앱을 이용해 간단히 컷 편집하고 youtube에 업로드한다. 재생목록을 만들어 아내와 공유하고 있고, 영상에 출연한 분들께는 메신저를 통해 링크를 공유해드리면 무척 좋아하신다. 미공개 영상이기 때문에 초상권 등에 신경 쓰지 않고 마음껏 촬영할 수 있어 부담이 덜하다.

아이가 태어날 즈음에는 회사 업무도 많이 바빴다. 코드와 관련해 많이 아쉬운 것도 이때인데, 현재 시스템을 구축한 개발자들이 모두 퇴사한 시점이라 리빌딩을 해서 시스템을 재구축하거나, 재구축에 가까운 작업을 했어야 했다. 그러나 API 서비스에 지속적인 장애가 발생했다.

파트너 서비스마다 코드를 만들고, 각 코드마다 서버 이중화 구성을 하는 등 자원 활용이 비효율적인 점이 많다. 평상시에는 전체 자원의 1%도 쓰지 않고, 투자가 시작되는 시점에는 50% 정도 사용하고 있다. 그래서 개선 포인트를 정리하고 있던 시점에 API 시스템 연동에서 그간 누적되던 문제가 발생했다. 나하고 서버 담당 동료분이 고생을 많이 했다. 여러 문제를 방지하고 해결하기 위해 여러 가지를 개발하거나 도입하게 됐다. 조금 더 자세한 이야기는 아래 글의 업무 부분에 있다.

어느 정도 안정화가 되었다고 판단한 파트너사와 회사는 고액 투자 상품을 여럿 오픈했고 투자는 사고 없이 마무리됐다. 그리고 또 다른 사고가 발생하는데…

사용자가 투자를 진행하면(1) 투자금을 모아 대출자에게 지급하고(2), 대출자가 원리금을 상환하면(3) 투자자에게 돌려주는(4) 게 P2P 투자 플랫폼의 기본이다. (1)을 안정화해서 고액 투자를 소화할 수 있게 개선했더니 다른 프로세스에서 문제가 드러나기 시작했다.

전체를 설명할 수 없지만 (2)는 처리 시간이 오래 걸리는 문제가 있고, (3)은 int를 초과하는 금액이 저장되지 않는 문제가 발생했다(int는 23억 정도를 저장할 수 있다. 그전에 돈과 관련한 서비스를 운영하려면 int를 쓰지 않는 것이 좋다). (4)는 투자자에게 알려주기 전에 투자자가 출금을 해버리는 문제가 있었다. 그동안 나는 (1)에 에너지를 집중했고 다른 로직은 다른 개발자가 담당했는데, 문제가 드러나자 해결하지 못하는 상태가 됐다. 코드 검토 요청을 받아 개선 작업을 진행했고 현재는 1~4까지 문제없이 처리되고 있다.

동시에 홈페이지 개편 작업을 진행했다. 위에서 리빌딩을 할 시기를 놓쳤다고 했는데 홈페이지 개편 작업을 하며 리팩토링할 수 있는 다시 찾아온 기회다. 그러나 여러 사정에 의해 한 달 넘는 시간을 날리게 되면서 기회도 날아갔다. 일정이 촉박한 상황에서 위 작업도 함께 진행하느라 시간은 더 빠듯하게 느껴졌다. 12월 초에 마무리하는 일정이었는데 위와 동일한 사정에 의해 마무리 일정이 연기됐고, 지금은 개발 테스트를 하며 미흡한 부분을 보완하는 중이다.

두 작업에 대한 이야기는 아래 링크에 조금 더 자세히 적었다.

일을 더 잘 하기 위한 여러 노력이 있었다. Linux를 설치해 shell과 vim에서 개발을 진행했고, 키보드 중심 컴퓨팅을 하기 위해 HHKB를 사용하고 있다. 메모로 날려보내는 지식이 아쉬워서 정리 방법을 고민하다가 vimwiki+github을 이용해 지식을 정리하고 있다.

이 전체 과정에서 기계인간 님의 위키와 한상곤 님의 강연에 도움을 많이 받았다.

(이 영상 너무 재밌어서 세 번 정도 본 것 같다)

기록 남기기

다른 어떤 때보다 기록을 남기기에 열중했던 한 해다. 우선 블로그에 글을 자주 남기려고 노력했다. 매일 글쓰기를 목표로 했던 시기도 있었고, 일과 삶에 바빠서 기록을 남기지 못했던 때도 있지만 최대한 노력했다. 몇 개의 글과 조회 수가 얼마인지는 쉽게 파악하는 방법을 알지 못해(medium의 단점이다) 공개하지 못하지만 읽어주신 모든 분들께 감사하다. 이 프로젝트에서 API Gateway와 Lambda를 도입한 Serverless 적응기는 AWS 주간 뉴스레터에 포함되어 많은 분들께 전달되는 감사한 기회도 있었다.

Youtube에도 기록을 많이 남겼다. 위에도 적었듯이 아이와 함께한 스토리를 영상으로 편집해서 남기면 좋은 추억이 되는 것 같다. 생활/얼굴 공개의 부끄러움과 다른 사람들의 초상권 때문에 링크가 없으면 접근할 수 없도록 해놓았다. 간단히 컷 편집만 하면 한 주에 두 편 정도는 만들 수 있다.

개인적으로는 개발자 vlog 영상을 촬영해보고 있다. 얼굴과 회사 정보가 나오지 않게 촬영하려다 보니 아이를 촬영할 때와는 다른 어려움이 있다. 그리고 코드는 버라이어티하지만 생활은 단조롭다 보니 정적인 영상밖에 나오지 않아 고민이 된다.

처음에도 적었듯이 2019년은 행복하고 힘든 한 해로 평생 기억될 것이다. 다사다난이라는 사자성어로 끝낼 수 없다. 글로 작성하고 평생 기억에 남겨야겠다.

--

--

JC
Museion

책 읽는 개발자. 아빠. 생산성, 책, 개발에 관한 글을 남깁니다.