삶은 종종 복잡한 코드처럼 느껴집니다. 의도한 대로 흘러가지 않고, 에러는 예고 없이 발생하며 디버깅은 끝이 없죠. 그런데 흥미로운 건, 그 복잡함 속에서도 분명한 구조가 있다는 사실이에요. 마치 프로그램처럼, 인간의 삶 역시 일정한 패턴과 흐름을 따라 움직입니다.
삶은 수많은 루틴으로 이루어져 있어요. 기상 시간, 아침 식사, 일과 시간, 퇴근 후의 루틴까지. 반복되는 일상의 구문들이 우리 안에 자리 잡아 자동으로 실행되죠. 루틴은 피로할 때도 있지만, 동시에 우리에게 안전한 울타리를 제공해요. 프로그램에서 function은 필요한 동작을 반복해서 처리함으로써 전체 코드의 효율성을 높이죠. 사람도 마찬가지입니다. 반복 속에서 안정을 찾고, 나만의 흐름을 조율해 갑니다.
그런데 이 루틴이 무조건 좋은 건 아니에요. 너무 오래된 루틴은 낡은 코드처럼 삶을 비효율적으로 만들기도 해요. 그래서 때때로 우리는 자신의 루틴을 점검하고, 리팩토링할 필요가 있죠. 안 맞는 습관을 지우고, 새로운 루틴을 설계하는 것. 그것이 성장이기도 해요.
그러나 루틴만으로 삶이 구성되진 않아요. 우리의 인생에는 항상 이벤트가 끼어들죠. 뜻하지 않은 연락, 우연한 만남, 갑작스러운 이별. 예측하지 못한 변화는 우리가 익숙한 루틴을 멈추고 새로운 선택을 하게 만듭니다. 프로그래밍에선 event가 기존 흐름을 중단하고 다른 동작을 실행하게 만들듯, 우리의 삶에도 이벤트는 전환점을 만들어내요.
이벤트는 당황스럽고 혼란스러울 수 있어요. 하지만 많은 경우, 진짜 성장은 이런 비정상적인 흐름에서 시작됩니다. 낯선 자극이 루틴을 흔들고, 그 틈에서 우리는 다시 나를 돌아보게 되니까요. 우리가 진짜 원하는 건 무엇인지, 지금 이 선택이 나를 어디로 데려갈지를요.
그리고 우리는 지금 이 순간에도 무언가를 쌓아가고 있어요. 하루의 감정, 지나간 결정, 말하지 못한 생각들. 마치 스택(stack)처럼요. 스택은 후입선출(LIFO) 구조, 즉 마지막에 쌓인 것이 가장 먼저 호출되는 구조예요. 사람의 감정도 그래요. 가장 최근의 경험이 우리의 반응과 선택에 가장 큰 영향을 미치죠.
예를 들어, 어제 겪은 모멸감이 오늘의 대화에서 과도한 방어로 나타날 수도 있고, 오래전 슬픔이 아직 사라지지 않아 여전히 우리의 판단을 흐릴 수도 있어요. 그래서 삶은 앞으로만 나아가는 게 아니에요. 우리는 스스로를 이해하기 위해, 때때로 스택의 아래를 들여다봐야 하죠. 거기엔 지금의 나를 만든 지난 시간들이 켜켜이 쌓여 있으니까요.
프로그래밍과 달리, 인간의 삶은 정해진 정답이 없어요. 같은 이벤트에도 누구는 무너지고, 누구는 성장해요. 같은 루틴도 누군가에겐 지옥이고, 누군가에겐 축복이 되죠. 하지만 우리가 프로그래머처럼 나 자신을 바라볼 수 있다면, 조금은 다르게 살 수 있지 않을까요?
오늘의 루틴은 나에게 어떤 함수를 호출하고 있나요? 여러분의 인생은 지금, 어떤 이벤트를 기다리고 있나요? 그리고 지금 이 순간, 스택의 가장 위에 쌓인 감정은 무엇인가요?