질문하는 사람과 계산하는 사람 사이의 거리
분업은 왜 생겼나
처음부터 해석이 별도의 직무였던 것은 아니다.
계산이 손으로 이루어지던 시절, 설계자와 계산자는 대체로 같은 사람이었다. 구조물을 그린 사람이 하중을 계산했다. 계산은 설계의 일부였지 별도의 공정이 아니었다.
분업을 만든 것은 도구의 복잡성이다.
컴퓨터 해석이 등장하면서 다룰 수 있는 문제가 급격히 커졌다. 손으로는 불가능하던 복잡한 형상과 조건을 다룰 수 있게 되었고, 그 대가로 도구 자체가 하나의 전문 분야가 되었다. 격자를 어떻게 나누는지, 어떤 요소를 쓰는지, 수렴 조건을 어떻게 잡는지가 결과를 좌우한다. 잘못 쓰면 그럴듯하지만 틀린 답이 나온다.
그럴듯하게 틀린 답은 아무 답도 없는 것보다 위험하다. 그래서 도구를 제대로 다루는 사람이 따로 필요해졌다. 합리적인 귀결이었다.
문제는 이 분업이 효율을 위해 만들어졌지만, 지금은 다른 것을 만들어내고 있다는 것이다.
왕복에 드는 것
설계자에게 궁금증이 하나 생겼다고 하자. “리브를 하나 더 대면 응력이 얼마나 줄지?”
이 질문이 답을 얻기까지의 경로는 이렇다. 조건을 정리해 문서로 만든다. 해석 담당자에게 전달한다. 담당자의 대기열에 들어간다. 순서가 오면 모델링하고 계산을 돌린다. 결과 보고서가 나온다. 설계자가 받아 본다.
각 단계마다 시간이 붙는다. 그리고 각 단계마다 정보가 조금씩 샌다.
설계자의 머릿속에 있던 질문은 문서로 옮겨지면서 일부가 빠진다. “이 정도면 되지 않을까 싶은데 감이 안 와서”라는 맥락은 문서에 적히지 않는다. 해석 담당자는 적힌 조건만 보고 모델을 만든다. 결과 보고서는 숫자와 그림으로 돌아오지만, 설계자가 정말 알고 싶었던 것—“그래서 이 방향이 맞나”—에 대한 답은 아닐 수 있다.
그러면 다시 묻는다. 왕복이 한 번 더 늘어난다.
진짜 손실은 묻지 않은 질문이다
여기까지는 비효율의 이야기다. 그런데 더 큰 손실은 다른 데 있다.
왕복에 며칠이 걸린다는 것을 알면, 사람은 질문을 고르기 시작한다.
확신이 있는 것만 묻는다. 중요해 보이는 것만 묻는다. “혹시나 해서” 던지는 질문은 하지 않는다. 대기열을 차지할 만한 가치가 있는지 스스로 검열한다.
그렇게 걸러진 질문들은 대체로 타당하다. 문제는 걸러진 쪽에 무엇이 있었는지 아무도 모른다는 것이다.
설계에서 좋은 아이디어는 종종 엉뚱한 시도에서 나온다. “이 재료를 여기 쓰면 어떨까”, “이 부분을 아예 없애면?” 같은, 근거가 아직 없는 생각들. 이런 시도는 대부분 실패한다. 열 개 중 아홉은 버려진다. 그런데 열 번째가 설계를 바꾼다.
시도의 비용이 높으면, 열 번 시도할 수 없다. 한 번만 시도할 수 있다면 가장 안전한 것을 고르게 된다. 그 결과는 실패가 아니라, 평범함이다.
이것이 분업이 만든 진짜 비용이다. 잘못된 답이 아니라, 시도되지 않은 방향들.
도구가 어려우면 사람이 멀어진다
같은 일이 다른 분야에서도 있었다.
출판이 그랬다. 조판은 오랫동안 전문 기술이었다. 글을 쓰는 사람과 그것을 지면에 앉히는 사람이 나뉘어 있었다. 편집자가 원고를 넘기면 조판소에서 판을 짜고, 교정을 보고, 다시 고치는 왕복이 있었다.
컴퓨터 조판이 등장하면서 이 분업이 흐려졌다. 글 쓰는 사람이 직접 레이아웃을 보게 되었고, 그러자 글쓰기 자체가 달라졌다. 지면을 보면서 문장 길이를 조절하고, 배치를 바꿔가며 흐름을 만든다. 예전에는 불가능했던 종류의 판단이다.
물론 전문 조판이 사라진 것은 아니다. 정교한 결과가 필요한 곳에서는 여전히 전문가가 한다. 다만 “일단 대충 보고 판단하는” 층이 새로 생겼다.
해석에도 그 층이 없다. 정밀한 해석과 아무것도 없음 사이에, 중간이 비어 있다.
중간층을 만든다는 것
우리가 만들려는 것은 전문 해석을 대체하는 도구가 아니다. 비어 있는 중간층이다.
- 정밀도는 낮아도 된다. 방향만 맞으면 된다.
- 대신 즉시 답해야 한다. 30초 안에.
- 그리고 설계자 본인이 직접 다룰 수 있어야 한다.
세 번째가 가장 중요하다. 앞의 둘을 만족해도 전문가를 거쳐야 한다면 거리는 그대로다.
그런데 “직접 다룰 수 있어야 한다”는 조건은 생각보다 무겁다. 해석 도구가 어려운 이유는 개발자가 게을러서가 아니다. 문제 자체가 복잡하기 때문이다. 격자를 어떻게 나눌지, 경계조건을 어떻게 줄지는 실제로 결과를 좌우하는 선택이고, 아무렇게나 정할 수 없다.
그러니 “쉽게 만든다”는 말은 두 가지 중 하나를 뜻한다. 선택지를 줄이거나, 대신 결정해주거나.
우리는 둘 다 하기로 했다. 다룰 수 있는 문제의 범위를 처음부터 좁게 잡고, 그 안에서는 사용자가 정하지 않은 것을 시스템이 합리적으로 채운다.
여기서 자연스럽게 다음 질문이 나온다. 그 결정은 어디서 이루어져야 하는가. 사용자의 기기에서인가, 서버에서인가.
다음 편 예고 — 계산은 어디서 일어나야 하는가. 서버로 보내면 편한데 왜 굳이 기기에서 돌리려 했는지, 그 선택의 대가와 이득을 따져본다.