취향이 있는 소프트웨어
- 2026-01-25 (modified: 2026-02-11)
- 저자: AK
취향이 있는 소프트웨어.
취향이란
누구나 무엇이나 만들 수 있는 시대일수록 취향이 더욱 중요해지겠다.
난 취향이라는 게 그냥 타고난 심미안이나 절대음감 같은 게 아니라(왜냐하면 인간이 타고난 재능 차이는 생각보다 크지 않으므로) 꾸준히 갈고 닦으며 벼려낸 무언가일거라고 믿는다. 개리 클레인 등이 말하는 전문적 직관skilled intuition이라는 개념이랑도 어느 정도 겹치는 것 같다.
갈고 닦는다는 건 산에서 10년 도를 닦는다거나 하는 게 아니라, 기존 연구들을 부지런히 읽고 본인의 마음 속에서 하나의 정합적인 틀로 담아내려고 노력하는 방식에 가까울거라고 믿는다. 물론 완벽하게 정합적인 지식의 총체란 불가능하니 이 시도는 성공할 수 없고 언제나 진행형이다(동사로서의 완벽). 게다가 내가 만들어가는 틀이 변하는 세상 안에서도 계속 유용하려면 꾸준히 뭘 비워내야만 한다(unlearning).
이런 취향을 가져야 수많은 가능성 중에서 무엇을 선택할지 잘 결정할 수 있을거라고 믿는다. 이 말은, 수많은 가능성 중 대부분을 버린다는 뜻이기도 하다.
내 취향
내가 세운 디자인의 정의를 만족할 것:
모든 시스템에는 더 이상 제거할 수 없는 내재된 복잡성이 존재한다. 이를 해당 시스템에 관여하는 여러 엔티티(네트워크를 이룬 컴퓨터들과 네트워크를 이룬 인간들)의 제한된 요소(메모리, CPU, 기억, 인지, 어텐션, 몸, 환경, 각 엔티티 간 정보전달채널의 지연, 대역폭, 정확성 등)에 가장 효율적으로 분배하고, 각 요소들을 서로 이롭게 연결하는 일이 디자인이다. 이 때 디자이너는 각 요소의 물리적 속성보다는 요소가 전체 시스템 내에서 실제로 수행하는 기능 또는 역할이 무엇인지를 기준으로 생각해야 한다. #
적을수록 좋다:
- 할 수 있는 일의 양(capabilities)이 동일하다면 기능(features)이 적을수록 좋다. (참고: 기능보다는 가능성)
- 기능이 동일하다면 코드의 양이 적을수록 좋다.
- 코드의 양이 동일하다면 오픈 소스의 비중이 높을수록 좋다.
- 코드의 양이 동일하다면 절차적 코드보다 선언적 코드가 좋다.
강렬한 느낌:
- 기존 방식이 크게 잘못되었다는 강렬한 느낌
- 세상에 있어야할 무언가가 아직 없다는 (혹은 세상에 없어야할 무언가가 아직 있다는) 강렬한 느낌
- 배우기 쉬움과 사용하기 쉬움 모두를 달성할 방법을 깊게 고민한다. 타협하지 않기 위해 노력한다.
- 타협을 할 수 밖에 없는 상황이라면 사용하기 쉬움을 선택한다.
잘 설계된 제약:
- 뭘 안해야 하는지 구체적으로 알아야 나머지 가능성의 공간을 자유롭게 탐색할 수 있다. 잘 설계된 제약이 없으면 오히려 탐색에 제약이 생긴다.
- 구조역학이 충분히 발달하고 제약이 극도로 정교해져야 비로소 다양한 현대적 건축물들이 탄생할 수 있게 된다.
내 취향에 영향을 준 소프트웨어/강연/글
취향이 부족한 카피캣
취향이 부족하면 좋은 카피캣 조차도 만들 수 없다. 좋은 제품을 따라하려고 할 때 좋은 제품의 어떤 요소를 베껴야 하는지 감별할 능력이 부족하기 때문. 혹은 “개선”을 한다는 생각으로 개악을 하거나.
예를 들어 맥을 카피한 윈도의 경우, 시작 메뉴+테스크바+시스템 트레이가 10년 가까이 피츠의 법칙을 활용하지도 못하면서 괜히 가장자리를 낭비하고 있었다. (Windows Vista가 나오면서 드디어 해결됐던 걸로 기억한다.)
고려해볼 개념들
아직 잘 정리도지는 않았지만 더 곱씹어볼 개념들