한국어 箭头
Podcast Cover

[체스터튼의 울타리: 코드를 삭제하기 전 반드시 이해해야 할 것]-[Chesterton's Fence - Why You Should Think Twice Before Rewriting That Project]

Developer Tea · B1 · 2025-03-21

TechnologyCareers
또는 웹버전으로 공부하세요

📋 Summary

체스터튼의 울타리: 무지성 리팩토링을 경계하라

개발자라면 누구나 한 번쯤 기존 코드베이스, 프로세스, 혹은 회의 자료를 보며 이런 생각을 합니다. "도대체 왜 이렇게 복잡하게 만들었지? 다 지워버리고 새로 짜는 게 낫겠어." 하지만 이 글은 무작정 기존 시스템을 삭제하려는 시도에 대해 '체스터튼의 울타리(Chesterton's Fence)'라는 철학적 개념을 빌려 강력한 경고를 던집니다.

1. 체스터튼의 울타리란 무엇인가?

20세기 작가 G.K. 체스터튼은 길을 가로막고 있는 울타리를 예로 듭니다. 현대적인 개혁가는 그것이 왜 있는지 모른 채 "쓸모없어 보이니 치워버리자"고 말합니다. 하지만 지혜로운 개혁가는 말합니다. "왜 그 울타리가 있는지 이해하지 못했다면, 절대 치우게 둘 수 없다. 돌아가서 생각해보라. 그 울타리가 왜 존재하는지 깨닫고 돌아온다면, 그때 파괴를 허락하겠다."

이 원칙은 소프트웨어 엔지니어링에도 그대로 적용됩니다. 시니어 엔지니어가 당신의 대규모 리팩토링 PR을 보며 "왜 이걸 하는가?"라고 묻는다면, 당신이 "그냥 필요 없어 보여서요"라고 답하는 것은 매우 위험한 태도입니다. **"무언가가 왜 존재하는지 이해하기 전까지는 그것을 제거하지 마라"**는 것이 이 교훈의 핵심입니다.

2. 왜 우리는 성급하게 판단하는가: 인지적 편향

우리가 기존 코드를 비판하는 이면에는 **'환상적 우월감(illusory superiority)'**이라는 편향이 깔려 있습니다. 이는 자신의 능력을 실제보다 과대평가하는 경향으로, **'더닝-크루거 효과(Dunning-Kruger effect)'**와도 맞닿아 있습니다.

우리는 무의식적으로 이전 개발자들의 역량을 폄하하며, 그들이 만든 결과물이 '오류(error)'에 불과하다고 단정 짓습니다. 하지만 대부분의 코드와 프로세스는 **'이유(reason)'**가 있어서 존재합니다. 누군가가 시간을 들여 그 작업을 수행한 데에는 분명한 목적이 있었다는 사실을 간과해서는 안 됩니다.

3. 호기심 어린 마인드셋으로의 전환

이 교훈은 모든 것을 그대로 두라는 의미가 아닙니다. 이는 **'무모함(recklessness)에 대한 캠페인'**입니다. 우리가 가져야 할 올바른 태도는 다음과 같습니다:

  • 비판 대상 이해하기: 비판하기 전에 그것이 존재하게 된 맥락을 먼저 이해하려 노력해야 합니다.
  • 동료를 나 자신과 동일시하기: 이전 작업자가 나보다 못한 실수를 저질렀다고 가정하는 대신, 그들도 나와 비슷한 고민을 했으리라고 가정하는 '호기심 어린 마인드셋(curious mindset)'을 가져야 합니다.

4. 결론: 더 나은 개선을 위한 단계

기존 시스템의 존재 이유를 파악한 뒤에도 여전히 그것을 삭제하거나 변경할 수는 있습니다. 하지만 이제는 다릅니다.

  • 테스트를 삭제한다면, 이전보다 더 나은 역할을 하는 새로운 테스트를 작성하게 될 것입니다.
  • 불필요한 회의를 없앤다면, 그 회의가 해결하려 했던 본래의 문제를 다른 방식으로 풀어나갈 대안을 마련하게 될 것입니다.

결국 우리가 이전 세대의 엔지니어들과 더 닮았음을 인정할 때, 우리는 그들의 학습 결과 위에 더 견고한 성장을 쌓아 올릴 수 있습니다. 무작정 '삭제' 버튼을 누르기 전에, 그 울타리가 왜 그곳에 세워져 있었는지 먼저 생각해보십시오.

🎯Key Sentences

1
Maybe we should do away with it.
그냥 없애 버리는 게 나을지도 몰라.
2
You may have a good point.
일리가 있는 말씀입니다.
3
I want to give you one word of caution.
한 가지 주의해야 할 점이 있습니다.
4
Go away and think.
저리 가서 생각을 좀 해 봐.
5
Most people will rate themselves as better than average.
대부분의 사람들은 자신을 평균 이상으로 평가하는 경향이 있다.
모두 펼치기

📝Key Phrases

1
do away with
없애다
2
start over fresh
처음부터 다시 시작해.
3
come up with
떠올리다, 생각해 내다
4
a word of caution
주의 사항
5
for the sake of simplicity
간단하게 말해서
모두 펼치기

📖 Transcript

I've been in your seat before where you're sitting looking at a codebase or you're at a process.
You're looking at a set of meetings.
Maybe you're looking at a spreadsheet and this thought crosses your mind.
Why on earth would anyone ever do it this way?
And then another thought crosses your mind.
Maybe we should do away with it.

ListenLeap이 실제 문맥에서 학습하도록 이끌어줌

🎨 흥미로운 콘텐츠
🌍 실제 자료
📱 언제든 듣고 보기