Programming and Writing

Salvatore Sanfilippo

프로그래밍과 글쓰기

1년 전, 저는 프로그래머로서의 삶을 잠시 멈추고 소설을 쓰기 시작했습니다. 새로운 활동이 이전 활동과는 완전히 다르다는 착각을 하면서요. 그 뒤로 글의 강을 건너왔습니다. 실제로는 쓰기보다 다시 쓰는 일이 더 많았지만, 이제는 오히려 그 반대라고 확신합니다. 대규모 시스템을 프로그래밍하는 일과 소설을 쓰는 일에는 공통점이 많고 과정도 비슷합니다.

두 활동 사이의 가장 분명한 평행 관계는 둘 다 무언가를 쓴다는 점입니다. 코드는 자연어로 쓰인 산문은 아니지만, 고정된 규칙, 즉 문법이 있고, 대부분의 프로그래머가 자연스럽다고 이해할 만한 형식이 있는가 하면 형식적으로는 올바르더라도 이해하기 어렵게 느껴지는 형식도 있습니다.

하지만 두 활동 사이에는 훨씬 더 깊은 연결고리가 있습니다. 좋은 프로그램과 좋은 소설은 모두 국소적인 요소와 전체적인 요소가 잘 맞물린 결과물입니다. 좋은 코드는 잘 작성되고 읽기 쉬운 개별 문장들로 이루어져야 하지만, 프로그램 전체를 보면 각 부분이 서로 간섭하지 않고 일관된 방식으로 설계되어야 하며 상호작용도 깔끔해야 합니다. 좋은 소설 역시 미시적인 차원과 거시적인 차원, 두 규모 모두에서 성공해야 합니다. 문장은 잘 쓰여야 하지만 전체 구조와 부분들 사이의 관계도 그만큼 중요합니다.

프로그래밍과 글쓰기의 덜 구조적인 연결고리는 둘 중 어느 한쪽에 접근할 때 필요한 추진력에 있습니다. 성공하려면 진전을 이루어야 하고, 진전을 이루려면 꾸준해야 합니다. 프로그램과 소설이 아직은 저절로 써지지 않는다는 사실에는 폭넓은 합의가 있습니다. 20년 동안 코드를 써 온 경험은 이 점에서 제게 큰 도움이 됐습니다. 매일 앉아서 써야만 일이 일어난다는 것을 알고 있었으니까요. 어떤 날은 100단어, 다른 날은 2,000단어를 쓰더라도, 한 페이지에 단어 하나 남기지 않는 날은 드뭅니다. 그리고 더 큰 시스템을 채우기 위한 ‘채우기용’ 코드가 아니라 자신의 창작물을 만들어 본 적이 있다면, 프로그래밍에도 작가의 막힘과 같은 일이 일어난다는 것을 압니다. 유일한 차이는 대부분의 사람에게 당신이 엔지니어라는 점입니다. 그러니 일하지 않으면 게으른 사람이 됩니다. 예술가의 경우에는 똑같은 게으름이 창작 과정의 매혹적인 일부라는 형태를 띠게 됩니다.

차이점.

글쓰기와 프로그래밍의 가장 뚜렷한 차이는, 소설은 일단 쓰고 편집하고 완성하면 대부분 그대로 남는다는 점이라고 생각합니다. 몇 년이 지난 뒤 자신의 소설로 돌아가 오류를 수정한 판본을 내는 작가들도 있지만, 그런 경우는 드뭅니다. 그런 일이 일어나더라도 한 번으로 끝나는 과정입니다. 코드는 시간이 지나면서 발전하고, 끊임없이 이어지는 변경의 대상이 되며, 그 변경은 여러 사람이 수행하는 경우가 많습니다. 이 단순한 사실은 두 과정에 깊은 영향을 미칩니다. 프로그래머들은 시스템의 첫 버전이 상당히 불완전해도 괜찮다고 생각하는 경우가 많습니다. 어쨌든 개선할 시간은 나중에도 있으니까요. 반면 작가들은 소설마다 총알이 한 발뿐이라는 사실을 압니다. 그래서 산문을 쓰는 일은 대부분 다시 쓰는 행위가 됩니다. 문장을 다시 쓰고, 장 전체를 다시 쓰고, 가짜처럼 들리는 대사를 다시 씁니다. 때로는 두 번, 세 번, 심지어 열 번씩 말입니다.

이런 점에서 프로그래밍은 글쓰기에서 배울 것이 있다고 생각합니다. 새로운 시스템의 핵심을 처음 만들 때, 원래 만든 사람이 아직 혼자 고립되어 무엇이든 할 수 있는 상황이라면, 그 첫 핵심이 자신의 유일한 총알이라고 생각해야 합니다. 시스템이 탄생하는 동안 이 원시적인 커널을 몇 번이고 다시 써서 가능한 한 최선의 설계를 찾아야 합니다. 제 가설은 이 초기 설계가 이후에 일어날 일을 크게 좌우한다는 것입니다. 처음부터 구조가 좋은 무언가를 유기적으로 키워 나가면, 원래 만든 지점에서 몇 년이 흐른 뒤에도 더 나은 시스템이 됩니다. 원래의 핵심이 훗날 시스템이 차지하게 될 거대한 규모에서 아주 작은 일부에 불과하더라도 말입니다.

관심 있는 분들을 위해 제 SF 소설에 관한 짧은 소식을 전하겠습니다. 여러 차례 자가 퇴고를 거친 뒤 원고를 편집자 줄리오 모치(Giulio Mozzi)에게 보냈습니다. 그는 몇 주 뒤에 수정 제안을 보내올 예정입니다. 그가 남긴 메모를 바탕으로 새로운 퇴고 과정을 시작하고, 바라건대 한두 달 안에 소설을 완성할 수 있기를 바랍니다. 그러면 마침내 이탈리아어판을 출간할 준비가 됩니다. 동시에 완성된 소설은 미국에 있는 번역가에게 보내고, 번역이 끝나면 영어판도 출간될 것입니다. 긴 여정이지만, 저는 그 길을 떠나는 일을 정말 즐겼습니다.

원문은 Salvatore Sanfilippo님이 에 게재했습니다.

이 글은 gpt-5.6-terra 모델을 사용해 번역했습니다.