첫 번째 코드, 첫 번째 기여
제5화
발행일: 2025년 06월 01일
팀으로 돌아온 알렉스는 자신의 빈 모니터를 한동안 응시했다. ‘광고 거래소’라는 거대한 개념과 ‘실시간 입찰’이라는 아찔한 속도전. 머릿속에서는 폭풍이 몰아치고 있었지만, 정작 그의 손은 할 수 있는 일이 없었다. 그는 이 거대한 설계에 자신의 벽돌 한 장을 보태고 싶어 좀이 쑤셨다.
바로 그때, 팀 리더인 데이비드 첸이 그의 어깨를 가볍게 두드렸다.
“알렉스, 준비됐나?”
“네, 팀장님. 무엇이든 시켜만 주십시오.”
알렉스의 목소리에는 긴장과 함께 숨길 수 없는 의욕이 담겨 있었다. 데이비드는 흐뭇한 미소를 지으며 말했다.
“좋아. 첫 임무다. 너무 거창하게 생각할 건 없고, 모든 건 가장 기본적인 것에서 시작하니까.”
데이비드는 자신의 자리로 돌아가 알렉스에게 내부 문서 링크 하나를 보냈다.
[과제] 인벤토리 정보 조회 모듈 개발
- 입력: 매체사 ID (Publisher ID)
- 출력: 해당 매체사가 보유한 광고 단위(Ad Unit) 목록 (ID, 사이즈, 위치 등)
- 요구사항: 지정된 데이터베이스에서 정보를 읽어와 표준화된 형식(JSON)으로 반환할 것.
알렉스는 문서를 꼼꼼히 읽었다. 겉보기에는 간단한 작업이었다. 데이터베이스에서 특정 조건에 맞는 데이터를 꺼내 오는, 컴퓨터 과학 수업의 기초 연습문제와도 같았다.
“이해가 되나?” 데이비드가 물었다.
“네. 그런데 이 모듈이 정확히 어디에 쓰이는 겁니까?”
“좋은 질문이야. 우리가 ‘실시간 입찰’이라는 경매를 열려면, 뭘 팔 건지부터 알아야 하잖아? 이 모듈이 바로 그거야. 경매가 시작되기 직전, ‘글로벌 헤럴드’라는 판매자가 어떤 상품들(광고 지면들)을 진열대에 올려놨는지 확인하는 첫 단계지.”
간단명료한 설명이었다. 알렉스는 고개를 끄덕였다. 비록 거대한 시스템의 아주 작은 부품이었지만, 없어서는 안 될 첫 번째 톱니바퀴였다.
그날 오후부터 알렉스는 온전히 자신의 첫 과제에 몰두했다. 스탠퍼드 도서관에서 밤을 새우던 집중력이 되살아났다. 그는 구글 내부의 개발 환경에 접속하고, 데이터베이스 구조를 파악하고, 코드를 한 줄 한 줄 써 내려갔다.
function getInventory(publisherId) { ... }
함수의 이름 하나를 짓는 데도 신중을 기했다. 이 코드는 자신만이 아니라, 미래에 합류할 다른 팀원들도 읽고 이해해야 했다. 이것은 더 이상 혼자만의 프로젝트가 아니었다.
몇 시간의 코딩 끝에, 그는 첫 번째 버전의 스크립트를 완성했다. 테스트를 위해 ‘글로벌 헤럴드’의 임시 ID를 입력하고 실행 버튼을 눌렀다.
...
...
ERROR: Access Denied.
결과는 에러였다. 데이터베이스 접근 권한이 없다는 메시지. 허탈한 웃음이 나왔다. 당연한 일이었다. 아무리 신입사원이라도 회사의 핵심 데이터에 마음대로 접근할 수는 없는 노릇이었다. 그는 즉시 사내 시스템을 통해 정식으로 권한을 요청했다.
다음 날 아침, 권한이 승인되었다는 알림 메일이 도착했다. 알렉스는 다시 심호흡을 하고 스크립트를 실행했다. 그의 심장이 조용히, 그러나 빠르게 뛰기 시작했다.
이번에는 달랐다.
몇 초간의 정적 끝에, 화면에 결과값이 쏟아져 나왔다.
{
"ad_units": [
{ "id": "GH_ATF_728x90", "size": "728x90", "position": "Top" },
{ "id": "GH_BTF_300x250", "size": "300x250", "position": "Right_Sidebar" },
{ "id": "GH_Article_Mid_300x250", "size": "300x250", "position": "Article_Middle" },
...
]
}
글로벌 헤럴드가 판매할 수 있는 광고 지면의 목록이었다. 어제 존 밀러가 말했던 그 수많은 ‘상품’들의 정보다. 자신의 코드가 성공적으로 데이터베이스와 통신하여, 의미 있는 결과를 가져온 것이다.
하지만 알렉스가 진짜로 주목한 것은 결과창이 아니었다. 그는 곧바로 시스템 로그(log)를 확인했다.
[INFO] 2008-07-15 09:12:31 - Inventory module executed by user 'alex.norton'. Fetched 1,254 ad units for publisher 'globalherald_test'.
단 한 줄의 기록.
그러나 알렉스에게는 그 어떤 화려한 결과물보다도 값진 문장이었다. 자신이 만든 코드가, 거대한 광고 거래소 프로토타입 시스템 위에서 처음으로 성공적으로 실행되었다는 공식적인 증거.
이 코드 한 줄이, 자신이 이 혁명에 기여한 첫 번째 흔적이자 증거였다.
알렉스는 잠시 모니터를 바라보며 벅차오르는 감정을 느꼈다. 이제 시작이었다. 그는 자신의 자리에서, 자신의 코드로, 인터넷의 새로운 역사를 써 내려갈 준비가 되었다.