What are you curious about?

  • Thoughts

거인의 어깨에 올라간다는 것

이해되지 않는 선택 앞에서 내가 놓친 풍경을 묻는다. 결론뿐 아니라 그 결론에 이른 경험과 시야를 배우는 일.

HIGH ABOVE.
DEEP WITHIN.
SOFTWARE
PEOPLE
A BRIGHTER TOMORROW.

거인의 어깨 위에 선다는 것은 남의 지식 위에서 더 먼 곳을 보는 것만이 아니라고 생각합니다. 앞서간 사람이 도달했던 곳까지 올라가, 그 사람이 보았던 풍경을 나도 볼 수 있게 되는 것이기도 합니다. 살아가면서 도전하고, 실패하고, 선택하고, 책임지다 보면 오래전에 들었던 문장들이 다르게 들릴 때가 있습니다. 문장이 달라진 것은 아닙니다. 달라진 것은 내가 서 있는 곳입니다. 그래서 저는 요즘 이런 질문을 자주 합니다.

“나보다 더 높은 곳에 올라간 사람은 무엇을 보고 있을까?”

같은 것을 보고 있어도 보이는 것은 다릅니다

처음 개발을 배울 때는 코드가 동작하는지가 중요했습니다. 조금 지나면 코드의 구조가 보이기 시작합니다. 더 지나면 변경했을 때 어디까지 영향을 미칠지가 보입니다. 그리고 여러 사람이 오랫동안 사용하는 소프트웨어를 만들다 보면 코드 밖의 것들도 조금씩 보이기 시작합니다. 누가 이 코드를 유지보수할지, 몇 년 뒤에도 이해할 수 있을지, 문제가 발생했을 때 원인을 찾을 수 있을지, 지금의 편한 선택이 앞으로 얼마나 많은 예외를 만들어낼지.

똑같이 코드를 작성하는데 달라진 것은 그것을 바라보는 사람의 시야입니다.

이해되지 않을 때 질문을 바꿉니다

일을 하다 보면 가끔 이해되지 않는 선택을 마주합니다. “왜 굳이 이렇게 했지?” “더 간단하게 하면 되는 것 아닌가?” “왜 이렇게까지 확인하지?” 처음에는 보이는 것만으로 판단하기 쉽습니다. 그런데 평소 깊이 존중하는 사람이 이해되지 않는 결정을 내렸다고 생각해봅시다. 그 사람의 판단을 여러 번 경험했고, 내가 보지 못했던 문제를 먼저 발견하는 모습을 봤고, 그 사람이 어떤 기준으로 일하는지를 오랫동안 지켜봤다면 쉽게 “저건 잘못된 선택인데?”

라고 생각하기 어려워집니다. 대신 질문이 바뀝니다. “내가 보지 못한 것은 무엇이지?” 상대방이 항상 옳다고 생각하는 것은 아닙니다. 아무리 뛰어난 사람도 틀릴 수 있습니다. 다만 내가 이해하지 못했다는 이유만으로 상대방의 판단이 틀렸다고 바로 결론 내리지 않는 것입니다. 내가 알고 있는 정보가 전부인지, 상대방에게는 내가 모르는 제약이 있었던 것은 아닌지, 과거에 비슷한 문제를 경험했던 것은 아닌지, 나는 지금을 보고 있지만 그 사람은 그다음까지 보고 있는 것은 아닌지 생각해봅니다.

존중은 상대방의 판단을 무조건 받아들이는 태도가 아니라, 내가 아직 보지 못한 것이 있을 가능성을 남겨두는 태도에 가까운지도 모르겠습니다.

결과보다 그곳에 도달한 과정을 보고 싶습니다

이 생각은 제가 무언가를 배우는 방식에도 영향을 주었습니다. 예전에는 좋은 원칙을 발견하면 그 결론을 배우려고 했습니다. 지금은 조금 다른 것이 궁금합니다. “무엇을 경험했기에 이런 말을 하게 되었을까?” 애자일에서 이야기하는 ‘동작하는 소프트웨어를 포괄적인 문서보다 더 가치 있게 여긴다’는 원칙도 그렇습니다. 결론만 가져오면 간단합니다. “문서를 줄이면 되는구나.” 하지만 실제로 문서를 줄이기 위해서는 오히려 많은 것이 필요합니다.

코드 자체가 이해하기 쉬워야 하고, 이름과 구조가 의도를 전달해야 하고, 변경이 작고 추적 가능해야 하고, 팀원 사이에 충분한 소통이 있어야 합니다. 필요한 지식이 문서가 아닌 다른 형태로도 전달되고 유지될 수 있어야 합니다. 그런 경험과 환경 없이 결과만 따라 하면 겉모습은 비슷해도 전혀 다른 것이 됩니다. 그래서 이제는 누군가가 남긴 원칙을 볼 때 그 문장 자체보다 그 사람이 그 문장에 도달하기까지 무엇을 보았는지가 궁금합니다.

어떤 실패를 반복했는지, 무엇이 문제였는지, 무엇을 시도했고, 그중 무엇을 버렸는지. 그리고 그런 것들을 직접 하나씩 경험하고 나면 예전에 읽었던 문장이 전혀 다르게 읽힐 때가 있습니다. 문장은 그대로입니다. 내가 그 문장이 있는 곳까지 조금씩 올라온 것입니다.

함께 일한다는 것은 서로의 시야를 빌리는 일인지도 모릅니다

같은 문제를 바라보고 있어도 역할과 경험에 따라 보이는 것은 다릅니다. 개발자는 구현의 어려움을 보고 있을 수 있습니다. 시험하는 사람은 검증의 어려움을 보고 있을 수 있습니다. 운영하는 사람은 문제가 발생한 이후의 비용을 보고 있을 수 있습니다. 사용자는 매일 반복되는 작은 불편을 보고 있을 수 있습니다. 관리자는 지금의 한 가지 결정이 여러 사람과 앞으로의 일정에 미칠 영향을 보고 있을 수도 있습니다. 그래서 함께 일하기 위해서는 상대방과 같은 생각을 하는 것보다 먼저 상대방이 보고 있는 것을 볼 수 있어야 한다고 생각합니다.

그곳까지 올라가서 같은 것을 바라본 뒤에도 의견이 다를 수 있습니다. 그건 괜찮습니다. 오히려 그때부터 진짜 논의가 시작될 수 있습니다. 서로 무엇을 알고 무엇을 모르는지, 무엇을 똑같이 보면서 무엇을 다르게 판단하는지 이야기할 수 있기 때문입니다.

다시, 거인의 어깨

제가 말하는 높은 수준은 사람의 서열을 의미하지 않습니다. 누가 더 뛰어나고 누가 부족하다는 이야기도 아닙니다. 지금의 자리에서는 보이지 않는 것을 볼 수 있는 곳까지 경험과 이해의 범위를 넓혀보자는 의미입니다. 그곳에 올라가면 처음에는 이해되지 않았던 선택이 왜 필요했는지 알게 될 수도 있습니다. 반대로 충분히 이해한 뒤에도 그 선택이 잘못되었다고 판단할 수도 있습니다. 둘 다 괜찮습니다. 중요한 것은 아직 보지 못한 상태에서 너무 빨리 결론을 내리지 않는 것입니다.

그래서 존중하는 사람의 행동이 이해되지 않을 때 저는 질문을 바꾸려고 합니다. “왜 저렇게 했지?”가 아니라, “저 사람에게는 무엇이 보였던 걸까?” 그리고 언젠가 그 사람이 바라보던 곳까지 올라갔을 때 다시 한번 같은 질문을 던져보고 싶습니다. 그때도 생각이 다르다면, 그제야 우리는 같은 풍경을 바라보면서 서로 다른 생각을 이야기할 수 있을 것입니다. 거인의 어깨 위에 선다는 것은 어쩌면, 먼저 그곳에 올라간 사람이 보았던 풍경을 나도 볼 수 있는 사람이 되어가는 것인지도 모릅니다.

책을 읽는 이유는 답이 아니라, 내 생각을 잃지 않기 위해서입니다

책과 기록은 이미 안다고 생각했던 것을 다시 묻게 한다. 수많은 목소리 속에서 내 생각을 잃지 않기 위해 읽는다는 것.

양승민

안다고 생각하는 순간, 질문은 멈춥니다

같은 질문에도 경험과 관점에 따라 다른 답이 나온다. 이미 안다고 생각하는 것에도 질문을 멈추지 않으려는 이유.

양승민

직관은 경험이 압축된 결과입니다

빠른 판단 뒤에는 경험과 학습이 쌓여 있다. 직관을 결론이 아닌 확인할 신호로 받아들이고, 근거로 교정하는 태도.

양승민
See all