나의 일을 컨테이너(Container)에 담기



 

 

컨테이너는 철학이다

 

컨테이너는 바퀴의 발명에 견줄 정도로, 물류의 혁신을 가져온 최고의 발명품이다.

무엇이든 담을 수 있고, 어디에든 보관할 수 있으며, 배, 기차, 화물트럭 등 무엇으로도 나를 수 있다. 화물을 적재하고, 적재된 화물을 꺼내기에도 매우 간편하다. 그 과정에서 별도의 인력이 거의 필요없다. 일단 물건이 실린 컨테이너가 쉽게 열리지 않게 단단히 걸어 잠근다. 항구에서는 지게차로 크레인까지 옮기고, 크레인으로 컨테이너선으로 옮기면 끝이다. 도착한 항구에서는 역순으로 이루어진다. 하역된 컨테이너는 필요한 곳까지 기차나 트럭에 실려 운송된다. 모든 것은 규격화 되어 있고, 표준화된 규격에 따라 물류 체계가 갖추어져 있다. 컨테이너 안에 실린 물건을 확인할 필요가 없으며 컨테이너에 따라 붙은 서류( 또는 전산 기록)으로 컨테이너의 정보는 관리된다.

이처럼 컨테이너가 물류의 혁명을 가져오게 된 중요한 특징을 간단하게 정리하면 '격리된 공간의 규격화'라고 볼 수 있다. 컨테이너를 이루는 단단한 철판과 내구성은 공간의 격리 기능을 더욱 강화시켜준다. 그리고 세계적으로 통일되어 있는 컨테이너 규격은 플랫폼(platform) 독립이 가능하게 한다. 여기에서 플랫폼은 항구의 선적장부터 배나 트럭과 같은 운송수단 등 컨테이너를 다룰 수 있는 모든 체계를 말한다. 

'격리된 공간의 규격화' 개념은 물류 혁명만 가져온 것이 아니다. 실제로 컴퓨팅 분야에서도 프로그램의 런타임 파일과 실행파일을 표준화된 규격으로 묶은 단위를 컨테이너 개념으로 응용하고 있다. 대표적인 서비스가 바로 도커(Docker)다.

 

 

도커 컨테이너는 일종의 소프트웨어를 소프트웨어의 실행에 필요한 모든 것을 포함하는 완전한 파일 시스템 안에 감싼다. 여기에는 코드, 런타임, 시스템 도구, 시스템 라이브러리 등 서버에 설치되는 무엇이든 아우른다. 이는 실행 중인 환경에 관계 없이 언제나 동일하게 실행될 것을 보증한다. 

- 위키백과 <2023. 11. 1. > -

 

따라서 컨테이너는 커다란 사각형 철제 케이스에 불과한 것이 아니라, 격리된 시공간을 규격화하는 철학이라고 할 수 있다.

 

 

내 일상도 컨테이너에 담을 수 있을까

 

그런데 컨테이너 즉, '격리된 시공간의 규격화' 개념을 일상에도 적용할 수 있을까.

참고로 나는 매일 매일 실행하는 루틴을 갖고 있다. 

업무를 말하는 것은 아니다.

매일 아침 출근길에 30분 5단 묵주기도를 하고, 30분 철학 강의를 듣는다. 그리고 내가 관리하는 파이썬 프로젝트와 관련한 테스트 코드 하나를 추가한다. 저녁에는 클래식 기타 연습을 한다. 그리고 자기 전까지 하루 5천보 걷기와 플랭크 4분을 채운다.

이 일과는 2023. 11. 1. 현재 내가 매일 실천하겠다고 마음먹은 루틴이다. 최소한 이 정도는 완수하고 잠에 들겠다고 마음먹은 최소량이다. 

그런데 주로 문제는 테스트 코드를 작성하는 과제, 즉 프로그래밍 쪽에서 발생했다. 하루에 하나씩 테스트코드를 작성해가자는 것은 프로젝트를 이해하고, 파이썬 프로그래밍 감각을 유지하기 위한 최소한의 루틴이 되어야 함에도 불구하고, 간혹 문제가 발생하면 하루 이틀은 훌쩍 넘길 수 밖에 없었다. 그것은 프로그래밍 작업은 도중에 끊으면 전체를 다시 파악하고 시작하는 것이 힘들어, 도저히 중간에 멈출 수 없었기 때문이다. 

다양한 형태의 화물을 표준화된 규격으로 짜여진 컨테이너에 담는 것처럼, 내 하루 일과도 그렇게 규격화된 사이즈로 재단해서 차곡차곡 쌓아갈 수는 없을까.

어떻게 일상을, 업무를 컨테이너에 담을 수 있을까. 

쓸데없어 보이지만, 나름 진지한. 그러다보면 쓸모를 찾을 지도 모르는 나의 고민은 그렇게 시작되었다.

 

 

컨테이너 철학의 핵심 세 가지

 

우리가 찾을 수 있는 컨테이너의 핵심은 세 가지다. 컨테이너가 뭔지 이해한다면 그리 어렵지도 않은데, 정리하면 세 가지 핵심 즉, 격리화, 규격화 그리고 표준화라고 할 수 있다.  

첫째, '격리화'는 컨테이너 안과 밖이 서로 섞이지 않음을 말한다. 전체와 컨테이너와의 상호 격리. 전체는 컨테이너의 내부에 영향을 미치지 않아야 하고, 반대로 컨테이너의 내부도 전체에 영향을 주지 않아야 한다. 

둘째, '규격화'는 컨테이너가 격리하는 시공간의 크기는 일정해야 함을 말한다. 다이소에서 구입할 수 있는 수많은 바구니처럼 크기가 다양하다면, 바구니는 물건을 담은 포장재로서의 기능밖에는 하지 못할 것이다. 쌓고, 옮기고, 보관하는 업무가 일정하게 이루어지려면 일정한 규격으로 통일되어야 하고, 그 규격이 반드시 지켜져야 한다.

셋째, '표준화'는 규격과 원칙이 해당 분야를 뛰어넘어, 개인으로서는 일상의 생활 전반에, 조직으로서는 조직 전반의 표준으로 자리잡는 것이다. 흔히 규격화와 표준화를 비슷한 개념으로 사용하는데, 그 둘은 유의어일 뿐 동일어는 아니다. 규격화가 광범위하게 이루어지는 것을 표준화라고 구분지을 수 있다.

업무와 일상을 컨테이너화한다면, 위 세 가지 개념을 충족할 수 있는 원칙과 규격이 수립되어야 할 것이다.

나는 그것을 컨테이너 원칙과 컨테이너 규격이라고 부르고자 한다.

내가 컨테이너화하고자 하는 것은 업무와 일상이므로, 결국 작업 컨테이너 원칙과 작업 컨테이너 규격을 정하는 것이 필요하다.

 

 

나만의 작업 컨테이너(Container) 원칙과 규격

 

아래는 나만의 작업 컨테이너 규격과 원칙이다.

 

먼저 작업 컨테이너 규격이다.

[작업 컨테이너 규격]

1. 표준 작업 컨테이너 : 30분 (준비 5분, 작업 20분, 정리 5분)
2. 대형 작업 컨테이너 : 60분 (준비 5분, 작업 45분, 정리 10분)

'준비'는 이전 작업에서 자연스럽게 이어지기위한 예비 작업을 말한다. 이전 작업 컨테이너가 남긴 '향후 작업'의 내용 파악, 오늘 작업 컨테이너가 전체 프로세스에서 차지하는 위치, 어떤 내용으로 채워져야하는 지 방향 등을 준비한다.
'작업'은 작업 컨테이너의 핵심 내용이다.
'정리'는 다음 작업 컨테이너의 내용이 어떻게 되어야 하는 지 구체적이고, 자세하게 기술하는 것이다. 

 

다음은 작업 컨테이너 원칙이다.

[격리화] - 전체와 컨테이너의 상호 격리

(1) 전체 작업과 컨테이너 작업은 상호 격리되어야 한다.
(2) 컨테이너 작업과 별도로 전체 작업은 그 자체로 완전해야 한다. (프로그래밍의 경우, 작업 컨테이너 영역에 있는 부분과 별도로, 나머지 전체 영역은 '실행 가능'하고 '테스트 통과'해야 함)
[규격화] 

(1) 컨테이너 작업은 이전 컨테이너 작업 및 이후 컨테이너 작업에 정확하게 결합될 수 있어야 한다.
(2) 컨테이너 작업과 컨테이너 작업 사이의 시공간적 간격은 무시되어야 한다.
(3) 규격에 맞는 한 컨테이너 작업은 언제 어디에서나 수행될 수 있어야 한다.
[표준화]

(1) 작업 컨테이너는 내 삶에 있어서, 분야에 관계없이 적용가능한 표준으로 자리잡아야 한다.
(2) 컨테이너의 규격에 따라 데이터로 저장될 수 있고, 저장된 데이터를 향후 활용할 수 있어야 하며, 컨텐츠로 쉽게 가공될 수 있어야 한다.

 

 

일상을 컨테이너에 담아보기

 

일상을 컨테이너에 담는 과정에서 가장 먼저 고려되어야 하는 것은 컨테이너에 담을 작업과 그렇지 않을 작업을 구분하는 것이다.

나의 하루 모든 일상을 30분 또는 1시간 단위로 끊어서 진행하는 것은 무의미하다. 내가 볼 때, 작업 컨테이너에 싣기에 가장 좋은 작업은 매일 반드시 진행해야하는 루틴이다. 

컨테이너에 실을 만한 작업이 판단되면, 아주 간단하게 실행하는 방법은 타이머를 30분(또는 1시간)에 맞추고, 작업을 시작하는 것이다. 먼저 사전 준비(5분)를 통해 오늘 이루어져야 하는 작업의 내용과 성격, 방향을 파악하고 나면, 20분간 집중하여 실행한다. 마지막으로 정리(5분)하는 과정에서 다음 작업 컨테이너에서는 어떤 작업이 이루어져야 하는지 구체적으로 기술해둔다.

이 단순한 작업 원칙은 짧지만 결코 짧지 않은 20분을 온전히 집중하여 작업할 수 있도록 하고, 전후 5분간 배치되어있는 작업에 대한 기술을 통해 시공간을 초월하여 이전 또는 다음 작업 컨테이너와 서로 연결되게 해준다. 시간과 장소를 불문하고 30분만 확보할 수 있다면 어떤 작업이든지 끼워맞출 수 있고, 자투리 시간으로 이루어진 작업 컨테이너가 여러 개 모이면 하나의 온전한 전체 작업으로 기능하는 효과를 얻을 수 있다.

 

 

#847489 #sd231101110933

('23. 11. 6. 까지 총 2회 수정)