프로 개발자(?)가 된지 어느덧 2년이 되었다. 마침 입사가 11월이라 올 한해를 되돌아보는 회고를 하기에도 알맞은 때라고 느껴진다. 올 한해 나는 어땠는지, 개발자로서 두번째 해를 곱씹어보려고 한다.

첫 해는 어땠을까? 작년 9월에 쓴 글을 보았다. 나는 능동적인 노력이 부족한 사람이라고 자평했지만, 분명 노력하고 있었다. 끊임없이 새로운 서비스를 만들어내고 있었고, 매번 이전의 문제점과 아쉬운 점을 개선하기 위해 노력했다. 마지막에 만들었던 인스타그램 관련 서비스는 가끔 코드를 보면 1년차 혼자 만든 것 치고 꽤 괜찮아보인다. 물론 고칠 곳도 투성이긴 하지만..

올해 1월에 새로운 팀에 합류했다. 기존 글로벌에서는 유저가 사용하는 서비스를 찾기 위해 헤매었지만 여긴 사내 서비스들의 통합용 내부 서버를 다루는 팀이 었고, 이미 포함된 업체가 만 개 이상이었다. 초반엔 서버가 터져도 문의가 며칠이나 늦게 들어올 만큼 한적했던 팀에서, 트래픽이 넘쳐나는 곳에서 일할 생각을 하니 설레었다. 글로벌 팀에서 나는 당장의 매출보단 미래를 지향하는 팀에 속한 것이라고 자위했지만, 어느샌가 의미없는 개발의 연속이고 그 원인이 팀에 새로 합류한 나는 아닐까 자책하고 있었기 때문이다.

작은 기능들을 처리하며 히스토리를 파악한지 한달이 지나, 웹훅 개선 작업을 시작했다. 이 작업을 시작하기 전에 사실 조금은 자만하고 있었다. ‘1년차 중에 나만큼 빨리 성장한 사람은 없을거야’, ‘6개월만에 사수 없이 혼자 일했지만 난 정말 많은걸 해봤어’ 라는 생각에 사로잡혀 내가 실패할거라곤 생각하지 않았다. 나는 무엇이든 만들 수 있지만, 아직 1년차라 시간이 조금 더 걸리는 것일 뿐 못하는 건 없다고 생각했으니까. 지금 생각해도 참 기고만장했다. 웹훅에 대한 감상은 하지 않겠다. 이 글에서 충분히 했다.

올 해 상반기는 정말 지옥이었다. 매일 밤에 2~3번씩 알람을 맞춰놓고 웹훅에 문제가 생기지 않는지 확인해야 했다. 매번 누락되는 광범위한 데이터들로 인해 문의는 빗발쳤고, 계속 과거의 웹훅을 재처리했고 DB에 부하를 일으켰다. 커맨드를 잘못짜서 하루 웹훅을 복구하는데 일주일이 걸리기도 했고, 똑같은 웹훅을 여러번 처리해서 중복 데이터로 다른팀에 피해를 끼치기도 했다. 웹훅을 많이 발생시키는 특정 업체를 내 임의로 막아버려 업체에 수 백만원을 보상 해주기도 했다. 이때는 정말 내 개인적인 모든것을 포기하고 여기에만 집중했다. 5월 초, 나한테 능력이 없다는 것을 인정하고 다 포기하려는 마지막 순간에야 시스템이 정상적으로 작동했는데 조금만 더 늦었으면 난 더이상 스스로를 개발자로서 신뢰하지 못했을 것 같다.

상반기를 너무 다이나믹하게 보내서 그런지, 3분기는 개발자로서는 평탄하게 보냈다. 그냥 하루하루 안깨고 자도 된다는 것, 슬랙에서 태그당하지 않고 고객 문의의 원인이 되지 않아도 된다는 것이 얼마나 행복한지를 깨달았다. 정산, 데이터 산출, 서비스 관련 알람 등 내부 동료들의 업무 효율성을 높여주는 작업들을 주로 진행했고 오랜만에 엔드유저(?)의 맛을 봐서 그런지 꽤 재밌긴 했다. 회사의 매출에 직결되거나 전면에 나타나는 기능은 아니지만, 동료를 편하게 해주는 것을 개발하는 건 보람있는 일이었다.

다만 일하는 방식에 대해 스트레스를 많이 받았다. 올해 중순까지 팀에 기획자가 없어 대표님이 대행으로 그 업무를 맡았었다. 대표님은 말 그대로 대표님이기 때문에, 회사 전반적으로 신경써야 할 일이 많다. 올 한해 회사에 채용이 상당히 많았어서 매일매일 면접 일정이 잡혀있었고 그 외적으로도 많은 회의나 논의에 불려가기 일쑤였다. 사내 모든 프로덕트들의 공통 데이터와 업체의 상태, 결제 등을 관리하니 업무적으로 다른 팀과 엮이는 일도 많았고 다뤄야 하는 업무의 종류도 많았으며 히스토리도 상당했다. 누군가 전담하여 담당하더라도 감당하기에 벅찬 자리라고 생각한다.

태스크 일정이 시작되었음에도 기획이 나오지 않는 경우가 많았고, 나와도 부족하여 논의가 필요한 부분이나 이해되지 않는 부분도 늘 있었으며, 결정적으로는 그걸 해소하기 위해 논의할 시간이 없었다. 그런 업무방식이 나에겐 너무 스트레스였다. 팀에 속해서 팀이 나아가야 하는 방향을 위해 함께 힘쓰는 느낌이 아니라, 그저 탑다운으로 내려오는 업무를 처리하고 밀려드는 민원들을 처리하는 공무원이 된 기분이었다.

팀에 기획자가 채용되고 나서는 팀으로서 일한다는 느낌을 많이 받았고, 같이 의논할 사람이 있다는 게 기뻤다. 기존 글로벌 팀을 벗어나고 반년만에 팀에 소속감이 느껴졌다. 같이 더 잘, 효율적으로 일하기 위해 의논하고 노력하는 방향성이 긍정적으로 느껴졌다. 지금은 전 팀에서 같이 일하는 프론트분도 오셨고, 곧 디자이너 분도 오시니 그때는 어엿한(?) 조직 느낌이 더 강해질 것 같아 앞으로도 기대된다.

언젠가 한번 내가 괜찮은 개발자인지를 고민해보았는데 그렇지 않다고 결론내렸다. 이유가 뭘까 고민해보니, 알고 있는게 부족하다는 생각이 들었다. 지난 2년동안 서비스를 처음부터 구현해보기도 했고, 이미 트래픽이 많은 서버를 다루기도 해봤다. 다양한 AWS 리소스들도 경험해보았다. 그럼 내가 해왔던 것들에 대해 ‘나는 확실히 알고 있고, 너가 어려워줄 때 설명해주고 해결해줄 수 있어’ 라고 자신할 수 없는게 뭘지 고민해봤다.

내가 판단하건데, 나는 경험 후 체득하지 못하고 있었다. 무언가를 알기 위해서 경험은 최고의 방법이다. 다만, 경험이 곧 ‘앎’을 의미하진 않는다. 경험 후 정리하고, 회고하고, 탐구해야 비로소 나의 것이 된다. 경험은 ‘아는 상태’가 되기 위한 최대 정지 마찰력보다 조금 작은 힘일 뿐이다. 나는 많은 것들을 해왔지만 그저 경험에 머물렀을 뿐이고 그게 내 자신감이 부족한 원인이라고 확신했다.

8월에 들어 CS와 SQL 공부를 시작했다. CS는 분명 내가 부족한 부분이고, 점차 넓은 범위의 인프라를 관리하는 개발자에겐 분명 필요하다고 말해준 리드의 조언때문에 시작했다. SQL은 개발하면서 어느정도는 알고 있지만, 매번 AI에게 의존하고 있으며 쿼리의 효율성을 고려하지 않고 있다는 생각이 들어 시작하게 되었다. 앞으로는 이와 별개로, 내가 개발해낸 것에 대해 다시금 바라볼 필요가 있다고 느낀다. 경험했다면 아주 조금의 힘만 더 내면 되니까.

1년차엔 능동적으로 노력하는 개발자가 되자고 다짐했고, 어느정도 성공했다. 지금 나는 경험을 체득하는 개발자가 되자고 다짐하려고 한다. 3년차인 나는 내 지식에 확신을 얻을 수 있을까? 누군가에게 길을 제시하고, 해결책을 주장할 수 있을까? 내 주장의 근거에 대해 확신할 수 있을까? 다행히 내 스스로가 걱정되기보단 기대된다.