hajoeun.com/posts

발이 닿지 않는 바다에서

2025.06.07.

우리는 서비스를 개발할 때 표면을 유영해요. 라이브러리, API처럼 잘 약속된 인터페이스를 사용하죠. 얕은 물에서 수영하는 것과 비슷해요.

평소에는 표면을 유영하듯 개발해도 문제가 없어요. 표면 아래, 서비스를 이루고 있는 근간을 이해하지 못해도 괜찮아요. 구현엔 어려움이 없으니까요.

하지만 장애를 마주하는 날엔 후회할지도 몰라요. 서비스의 장애는 표면보다 조금 더 깊은 곳에서 발생할 수 있기 때문이죠. 깊이를 넘나들 수 있을 때, 비로소 여러 방면으로 장애를 분석하고 원인을 발견할 수 있더라고요.

최근에 이를 깨닫고 제가 얼마나 교만했는지도 알게 됐어요. 늘 발이 닿는 곳에서 수영하면서 수영할 줄 안다고 으스대고 있었던 거죠. 표면에서 유영하면서 내가 만들고 있는 서비스를 잘 안다고 생각하고 있었어요.

시스템이 불안정해지는 장애를 겪고 감으로 문제를 해결하면서 덜컥 두려웠어요. 발이 닿지 않는 심연이 있다는 걸 알게 된 거죠. 발이 닿지 않는 바다에 들어섰을 때, 수영하는 법을 까먹은 것 같아 두려웠던 순간과 겹쳐 보이더라고요.

개발자라면 만들고 있는 서비스에 대한 근간을 이해하기 위해 노력해야 해요. 장애라는 이름으로 찾아오는 심연을 두려움 없이 대하기 위해선, 표면을 유영하는 것으로 만족해선 안 돼요.