Article Image
read

아인슈타인

지난 글 버그와 소프트웨어 품질에서 품질을 높이는 작업은 결국 수많은 버그들 중에서 품질과 관련이 있는 버그를 선택하는 문제로 환원된다고 이야기했었다. 그 논의에 따라 나온 질문은 어떤 버그가 품질과 높은 관련이 있음을 어떻게 알 수 있는가 하는 것이었다.

인간은 스스로 자신에게 가장 알맞은 방식에 맞춰 세계를 단순하고 이해하기 쉬운 그림으로 바꿔놓으려 한다. 그리고 자신이 그린 이 같은 우주를 체험의 세계와 어느 정도 대체함으로써 체험의 세계에 대한 이해의 어려움을 극복하고자 한다. … 그는 이 우주와 이 우주를 세우는 일을 자신이 영위하는 정서적 삶의 중심축으로 만드는데, 이는 개인적 체험이라는 가파른 소용돌이 속에서 발견할 수 없는 평화와 고요를 찾기 위한 것이다. … 최대의 과제는 … 순수한 연역을 통해 자신의 우주를 세울 때 이에 필요한 보편적이고 근원적인 법칙에 도달하는 일이다. 하지만 이 법칙에 이르는 그 어떤 논리적 길도 존재하지 않는다. 다만 직관 – 체험에 대한 교감적 이해를 바탕으로 하여 싹트는 이 직관– 을 통해서만 그러한 법칙에 이를 수 있을 뿐이다…

위 글은 선과 모터사이클 관리술에서 인용되어 있던 글이다. 원 저자는 아인슈타인이라고 한다. 책 속의 주인공도 이 부분에 이르러, 직관이라는 한편으로는 허무하기 짝이 없는 그것이 과학적 진보를 이끄는 원동력이었다 라는 이야기에 충격을 받는다. 그것도 아이슈타인 같은 과학자의 입에서 나온 말이기 때문에 더욱 그런 것이다.

“이 법칙에 이르는 그 어떤 논리적 길도 존재하지 않는다. 다만 직관을 통해서만 그러한 법칙에 이를 수 있을 뿐이다.” 즉 질이라는 것에 도달하는 유일한 길은 직관이라는 것이고, 이 직관은 체험에 대한 교감적 이해를 바탕으로 한다는 이야기이다.

체험에 대한 교감적 이해

말이 어려우니 다시 한번 정리를 하자면, 어떤 소프트웨어가 더 높은 품질을 가지는가 또는 어떻게 하면 좋은 품질의 소프트웨어를 만들 수 있는가 하는 문제는 전적으로 직관에 달린 것이고, 이 직관은 체험에 대한 교감적 이해가 많아야 한다는 이야기이다. 그런데 “체험에 대한 교감적 이해” 가 도대체 뭐란 말인가?

체험이란 “직접 겪는 경험”을 의미하는 단어이고, 교감이란 “서로 접촉하여 따라 움직이는 느낌” 이라는 뜻이다. 그러니 이를 이해할 수 있게 풀어써 보자면 스스로 겪은 일들에 대한 느낌들을 따라가며 이해하는 일 정도가 될 것 같다. 한번 풀어써보니 뭔가 알 것 같은 뜻이 되었다. 스스로 겪은 일들에 대해서 반성하고 돌아보며, 이해하는 일을 많이 해야 질에 대한 직접적 파악이 가능하다는 뜻이다.

품질을 높이는 버그 선별을 하기 위해서는

소프트웨어의 품질을 높일 수 있는 버그를 골라내기 위한 직관을 키우기 위해서는, 소프트웨어 개발을 하며 겪은 일들에 대한 느낌들을 따라가며 반추해보고, 그 이해도를 높이는 일이 우선되어야만 한다 가 바로 결론이다.

한줄 요약 : 좋은 소프트웨어를 만드는 첫걸음은 바로 꾸준한 회고다.

라는 다소 과격해 보이는 요약에 도달하고 말았다. 이는 저 두꺼운 책에서 내가 보고자 하는 부분만 보고 모자란 생각들을 통해 얻어낸 것이니, 혹시라도 선과 모터사이클 관리술 책이 담고 있는 내용이 이게 전부일꺼라는 생각은 하지 말아야 한다. 애초에 저 책은 몇 문단으로 요약이 힘들고, 그나마 그 흐름 중 일부를 뽑아내어 배움을 얻을 수 있게 포장하는 정도라도 만족해야 하는 것이다.

Blog Logo

Ki Sung Bae


Published

Image

Gsong's Blog

Developer + Entrepreneur = Entreveloper

Back to Overview