2017년 회고(1년차)
신규 시스템 설계, 내가?
팀 배치 이후의 첫 작업이 시스템 설계였다. 처음에는 '무얼 해야하지?'생각에 막막했다. 그래도 1주 차이로 오신 시니어 개발자가 진행 방향을 잡아주었다. 시스템은 간단했다. 카탈로그 데이터를 읽어 블랙리스트/화이트리스트 등의 로직을 적용한다. 그리고 광고를 위한 피드 파일을 만드는 시스템이다.
그러나 문제는 카탈로그 데이터는 어디에 있고, 어느 정도의 규모인지도 몰랐다. 파일 생성을 하는데 얼마나 걸러야 하는지, 블랙리스트/화이트리스트의 기준은 어떤 것인지 정의된 것이 없 었다. 시니어 개발자의 리드 하에 카탈로그 데이터의 위치와 다른 요구 사항을 하나씩 정제해 나가면서 시스템을 설계 했다. 지금 생각해보면 카탈로그 데이터를 읽기 위해 타 도메인의 stage 환경의 데이터베이스를 직접 접근했던 것은 여러모로 대단한 결정이었다. 그렇게 시스템 설계는 어느 정도 일단락 되었다. 그러나 아쉽게도 개발에 직업 참여하지 못했다.
어깨 넘어로 배워보자
앞서 설계했던 시스템 말고도 다른 팀원들이 진행하고 키워드 검색 자동화 시스템 개발이다. 나는 이때 플래닝이 2일에 걸쳐 진행되었던 것이 일반적이라고 생각했다. 그렇게 첫 걸음부터 힘듦을 예고했던 시스템 개발에 투입되었다. C++로 배우고 공부한 사람인데, 갑자기 자바, 그것도 모자라 스프링 프레임워크, 그것도 모자라 스프링 프레임워크를 한번 감싼 회사 내부의 비타* 프레임워크를 가지고 개발을 시작하게 되었다. 자바는 팀 프로젝트 밖에 해보지 않았는데, 스프링은 또 무엇인지 책과 구글링이 일상이었다. 이렇게 저렇게 물어보면서 시니어 개발자들의 코드를 읽고 분석해나갔다. 아직도 내 옆에서 도와준 사수와 동기한테 고맙다.
신규 시스템 런칭 이후 수 많은 문제가 발견했다. 새벽에 시작하는 배치가 뻗으면 이후 백업 작업이 너무 힘들어서 시스템 알람이 오면 알지도 못하는데, 맥북을 열어 나름대로 조사해보기도 했다. 아직도 다들 야근을 하는데 혼자 퇴근할 수 없어서 같이 남아 있던 기억이 남는다. 앉아서 공부만 했던 기억이..
작업한 건 다 버려
드디어 일다운 일을 시작했다. 백-오피스에 파일 업로드해서 처리하는 기능이다. 열심히 비슷한 기능을 하는 코드를 복사/붙여넣기를 해서 열심히 만 들었다. 로컬에서 테스트 해보고 '나쁘지 않군'하며 코드 리뷰를 시작했다. 열심히 내가 작성한 코드를 보이며 시니어 개발자들의 눈치를 살폈다. 그러던 중 리드 개발자가 한마디를 했다. '왜 이렇게 작성했어요?'라는 질문에 '기존 코드 가져와서 작성했습니다.'라고 답했다. 그리고 코드 리뷰가 끝난 후 리드 개발자가 나에게 다가 왔다. 작업한 브랜치 다 지우고, 노트와 펜을 들으라고, 생각부터 하고 정리하고 그리고나서 코드 작성을 하라고 했다. 그때 당시에 나는 당황했다. 나름 분석하고 생각하고 코드를 작성했다고 생각했었기 떄문이다.
지금 생각해보면 그때의 나는 기능 동작이 되니깐 괜찮겠지, 잘했다고 생각했다. 그런데 그 모습을 간파 당했던 같다. 어떻게 동작하고 왜 그런지에 대한 질문을 하지 않았다. 개발을 한다는 것은 코드 작성으로 끝나면 안되는 것을 깨달았다.
1년차 때에는 적응하고 배우는 것이 일상이었다. 열정만큼 충분히 했을까, 충분히 했는데 만약 돌아 간다면 방향을 다시 잡아주고 싶다. 팀 by 팀이지만, 개인의 성장은 철저히 개인의 몫이었다.