작은 TF로 시작한 서비스였다.

특정 업무의 불편 하나를 풀어보자는 정도의 프로젝트였고, 처음부터 전사 서비스를 목표로 하지 않았다. 그런데 만들어 놓으니 같은 불편이 본사에만 있는 게 아니었다.

확대는 기능이 아니라 복구의 문제였다

본사에서 쓰던 것을 지사로 넓히자는 이야기가 나왔을 때, 개발 관점에서 추가할 기능은 생각보다 적었다.

진짜 숙제는 다른 곳에 있었다. 실데이터가 쌓인 운영 DB를 깨뜨리지 않고 스키마를 진화시키는 일, 그리고 앞으로 반복될 마이그레이션을 사람의 기억이 아니라 절차로 만드는 일.

그래서 운영 DB 업데이트를 문서로 박제했다. 백업하고, 옮기고, 검증하는 순서가 절차로 돌고 실행 기록이 남게 했다.

TF 프로젝트와 전사 서비스의 차이는 기능의 개수가 아니었다. 실수했을 때 되돌릴 수 있느냐였다.

혼자 쓰는 도구는 망가지면 고치면 된다. 여럿이 쓰는 도구는 망가지는 순간 그 사람들의 하루가 멈춘다. 같은 코드라도 놓인 자리에 따라 요구되는 것이 달라진다.

먼저 연락이 왔다

확대 논의가 이어지던 어느 날, 사내 지식재산팀에서 연락이 왔다. 이 서비스를 특허로 출원해 보자고.

솔직히 얼떨떨했다. 만들 때는 특허 같은 걸 생각한 적이 없었다. 눈앞의 불편을 푸는 데 급했으니까.

그런데 바깥에서 먼저 가치를 알아봤다는 건 분명한 신호였다. 우리가 문제를 푼 방식이 안에서 보던 것보다 고유했다는 뜻이다.

만든 사람은 자기가 만든 것의 가치를 잘 모른다. 매일 들여다본 것은 당연해지고, 당연해진 것은 특별해 보이지 않는다.

기쁨은 잠시였고 곧 숙제가 왔다. 발명 내용을 정리한 자료를 달라는 것. 특허는 아이디어가 아니라 문서로 성립하고, 그 문서를 쓸 수 있는 사람은 만든 사람뿐이었다.

지나간 것을 파내는 일

한 달 남짓한 개발 기간 동안 남긴 것들을 전부 다시 꺼냈다. 커밋, 설계 문서, 회의록, 메신저 대화.

만든 자료의 뼈대는 이랬다. 명세서 골격에 대응하는 발명 개요서. 청구항이 될 만한 기술 요소마다 신규성 포인트와 근거 위치를 단 목록. 업무를 여든 개가 넘는 단위로 쪼개 누가 문제를 제기하고 착상하고 설계하고 구현하고 검증하고 결정했는지 분류한 표. 천 줄이 넘는 메신저 원문에서 결정적 대목만 뽑아 각 인용이 무엇을 증명하는지 붙인 분석.

그리고 하나 더. 기획서가 남긴 미확정 지점을 누가 해결했는지 정리한 문서.

이 마지막 것이 가장 오래 남았다. 청구항 후보로 추린 열아홉 건 중 열세 건이 기획서 바깥에서 나왔다.

발명은 기획서에 적혀 있던 것이 아니었다. 기획서가 비워둔 자리를 채우는 과정에서 나왔다.

돌아보면 개발이라는 일의 상당 부분이 그렇다. 적혀 있는 것을 옮기는 시간보다, 적히지 않은 것을 결정하는 시간이 훨씬 길다. 그런데 우리는 대체로 전자만 기록한다.

같은 내용, 다른 독자

자료를 한 뭉치로 만들어 끝내지는 않았다. 받는 사람이 달랐기 때문이다.

회의 전에 미리 돌리는 것에서는 기여 귀속을 뺐다. 기술 내용만 담았다. 기여도까지 담은 전체본은 회의 자리에서만 폈다. 함께 개발한 동료가 그 자리에서 사실 여부를 확인할 수 있는 짧은 문서도 따로 만들었다.

기여도라는 주제에서는 무엇을 쓰느냐만큼 어디까지 보여주느냐가 중요했다. 사실이라도 놓이는 자리에 따라 다르게 읽힌다.

전부 마크다운으로 쓰고 스크립트 하나로 PDF를 뽑게 했다. 회의 전날 내용이 바뀌어도 빌드 한 번이면 산출물이 다시 나온다.

남은 생각

특허의 결과보다 오래 남은 건 두 가지다.

하나는 기록에 대한 것이다. 특허 자료의 재료는 전부 개발 당시의 기록이었다. 그때는 인수인계와 정리를 위해 남긴 것들이 몇 달 뒤 발명의 증거가 됐다.

기록하는 시점에는 그 기록이 어디에 쓰일지 알 수 없다. 알 수 없기 때문에 남기는 것이고, 남겨둔 것만이 나중에 다시 조립될 수 있다.

다른 하나는 일의 범위에 대한 것이다. 만든 것의 가치를 회사의 언어로, 법의 언어로 옮기는 일까지가 개발자의 일이 될 수 있다는 것. 그리고 그 번역은 대체로 만든 사람이 제일 잘한다.

작게 시작한 것이 전사로 퍼지고 특허 논의까지 간 데에는 운도 있었을 것이다. 다만 한 가지는 우연이 아니었다.

남겨둔 것만 다시 쓸 수 있었다.