오랜만에 전 직장동료분들을 만나 맛집도 가고 카페에서 개발 얘기, 사업 얘기를 하느라 몇 시간이 훅 지나버렸다. 그러던 중 '직관'이라는 단어가 화두가 되어 언어에 대한 흥미로운 얘기를 나누었다.
직장 동료가 "이 UI가 더 직관적입니다.", "이 코드가 더 직관적인데요?"라고 할 때 어떻게 받아들여야할까.
직관은 경험한 것을 토대로 판단하는 것이다. 하지만 항상 받아들여지는 게 아니고, 많은 사람들이 생각하기에 동의할 수 있는 것이 '직관적'이라고 받아들여져야 한다. 대다수의 사람들이 봤을 때 '내가' 느끼기에 직관적인 UI와 코드는 공감하지 못할 수 있다.
직관이 받아들여지려면 그 사람이 평소에 어떤 것들을 보고 듣는지가 중요하다. 코드는 뻔하게 짜되, 좋은 의미로 뻔하게 짜려면 좋은 코드를 많이 봐야한다. 오픈소스를 많이 봐야하는 이유인 것 같기도 하다.
가끔 '직관적'이라는 단어는 '딱히 말로 설명하거나 근거를 들 수는 없지만 아무튼 내가 보기에 좋아보인다'라는 말을 대신할 때 쓰이게 되는 것 같다. 자주 쓰이는 단어들은 이렇게 종종 오염되곤 한다. 그리고 결국에는 쓰여봤자 아무 의미 없는 죽은 단어가 되어버린다.
그래서 평소에 우리가 잘 안다고 생각했던 단어도 다시 생각해봐야할 때가 있다. 프로그래밍에서도 비슷하다.
함수형 프로그래밍이 뭐지? TDD가 뭐지?
나는 함수형 프로그래밍을 해야해보다는 나는 state를 쓸 때 생기는 사이드이펙트가 싫어가 더 와닿고
나는 TDD를 할거야보다는 나는 테스트를 먼저 짤거야가 더 와닿는다.
무늬만 그럴 듯한 단어보다는 평범한 단어로 생각하면 본질에 더 다가갈 수 있다.
최초의 디지털 카메라를 발명한 코닥의 개발자 스티븐 새슨은 필름을 그릇에 비유했다. '필름은 그릇'이라는 간단한 은유에는 이미지는 어디에나 담길 수 있다는 의미가 담겨있다. 어린아이도, 카메라에 대해 잘 알지 못하는 사람도 이해할 수 있는 평범한 단어로 필름의 본질을 표현할 수 있다.
영어 공부도 그렇다. 영어 공부의 목적은 외국인들과 영어로 소통하는 게 목적인데, '영어 공부'라고 하면 공부 자체가 목적이 되어버린다. 그렇게 10년 넘게 영어 공부를 했지만 외국인들과는 말도 제대로 못섞는다.
'Say it Better in English'라는 책을 쓴 Marianna Pascal은 말레이시아에서 약국에 갔을 때 자신에게 오메가를 판 건 영어를 유려하게 잘했던 직원이 아니라 영어는 못하지만 약을 사는데 필요한 핵심을 말해준 직원이었다고 말했다.
요새는 스마트폰, 노트북 어디에서든 정보를 접할 수 있기 때문에 해야할 것, 하고 싶은 것들이 차고 넘친다. 무엇을 어떻게 해야할지도 유튜브나 블로그, 책에서 전부 알려준다. 근데도 우왕좌왕하게 되는 이유는 그럴듯한 방법론에 취해 진짜 근본적인 문제를 잊어버리기 때문인 것 같다.
언어가 사고를 제한한다. 입 밖으로 내뱉기 쉬운게 말인데도, 말이 생각과 행동에 미치는 영향은 가볍지 않다. 어려운 단어보다는 누구나 알아들을 수 있는 쉬운 단어, 평범한 단어를 써보자.
끝.