마흔-906 IT와 명상

하드 코딩 걷어내기

by Noname

나는 IT를 하는 사람이다.

2018년도 하반기부터 명상을 배우면서 IT에 견주어 명상을 설명할 수 있을 것 같았다.


'유전자'를 알고리즘, 혹은 아키텍처로 이해하고,

유전자를 통해서 생성된 우리의 몸을 하드웨어로 인식할 때,

우리의 정신, 혹은 사고 체계는 소프트웨어가 된다.


소프트웨어는 시간이 갈수록 복잡도가 높아진다.

소프트웨어의 4가지 특성은 아래와 같다.


1. 복잡성

2. 순응성

3. 변경성

4. 비가시성



인간이 삶을 사는 4가지 특성을 소프트웨어의 4가지 특성에 비추어보면 아래와 같다.


1. 복잡성 : 인간의 행동과 사고체계는 복잡하고, 종종 종잡을 수 없다.

2. 순응성 : 환경이나 상황, 사람에 따라 적응적이고, 순응적이다.

- 물론, 저항하거나 반항하는 경우도 있지만 이 세상의 혁명 역시, 저항하고 반항하는 자들에게 대다수가 순응하여 가능했다고 볼 수 있다.

3. 변경성 : 인간은 노력, 충격, 감동, 반복 등을 통해서 자신의 신념체계를 바꾸고, 삶을 개선하거나 반대로 자신의 신념체계를 무너뜨리고, 엇가나 갈 수 있다.

4. 비가시성 : 인간의 사고는 블랙박스 처리된다.



소프트웨어를 만들어내기 위한 프로젝트 관리의 핵심 성공 요소를 간략하게 말하자면, 과업의 범위와 일정, 그리고 원가를 잘 관리하여야하는데, 이를 위해서 위험관리가 필수적이다. 그리고 위험관리를 위해서는 명확한 커뮤니케이션과 협상능력이 뒷받침 되어야한다.


내가 '이토록 뜻밖의 뇌과학'을 읽고 감동을 받았던 부분은 '알로 스타시스' 즉, 생존을 위한 자원 배분 계획 및 제어에 대한 내용이었다.


알로 스타시스(본문 발췌) : 뇌의 가장 중요한 임무는 생존을 위해 에너지가 언제 얼마나 필요할지 예측함으로써 가치 있는 움직임을 효율적으로 해내도록 신체를 제어하는 것



소프트웨어라는 건, 시스템을 운용하기 위한 체계로 데이터나 외부 입력 요소를 기반으로 목적한 대로 반응하기 위한 알고리즘과 그 알고리즘 기반으로 코딩되어 있는 덩어리이다.


소프트웨어에서 문제가 발생하는 주요 원인을 살펴보면 아래와 같다.

1. 초기 설계가 잘못된 경우

2. 데이터/입력이 잘못된 경우

3. 유지보수 시 발생하는 변경, 추가 개발, 수정 등에 의한 사이드 이펙트와 리플 이펙트, 오류

- 요즘에는 잘하지 않지만 예전에는 하드 코딩되는 부분들이 많았다. 즉, 소프트웨어 유지보수에서 설계 영역(아키텍처, 모델, 알고리즘)을 연계하지 않고, 즉각적인 상황 대응을 위해서, 혹은 개발자의 편의를 위해서 하드 코딩된 부분들이 소프트웨어를 망치듯, 이 부분을 정련하지 않는 이상, 즉 클린 코드로 만들지 않는 이상, 베드 스멜에 의해서 소프트웨어는 잠식된다.



자, 그럼 인간의 삶이 딱히 아름답지 않은 방향으로 흘러가는 이유를 대사 해보자면,


1. 초기 설계 : 부모로부터 물려받은 유전자가 잘못되어 있다.(태교가 잘못된 것도 이 경우에 해당될 수 있다. 태아가 형성되는 시기에의 자극은 치명적인 오류 발생 가능성을 높인다. )

2. 데이터/입력이 잘못된 경우 : 데이터/입력에 대한 반응은 기획자나 개발자의 섬세함의 정도에 따라 다를 수 있지만 그건 차치하고, 외부에서 지속적으로 주입되는 정보들(매스컴의 세뇌, 부모의 세뇌, 자극 등)을 주체성을 확립하지 못한 유아기에 치명적일 수 있다.

3. 유지보수 시 발생하는 변경, 추가 개발, 수정 : 아름다운 방향인지, 아름답지 않은 방향인지가 중요하다.

- '클루지'라는 책을 보면 인간의 사고 체계가 종잡을 수 없고, 이해할 수 없는 행동을 하는 경우에 대해 이야기한다. 내가 이해하기론 특정 상황에서 가장 최선의 선택을 하기 위해서 경험되고 강화된 행동방식, 혹은 사고의 프레임이다. 알로 스타시스의 관점에서 풀어보면 자원과 노력이 가장 최소로 들어가면서 생존확률이 높은 선택(여기에 그리디 알고리즘을 가져다 붙여도 되겠다.)을 하면서 발생하는 비 일관적 체계이다. 본인에게 즉각적인 이익을 주거나, 살기 위해 했던 순간의 선택들이 경험이 되고, 이 반복 경험들 혹은 단 한 번의 경험이라도 생존과 직결되어 강하게 영향을 미치게 되면 인간은 '그러하게' 변화하게 된다.



1번은 본인이 통제하거나 제어할 수 있는 영역이 아니다. 하지만 변경은 가능하다.

2번 역시 유아기에 발생한 경우, 쉽게 통제하거나 제어할 수 있는 영역이 아니다. 하지만 역시 변경은 가능하다.

3번은 인간이 삶을 살아가면서(소프트웨어를 유지 보수하면서) 어느 정도 변경 및 수정, 추가 개발이 가능한 영역이다.


인간의 사고체계는 1번과 2번에 의해서 주로 자동적 사고를 하게 되어있는데, 그 방향이 주로 부정적인 방향이라고 한다. 내가 3번에 대해 이야기하면서 아름다운 방향인지에 대해 이야기한 것도 같은 맥락이다.


프로젝트 관리에서도 프로젝트의 시작은 낙관적이지만 착수보고 이후부터는 모든 진행과정에서 꼭 필요한 사고가 부정적이고, 회의적인 점검이다. 모든 관점에서 '발생한 것과, 발생할 것들과, 영향을 미칠 잡다한 요소의 파악'이다. 부정적이고, 염세적이고, 소심할수록 위험관리에 능하다. 물론, 위험관리에서 재미있는 것은 긍정적인 것들마저 위험관리 요소이다. 결국 위험을 관리한다는 것은 중도를 지키는 것이려나. 비관치. 낙관 치를 종합하여 중간치를 유지한다.


인생 역시 마찬가지다. '인생사 새옹지마'라고 하지 않던가. 정말 실감하는 말이다. 중용과 중도를 이루긴 어렵지만 지향하면서 살고자 한다면 꽤나 멋진 삶이 될 거라고 확신한다.


어쨌든, 그럼 이렇게 살기 위해서 부정적으로 흐르는 자동적 사고를 수정하고, 유전자에 새겨져 전달되어 온 사고체계, 암 유발 단백질, 외부에서 끊임없이 흘러들어오는 자극적인 세뇌 요소들을 어떻게 변경할까


제목에서도 이미 드러났다시피 '명상'이다.


흔히들 명상하면 '평온한 마음을 만드는 것'이라고 알고 있는데,

마음을 평온하게 만드는 것부터 어려운 사람들의 상태를


일반적인 표현을 빌려 표현하자면, 잡초가 무성해서 온갖 해충들이 꼬인 풀밭에서 제초기로 줄기를 잘라내고 잠깐 그 풀더미를 치운 상태와 같다.


물론 태생적으로 맑게 태어난 사람들이 있다. '멍 때리기'를 잘하고, 잡생각이 별로 없는 사람들이 이런 부류일 것이다.


일단 명상을 하려다 보면 온갖 잡생각, 즉 해충과 잡초가 눈에 아른거린다.

그걸 어찌어찌 처단해서 평온하게 만들었다고 해도,

삶은 정련될 수 없다.


명상을 통해 평온한 상태를 유지하고, 그 평온한 상태를 일상생활에도 적용할 수 있는 체계로까지 만들려면

잡초의 뿌리를 없애야 한다.


잡초의 뿌리를 제거하는 작업이 '죽음 명상, '기억 버리기 명상' 등이 있다.


나도 뭔가 제대로 정련된 삶을 살고 있진 않지만, 조금씩 나아질 수 있었던 것은

소프트웨어를 리버스 엔지니어링 하듯,


나의 하드 코딩된 부분들(충격 혹은 반복, 감동에 의해 새겨진 비 일관적 사고 체계)와

기본적인 사고 흐름을 알고리즘 도로 그리고, 그 판단의 주요 근거가 되었던 사건들을 나열해서

이러한 기억을 재구성하는 방법이었다.


기억을 재구성하고 인식을 바꾸는 것은 최면을 통해 쉽고 빠르게 가능하지만,

스스로 명상을 통해서 할 수 있는 부분이 있다. (생존과 직결될 경우, 쉽지 않다.)


그러니까 하드 코딩된 부분들을 걷어내고, 설계도부터 다시 재정립하는 것이다.


조 디스펜자 교수님의 '당신도 초자연적이 될 수 있다.'라는 책을 추천한다.


keyword
작가의 이전글마흔-907 내면으로, 내면으로