이 책을 쓰기 위한 여정의 시작을 정확히 말하기는 어렵다. 아마도 약 10년 전에 시작됐을 것이다. 수천 시간의 훈련, 수만 마일의 여행, 셀 수 없을 만큼 많은 단어와 코드 라인이 쓰인 결과다. API 여정을 막 시작했거나 이미 모험을 시작한 전 세계 조직의 통찰력으로 구성돼 있다. 이 책에는 내가 만나서 반가웠던 전 세계 API 실무자들의 통찰력이 포함돼 있다.
아니면 내가 소프트웨어 업계에 처음 입문한 거의 25년 전에 여정이 시작됐을 수도 있다. 많은 조언자가 책과 기사를 통해 통찰력을 제공했다. 멘토들은 소프트웨어에 대한 나의 사고방식을 형성하는 데 도움을 줬고, 내가 선호하는 소프트웨어 아키텍처 실현의 토대를 마련해줬다.
이 여행은 거의 40년 전에 할아버지가 나에게 코모도어 64 컴퓨터를 선물했을 때부터 시작됐을 것이다. 할아버지는 토목 기사이자 비용 엔지니어였으며 낮에는 가족을 부양하고자 일하면서 야간 학교에 다녔다. 할아버지는 지식에 목말랐고 모든 것을 읽고 흡수했다. 할아버지는 컴퓨터가 작동하는 것을 보고 “나는 여전히 텔레비전이 어떻게 작동하는지 놀랍다!”라고 말하며 우릴 즐겁게 해줬다. 그러나 할아버지는 “컴퓨터는 언젠가는 중요해질 것이고 내 손자는 컴퓨터를 사용할 줄 알아야 한다.”며 마법의 컴퓨터를 나에게 선물했다. 이 단 한 번의 이벤트로부터 소프트웨어 개발에 대한 내 평생의 사랑이 시작됐다.
실제로 이 여정은 70여 년 전 현재 컴퓨팅 시대의 개척자들이 오늘날 우리가 소프트웨어를 구성하는 데 사용하는 많은 기본 원칙을 확립했을 때 시작됐다. 기술 선택이 바뀌고 트렌드가 바뀌지만 이 모든 것은 소프트웨어 업계와 그 너머에 있는 많은 사람의 작업을 기반으로 한다. 수많은 사람이 오늘날 우리가 하는 일의 길을 개척하는 데 도움을 줬다.
내가 말하고 싶은 것은 API가 역사 속에 있었던 모든 노력 없이는 오늘날의 API가 될 수 없다는 것이다. 따라서 우리는 오늘날 우리가 하는 일의 이면에 있는 ‘어떻게’와 ‘왜’를 더 잘 이해하고자 우리 산업의 역사를 이해하려는 노력이 필요하다. 그런 다음 우리는 이 교훈을 미래의 모든 일에 적용하려고 노력해야 한다. 그 과정에서 우리는 다른 사람들도 그렇게 하도록 영감을 줄 수 있는 방법을 찾아야 한다. 이것이 할아버지와 아버지가 내게 가르친 것이므로 이 교훈을 여러분에게 전하려고 한다. 이 책은 내가 지금까지 여정에서 배운 것들을 반영하고 있다. 다음 세대를 준비하는 동안 여기에 제시된 내용을 바탕으로 새로운 통찰력을 얻길 바란다.