본문 바로가기
행위 돌아보기/독후감상문

[관점을 디자인 하라] 책을 읽고

by simplify-len 2022. 12. 4.

관점을 디자인하라고? 뭘 어떻게?

이 책의 목차만 봐도 이 책에 대한 내용을 한눈에 알 수 있을 것 같다. 심지어 그 안에 내용은 읽어보지 않아도 될 정도로. (우리 회사에서 이 책의 목차만 따로 전사 공유된 적이 있다)목차에 표현된 많은 내용이 '관점을 디자인하라'라는 책 제목과 유기적으로 연결되어 있는지는 잘 모르겠다.이건 저자 마음이니까.

읽으면서 개인적으로 약간의 취사선택을 하지 않았나 싶다. 마치 100개의 맛있는 음식이 진열되어 있더라도, 그중 내가 소화할 수 있는 양은 1~2개 정도의 음식이 있는 것처럼 말이다.

파트별로 카테고리를 나눠서 설명하고 있는데, 카테고리의 의미가 잘 이해되지 않았고, 파트별 작은 주제 하나하나가 파트와 같은 카테고리처럼 느껴졌다. 왜 그렇게 느껴졌는지 생각해보면, 파트별 작은 주제 하나하나가 추상적인 내용과 광범위한 내용 그사이 어딘가에 있기 때문이라고 생각했다.

이 책을 읽고 3줄 요약 장인을 빙의한다면 이렇다.

나만의 확고한 가치관과 의견을 가져라.
그것을 기반으로 경험 경험치를 쌓고 당연한 것이라 여겼던 것을 의심하라.
그것이 곧 관점을 비틀 수 있는 확장된 눈을 가질 수 있게 한다.

--

나도 모르는 나의 관성이 있다.


최근의 회사에서 혼자 서비스를 개발하고, 이것을 운영해오고 있었다. 혼자 하다 보니, 마음이 편했다. 내가 개발하면 그것이 곧 기능으로 나갔다. 누구의 리뷰도 필요하지 않았다. 머릿속으로는 그것이 좋지 않음을 알고 있었지만, 마음은 편안했다. 그러던 중, 일부 덩치 큰 기능을 개발해야 하는 상황에서 나를 제외한 2명의 개발자가 더 투입되면서 마음 편하게 개발하던 것이 불편했다. 더 나은 서비스를 제공하기 위해서는 당연히 필요한 부분이었으나, 마음에 지니고 있던 관성이 나도 모르게 깨져 버렸던 게 아닐까?

이 책에서 말하는 '관성'은 아마도 위와 같은 게 아닐까 싶다. 편안함에 익숙해진 나머지 나도 모르게 이것을 영원히 깨고 싶지 않은 것이다.

그런데도 위와 같은 관성을 깰 수 있었던 것은 나만의 개발 가치관이 뚜렷했기 때문이라 생각한다. 이 책에서는 '자신만의 정의를 가졌는가?' 라는 주제에서 비슷한 맥락을 말하는데 격하게 공감하면서 읽었다.

내가 생각하는 좋은 개발자라는 정의는 '자신만의 정의를 가졌는가?' 여기에서 시작된다고 생각한다. 대부분의 초보 개발자는 남의 코드를 보고 따라 치기 급급하다. 그래서 똑같은 코드 스타일이 여기저기 있음을 종종 발견하곤 한다. 심지어 더 나은 코드가 있음에도 불구하고. 더 나은 개발자는 남의 코드를 보고 왜 이 코드를 이렇게 작성했을까? 라고 대화를 하며 그 코드에 대해서 물음표를 남긴다. 그 물음표에 대해서 마침표를 찍기 위해서는 내 생각이 중요하다. 그것이 맞거나 틀리거나 가 중요하지 않다. 자신만의 정의에 따라 남에게 설명할 수 있다면 나는 그것이 좋은 개발자라 생각한다.

--

그 어디에도 복잡한 것은 없다.

나는 나 자신을 한 줄로 설명한다면 이렇게 하고 싶다.

'모든 것을 단순화시키고 싶은 김정규'

'단순'이라는 용어는 자칫 오해를 종종 일으키곤 한다. '그럼 넌 생각이 없냐?' 라는 질문이 대표적이다.

내가 말하고자 하는 단순화는 생각보다 세상은 복잡한 게 없다는 게 나의 생각이다. 분명 이런 생각을 가지기 전의 나는 생각이 많았던 사람이다. 그러나 그것이 언젠가부터 불필요한 비용이라 판단이 되는 순간부터 나는 단순함에 매료되었다.

개발은 더더욱 그렇다. 사실 컴퓨터는 0, 1밖에 모른다. 0.5라는 숫자는 컴퓨터에 허락되지 않는다. 우리가 느끼는 복잡함은 사실 단순한 것을 복잡하게 생각하기 때문이라는 생각을 한다. 개발 이야기를 했으니, 조금 더 이야기해보면 가끔 이런 순간이 있다. 특정 기능의 구현이 드러나기 전까지 어렵게만 느껴졌던 부분이 단 2~3줄로 완성이 되는 경험이라던가, 엄청 대단해 보이는 기술이 사실 굉장히 단순한 기술 2~3개가 융합된 형태일 뿐이었던 경험 등이 있다.

단순하게 생각하고 결정을 내린다. 그것이 만약 의도한 바에 다르게 흘러간다면 흐름에 맞춰서 나를 변화시키거나 방향을 전향하면 된다.

---

관점이 차이가 곧 격차를 만들어 낸다.

내가 존경하는 개발자가 있다. 무려 나보다 10년 이상 경력의 차이가 있다. 이 사람은 늘 나에게 이렇게 말한다. '나보다 네가 더 개발을 잘 안다. 너랑 나 사이의 격차는 종이 한 장 차이다'라고.

후…. 이 얘기를 처음에 들었을 때 대단히 분개했다.

똑같은 문제를 줬을 때, 존경하는 개발자와 내가 문제를 푸는 과정을 살펴보면 정말 딱 한 줄? 극히 적은 코드의 차이가 있었다. 그런데도 그 차이가 실제 프로덕트에서는 더 큰 차이의 만들어 내는 것을 목격했다. 내가 이 책을 선정한 이유도 바로 여기에 있다.

'관점이 차이가 곧 격차가 만들어 낸다.' 문제를 의심하면서 더 간결한 방법이 있을 수 있음에도 그것을 찾지 못하는 것은 관점에 있다고 생각한다. 이 책은 내가 목표로 한 '관점 차이'에 대해서 열심히 떠들어 주었기 때문에 목표를 달성했다. 동시의 업무에 곧바로 적용해볼 만한 부분도 발견할 수 있었다.

댓글