지식 요소의 가공과 분석, 그리고 여러가지 도구의 활용에 관한 내용

디지털 작업공간의 구성과 지속적이고 점진적인 부분적 발전에 대한 생각

예전에 Network 관련 (필자는 material science쪽에서 일하고 있다) 연구할때 만들어둔 구조. 이 글의 내용은 전혀 다르지만, 구조와 비슷한 위상적 특징을 가지고 있다.

삶의 많은 영역이 벤다이어그램처럼 딱 떨어지지는 않는다. 그럼에도 불구하고, 조금의 공통적인 부분이 있다면 거기에 맞춰서 분류하고 싶어하는것이 지식노동자의 속성이 아닌가 싶다. 꼭 개인화 일반화 이야기를 하고자 하면, 사실 용어의 정의부터 시작해야 되는게 맞으나, 잘 정의되지 않은 용어를 관습적으로 사용하는것 역시 비전공적 글쓰기의 맛이라 생각하면서 적어본다. 

여기서 이야기하는 개인화는, 조금은 일반적인 시스템 환경에서 시작해서 사용자 개인의 선호를 위해 조정하는 작업을 이야기한다 (흔히들 이야기하는 커스터마이즈라고 생각한다). 이는 원하는 앱을 설치하고, 단축키를 재설정하고, 사용자환경에 맞는 워크플로우를 구성하는것도 포함되고, 그 모든 과정위에 또 다른 실용적 철학으로 구성된 일종의 레이어를 추가하는것 역시 포함된다고 생각한다.[*] 

가상공간에서의 작업대는 처음의 모습에서 개인화가 진행될수록 점진적으로 바뀌어 나가곤 한다. 오랜 시간이 지난 다음의 전체환경을 구성하는 요소들은, 그 처음의 모습과는 전혀 다른 모양새를 보인다. 그럼에도 불구하고, 하드웨어와 같은 물리적인 부분에서 부터, 운영체제와 같이 한번 종속되면 쉽게 바꾸지 못하는 것들이 있다. 각 전문분야에 맞는 특별한 소프트웨어들이 있다면, 해당 소프트웨어를 경유하는 특별한 워크플로우가 필요하므로 결정적으로 바꿀수없는 지점을 만들어 준다고 할 수 있다. 

이러한 점들을 고려해보면, 적절한 워크플로우를 형성할때는 결정적인 부분을 먼저 고려한 다음에 가능한 경로를 탐색하는 방법을 가지게 되고, 이는 필자의 디지털 작업공간을 형성하는 본질적인 방법론이다. 아마도 이 역시, 그 동안 쌓여온 경험에 의하여 어느정도 작업환경의 모습이 누적되어 있기에 가능한 것이다. 누군가가 취미생활로 예쁜 맥이나 혹은 윈도우 머신을 쓰고 싶다고 한다면, 전혀 상관없는 문제라고 생각한다. 못쓰는건 또 다른걸로 채우면 되고, 이건 그냥 선택의 영역이다. 하지만 누군가가 전문적인 역할을 위해 이를 구비하고 싶다면, 먼저 결정적 요소에 해당되는부분들을 만족하는지 알아볼 필요가 있다. 필요한 기능적 요소를 만족하지 않는데, 심미안적 만족을 위해 사용하는것은 선후가 바뀐 문제라 생각한다.

개인화의 한 끝단에 서서 전체 작업환경을 살펴보면, 통일되지 않은 방법론들이 중구난방적으로 이루어지고, 개인의 기억과 습관에 크게 의존하는 환경이 만들어지곤 한다. 이렇기에, 코드 개발과 마찬가지로 이러한 작업환경을 구성하는것에도 일종의 재구성이 필요하다. 사소한 모든것들을 바꿀 수 없지만, 의식적으로 하나의 스타일을 생각한다면, 적어도 한 가지(branch)를 구성하는 워크플로우내에서는 비슷한 환경을 구성하는것이 가능하다.[**]

작은 아이디어들이 유기적으로 연결되어 큰 그림을 완성시키는 과정은 결코 순탄하지 않다. 혹은, 큰 그림 자체가 작은 아이디어가 확장되고 현실화되면서 만들어지는 경우도 있다. 그렇다면, 아이디어들을 즉각적으로 작성할 수 있고 유기적으로 결합할 수 있는 작업환경을 어떻게 구성하는 것일까? 이는 필자에게 있어서 가장 중요한 생각이고 향후 새로운 글타래를 열어 한 번 자세히 논해보고자 한다.[***] 이 글의 논지에 비추어 간략하게 이야기하자면, 어떤 아이디어를 머리속의 배경적 지식 고리내에서 들어내서 적어놓게 되면 물리적으로 보여지는 지식의 조각은 함축적이지만, 지식의 맥락적 정보가 사라지게 되므로 그 순간이 지나고 난 다음에 아이디어 노트로서의 가치가 줄어들기 시작한다. (여기에 관한 이야기는 다음 글타래를 참조: 지식 단위조각의 맥락적 구조와…)

이러한 세세한 디테일에서 나오는 개인화를 모아보다보면, 어느덧 전체적인 워크플로우가 나오곤 하는데, 그 안에 들어있는 사고는 어떤경우에는 여러 경험적 요소가 함께 결합되었고 나름의 깊은 철학적 토대위에 건설된 경우도 있지만, 오래전에 우연하게 보고 사용해본 좋아보이는 방법론이 여태까지 살아있는 경우도 있다. 기본적으로 워크플로우를 고려하기 시작하는 시점에서는, ‘어떻게든 지적 생산품을 만들어낼 수 있는 환경’과 같이 가장 기본적으로 충족해야 할 조건은 만족했다고 생각한다. 이러한 워크플로우를 생각하고, 각 세세한 부분들에 대한 고민은, 필자의 경우에는 ‘재미’에서 비롯되는 부분이 있지만, 실질적인 적용에 대한 부분은 바로 잘 정의하기 힘든 ‘생산성’이다. 그리고 각 세부적인 작업환경의 도구가 전체 워크플로우에 녹아나지 않는다면, 작업도구가 많아지면서 점차 작업자의 주의를 흐트리게 된다.[****]

재미있는 부분은 일종의 bottom-up 방법으로 생산성 개선을 수행하거나, 혹은 특별한 기능이나 새로운 환경이 필요해서 작업환경이 확장되는등 자연스러운 워크플로우의 변화에 있다. 경험과 전문성이 깊어질수록 워크플로우의 확장 및 그 구성성분의 특성들이 다양해져서 하나의 관점으로 디지털 작업공간을 바라보기가 힘들어진다. 이는, (지식 노동의 속성과 마찬가지로) 작업환경에도 일종의 맥락적 정보가 구성되고 전혀 다른 맥락에서의 작업환경을 잇기 시작할때는 어느정도 노력이 필요한 문제가 있다. 필자의 개인적인 기억용량은 매우 작고 한계가 있어서, 여러 다른 맥락에서 나오는 도구들이 중구난방으로 흩어져 있을때는 금세 힘들어지곤 한다. 언제부터인가 이러한 이유에서인지 예전에 몇 몇 소프트웨어 위주로 환경이 구성되었을때와는 다르게 단축키나 그 소프트웨어중심으로 환경을 특화시키는것은 지양하고 있다. 물론 아주 오래 사용하던 소프트웨어거나, 거의 모든 작업에서 스탠다드로 활용하고 있는 소프트웨어 같은 경우에는 이미 익숙해진 부분이 있다보니, 작업환경에 녹여내기 위해 여러가지 방법론을 실천하고자 한다. 여기에 대해서는 새로운 글타래 [디지털 작업환경에서 통일성에 관한 이야기]에 기술하도록 하겠다.

[*] 중요한것은, 이러한 개인화가 스스로가 이해할수 있는 작업공간의 통일성을 해쳐서는 안 된다. 이는 각 기능들의 특별한 점을 잘 

[**] 개발자는 아니지만 C++ 및 Python과 bash script를 자주 활용하는 입장에서는, 맥에서 터미널과 Emacs를 이용한 환경 구성, 그리고 git으로 연구센터 서버의 개인공간과 동기화시키는 기능등은 아주 기본적으로 많이들 사용하는 환경구성이라 할 수 있다. 그 속에서도, 개인의 코드 개발 방법론 역시 그 사람이 겪어온 경험과 가지고 있는 철학에 크게 의존하기에, 세세한 코드들을 뜯어보면 나라는 스타일이 묻어남을 알 수 있다 (나의 스타일이 좋은 스타일이라는것을 의미한 것은 아니다). 

[***] 모든 지식노동자의 숙명이 아닌가 싶다. 아이디어와 현실화는 모든 단계에 녹아있고, 모든 스케일에서 서로 결합하기에, 필자는 이는 ‘본질적으로 비선형적인 결합’관계라 부른다. 정형화할수 없는 이러한 개념을 전문적인 학문적 내용으로 기술하는것은 필연적으로 논리적인 비약을 동반한다. 전문성은 그 비약을 얼마나 그 분야에 맞춰 잘 설명하는가에 있겠지만, 필자는 이러한 아이디어, 현실화, 정보 조각등의 분야에 종사하는 사람이 아니므로, (비전공적 글쓰기에 맞추어) 엄밀하지 않은 이런 수학적인 비유를 하도록 하겠다. 

[****] 예로들어, 판데믹 이후 많이들 사용하는 화상 회의를 보면, 처음 시작할때는 손을 들어서 Moderator에게 발언권을 획득하는 단계가 informal한 (비교적) 소규모 회의에서도 상당히 중요해진다. 여기에서 우리는 ‘손을 드는 방법’부터 다시 배워야 한다. 그리고 다들 겪어봤겠지만, 화상 회의에서의 분위기 및 토론 환경은 직접 만나서 하는경우와는 많이 다르다.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *