IT 좋아하는 사람들만 아는, 완벽하게 정돈된 세상의 미묘한 허전함에 대하여
요즘 들어 이런 생각을 자주 하게 돼.
우리가 사는 세상이나, 심지어 우리가 다루는 코딩 환경까지도 너무 완벽하게 정돈되어 버리면 오히려 묘한 허전함이 몰려온다는 거야.
마치 모든 예외 처리(Exception Handling)가 완벽하게 되어 있고, 모든 API 문서가 최신 상태를 유지하며, 모든 변수명이 일관성 있게 네이밍 되어 있는 그런 상태 말이야.
이론적으로는 가장 이상적이고 효율적인 시스템이지.
마치 잘 짜인 백과사전처럼 모든 지식이 제자리를 찾아 빛나는 것 같잖아?
그런데 이상하게도, 그 완벽함이 주는 느낌은 '지루함'이나 '답답함'에 가까워.
진짜 살아있는 시스템이라는 건, 완벽하게 돌아가는 거라기보다는, 어딘가 모르게 삐걱거리는 부분, 예측하지 못한 곳에서 튀어나오는 작은 버그, 혹은 ‘이건 원래 이렇게 돌아가야 하는데?’ 싶은 비효율적인 레거시 코드가 존재하기 때문에 생동감이 느껴지는 건 아닐까 싶어.
우리가 개발자라는 직군에 속해 있다는 건, 본질적으로 ‘결함’을 찾아다니는 사람이라는 느낌을 지울 수가 없어.
그러니까, 모든 게 매끈하게 돌아가는 세상은 마치 필터링이 너무 심한 사진 같거든.
너무 깨끗해서 오히려 디테일이 사라진 느낌.
예를 들어, 어떤 프로젝트가 너무 깔끔하게 구조화되어 있어서, 우리가 '이 부분은 원래 이렇게 돌아가는 게 아니었는데, 그때 임시방편으로 이렇게 패치했었지' 같은 식의, 지저분하지만 생존에 필수적이었던 '작은 꼼수(Workaround)'의 흔적이 아예 보이지 않을 때가 있잖아?
그게 사라지면, 마치 우리가 그 꼼수 덕분에 겨우 버티고 있던 작은 댐 하나가 통째로 사라진 기분이랄까.
이래서 그런지, 가끔은 누가 일부러 아주 사소하고 비논리적인 규칙을 하나 만들어 놓는 걸 보면, 오히려 '아, 이 정도의 예측 불가능한 잡음(Noise)이 있어야 살맛이 나는구나' 싶어서 안도감을 느끼기도 해.
시스템의 '최소한의 결함'이 주는 안정감 같은 게랄까.
결국 이런 건 인간의 심리적 영역이 개입된 것 같아.
인간의 창의성이나 문제 해결 능력이라는 건, '최적화된 경로'를 따라가는 것보다, '어떻게 하면 이 장애물을 우회할까?'를 고민하는 과정에서 폭발적으로 나오는 경우가 많잖아?
그래서 가끔은 개발팀장님이나 동료가 너무 완벽주의에 빠져서, '이건 원래 이렇게 되어야 한다'는 원칙에만 매몰되어 버릴 때가 있어.
그럴 때 내가 슬쩍 "근데, 만약에 이 변수가 이 타이밍에 이렇게 꼬이면 어떡해요?" 같은 엉뚱한 질문을 던지거나, 아예 비효율적이지만 '재미있을 것 같은' 기능을 추가해보고 싶을 때가 있거든.
그 작은 '비효율성'의 가능성이 오히려 우리를 더 인간적이고, 더 살아있는 문제 해결자들로 만들어주는 것 같아.
완벽함이라는 건 너무 차가운 백지 같아서, 오히려 적당히 엉망진창인 메모장 같은 느낌이 더 편하게 와닿는 건지도 모르지.
가장 완벽한 시스템은, 우리가 예상치 못한 작은 결함이나 비효율성을 통해 그 생명력을 증명하는 것 같다.