멘탈 모델(Mental Model): 멘탈 모델과 폴더 구조의 관계

calico·2025년 6월 12일

Computer Science

목록 보기
20/51

멘탈 모델(Mental Model) 이란?


  • 멘탈 모델은 사람이 세상을 이해하고 예측하기 위해 머릿속에 구축하는 개념적 틀 또는 심리적 구조를 의미합니다.

    • 쉽게 말해, 어떤 시스템이나 현상이 "어떻게 작동하는지"에 대한 개인의 직관적인 설명이며, 우리가 세상을 해석하고 반응하는 방식의 기반이 됩니다.
  • 멘탈 모델은 정보를 해석하고, 문제를 해결하며, 미래를 예측하는 데 사용됩니다. 이 모델은 각자의 경험, 교육, 문화에 따라 다르게 형성되기 때문에, 사람마다 같은 상황을 다르게 해석할 수 있는 이유이기도 합니다.



예시로 이해하기


  • 예를 들어, 우리는 전등 스위치를 올리면 불이 켜진다고 자연스럽게 생각합니다. 실제 전기회로에 대한 지식이 없어도, 스위치 → 전기 흐름 → 불 켜짐이라는 머릿속 이미지가 있기 때문입니다. 이게 바로 멘탈 모델입니다.

  • 개발자의 경우, MVC(Model-View-Controller) 같은 구조를 통해 웹 앱이나 프로그램이 어떻게 작동하는지를 머릿속에 도식화하여 이해합니다.

  • 투자자는 시장이 감정적으로 움직인다는 신념을 바탕으로 주가 흐름을 해석하는 멘탈 모델을 가질 수 있습니다.



멘탈 모델이 중요한 이유


1. 결정의 기반이 된다


  • 멘탈 모델은 우리가 어떤 결정을 내릴 때 직관적인 기준을 제공합니다.

    • 예를 들어, 과거와 유사한 문제를 마주했을 때 "전에 이런 구조였으니까 이번에도 이렇게 풀면 되겠네"라는 식의 판단을 가능하게 해줍니다.



2. 문제 해결력을 높인다


  • 문제를 구조적으로 바라볼 수 있게 해주기 때문에, 복잡한 상황도 핵심을 단순화하여 해결할 수 있도록 도와줍니다.



3. 커뮤니케이션이 효율적이 된다


  • 조직이나 팀 내에서 유사한 멘탈 모델이 공유된다면, 말하지 않아도 서로의 의도를 파악할 수 있어 협업이 수월해집니다.



개발자에게 중요한 이유


  • 개발자에게 멘탈 모델은 매우 실용적인 도구입니다. 폴더 구조나 파일의 흐름을 머릿속에 그려놓으면, 코드를 탐색하거나 구조를 바꿀 때 훨씬 빠르고 효율적으로 작업할 수 있습니다.

  • 디버깅 과정에서도 "이 정도 흐름이면 여기쯤 문제가 있을 것 같다"는 직감이 작동하고, 협업 시에는 다른 개발자의 코드를 분석할 때도 자연스럽게 구조가 예측됩니다. 더 나아가, 시스템을 확장할 때도 전체적인 구조를 머릿속에 모델링하고 설계할 수 있습니다.



좋은 멘탈 모델의 조건


  • 좋은 멘탈 모델은 단순하고 직관적이어야 하며, 현실을 잘 반영해야 합니다. 또한, 새로운 경험과 학습을 통해 유연하게 수정될 수 있어야 하며, 다양한 상황에 적용 가능해야 합니다.

    • 정적인 지식이 아니라, 반복되는 경험 속에서 점점 정교해지는 살아있는 구조라고 할 수 있습니다.
  • 멘탈 모델은 세상을 이해하고 행동하기 위한 뇌 속의 설명 구조입니다.

    • 잘 만들어진 멘탈 모델은 의사결정, 문제 해결, 학습, 협업 등 다양한 영역에서 우리의 사고를 가속화시키는 중요한 인지적 도구입니다.



멘탈 모델과 폴더 구조의 관계


  • 멘탈 모델이란, 사람들이 어떤 시스템이나 개념을 이해하고 예측하기 위해 머릿속에 그리는 구조적 이미지 혹은 틀을 말합니다. 개발자에게 있어 멘탈 모델은 “이 프로젝트가 어떻게 구성되어 있으며, 각 부분이 어떻게 연결되어 있는가?”에 대한 직관적인 이해를 뜻합니다.

  • 인간의 뇌는 정보를 저장할 때 공간적 정보까지 함께 저장하는 특징이 있습니다. 이 때문에, 구조적으로 잘 정리된 정보는 훨씬 더 쉽게 기억되고, 효율적으로 활용될 수 있습니다.

    • 예를 들어, 폴더 구조가 명확하게 정돈되어 있다면, 개발자는 매번 “이 코드가 어디 있었지?”라고 고민하지 않고도 자연스럽게 위치를 떠올릴 수 있습니다.
  • 뇌는 예측 가능한 패턴을 선호하기 때문에 일관성 있는 구조는 새로 코드를 추가하거나 찾을 때 불필요한 고민(인지적 소모)을 크게 줄여줍니다.

    • 이러한 구조적 일관성은 개발자의 부담을 낮추고, 본질적인 문제 해결에 더 집중할 수 있게 합니다.



멘탈 모델과 코드 구조의 불일치


  • 초기에는 별 문제가 없어 보이던 폴더 구조가, 프로젝트가 성장하면서 점점 혼란과 불편을 야기하는 경우가 많습니다. 이는 본질적으로, 개발자의 머릿속 멘탈 모델과 실제 코드 구조가 일치하지 않기 때문입니다.

  • 왜 이런 불일치가 생길까요?

    • 개발 초기에는 파일 수가 적어 폴더 구조의 한계가 크게 체감되지 않습니다.

    • 개발이 이어지며 기능이 늘어나고, 팀원이 많아질수록 기존 구조가 확장성 없이 방치되기 쉽습니다.

    • 점점 “어디에 뭘 넣어야 하지?”라는 작은 혼란이 반복되고, 이것이 누적되어 전체 생산성에 영향을 미칩니다.



사고의 전환과 구조 개선


  • 이 불일치를 해소하는 과정은 단순한 리팩토링을 넘어서는 사고의 전환입니다.

    • 초기엔 “일단 빠르게 구현”하는 것에만 집중하다가, 어느 순간부터는 “코드의 위치가 개발자의 사고 흐름과 얼마나 잘 맞는가?”를 고민하게 됩니다.
  • 이러한 사고의 전환은 단순히 개발 생산성만이 아니라, 팀 내 협업, 신규 팀원 온보딩, 유지보수의 용이성 등 다양한 측면에서 프로젝트의 장기적 성공을 결정짓는 핵심 포인트가 됩니다.



FSD(Feature-Sliced Design)의 필요성과 자연스러운 이해


  • 이러한 경험을 거치다 보면, 자연스럽게 FSD(Feature-Sliced Design)와 같은 아키텍처 패턴의 필요성을 절감하게 됩니다. 각 레이어가 존재하는 이유가 단순한 규칙이 아니라, 멘탈 모델과 실제 코드 구조의 정렬을 위한 장치란 점이 명확하게 와닿게 됩니다.

    • 즉, FSD의 규칙을 그저 “따라야 할 틀”이 아니라, 프로젝트 상황에 맞게 최적화할 수 있는 실질적 기준으로 받아들이게 되고, 이로써 아키텍처 설계에 대한 감각과 판단력이 자연스럽게 키워집니다.



결론


  • 정돈된 폴더 구조는 단순히 보기 좋은 코드의 문제가 아니라, 개발자의 인지 구조와의 정렬 문제입니다.

    • 멘탈 모델과 코드 구조가 얼마나 일치하느냐가 개발 효율성을 좌우하며, 궁극적으로 더 나은 개발 문화와 시스템 아키텍처로 이어집니다.
  • 따라서, 프로젝트가 커지기 전–그리고 팀이 복잡해지기 전–“현재 내(우리) 멘탈 모델과 코드 구조는 잘 맞아떨어지고 있는가?”라는 질문을 반드시 던져보시기를 권합니다.



profile
All views expressed here are solely my own and do not represent those of any affiliated organization.

0개의 댓글