read

풀이는 '태도' 로 수렴된다.

소프트웨어 개발은 코드로 이루어진 논리를 만드는 데 있지만, 그 결과물은 철저히 인간의 것이다. 그렇기 때문에 결국 개발자란 사람이 하는 일은 인간의 요구사항을 풀어서 기계가 하도록 만드는 것일 뿐이다. 다만 기계에게 사람의 말을 이해시키는 게 쉽지가 않아 몇가지 단계를 거치게 된다.

고객 -> 마케터 -> 기획자 -> 개발자 -> 컴퓨터

로 이어지는 순환에서 각 고리는 골치 아픈 번역의 과정과 유사하다. 보통 번역가들이 의역을 어느 정도 까지 해야 하는지에 대해 나름의 기준을 가지고 있는 것처럼 이들도 마찬가지다. 정보 번역의 과정을 이해+대체 라고 한다면 받아들인 정보를 어느 선까지 이해하여 재구성해야 될지 아니면 최대한 원문을 존중하여 그대로 전해줘야 할 지에 대해 하나의 내부적인 기준을 가지게 되고 이것은 결국 업무에 대한 태도로 나타난다.

재구성에 대한 기준을 낮게 가져가게 되면 주어진 정보를 재가공하지 않고 다음 순환 고리로 전해주려 노력할 것이고, 이 기준을 높게 가져가면 자신의 다음 순환 고리가 가장 이해하기 쉽도록 받은 정보를 자신의 몸 속에서 소화시켜 결과물을 만들어 전해주게 될 것이다.

당신이 개발자라고 하고, 어떤 기획자와 프로그램 스펙에 대한 이야기를 하고 있다고 하자. 기획자는 실제 구현은 상관하지 않고 자신의 기획에 대해 이런 저런 기능이 필요하다고 이야기한다. 재구성에 대해 Bar 가 높은 개발자는 이것을 대화와 타협을 통해 적절히 바꾼 다음 기계에게 넘긴다. Bar 가 낮은 개발자는 최대한 기획자의 스펙을 지키려 노력한다. 그것이 기계가 이해하기 어렵다고 할지라도 원래 고객의 의도를 가장 잘 전달하는 방법이라 믿는다.

자 여기서 어느 개발자가 더 효율적인 일을 하고 있는 것일까? 누가 고객의 만족을 위해 최선을 다하는 개발자일까? 쉽지 않은 문제다.

Blog Logo

Ki Sung Bae


Published

Image

Gsong's Blog

Developer + Entrepreneur = Entreveloper

Back to Overview