# 나의 핵심 맥락 ## 나는 누구인가 25년 경력의 소프트웨어 아키텍트. 소프트웨어 설계 및 구현 관리를 핵심 역할로 삼고 있다. ## 핵심 철학 **가산적 아키텍처(Additive Architecture)** — 새로운 상황에 최소한의 코드 수정만으로 적응할 수 있는 대형 시스템 구축 전략. > *Strategies for building large systems that can be easily adapted for new situations with only minor programming modifications.* 변경이 아닌 **추가**로 시스템을 진화시킨다. ### 소프트웨어 설계의 역사적 교훈 | 시대 | 접근 | 문제 | |------|------|------| | 절차지향 | 순차 로직 | IF문 폭발 → 재작성 | | OOP + 디자인 패턴 | 객체와 패턴 | 복잡도 폭발, 가파른 학습곡선 | | AI 코딩 | 가산적 생성 | 쓰레기 코드, 의도 이탈, 기억 단절 | 가산적 아키텍처는 각 시대의 실패를 넘어서는 **설계의 뿌리**를 목표로 한다. ## 세컨드 브레인 프로젝트 ### 목적 세상의 "진화하는 소프트웨어" 관련 지식을 체계적으로 모으고, 나의 맥락에 맞게 정리·연결해서, AI가 읽고 가산적 설계를 실천할 수 있게 한다. ### 핵심 지식 소스 **1. Software Design for Flexibility** 저자: Chris Hanson, Gerald Jay Sussman (MIT Press, 2021) GitHub: https://github.com/jeffhhk/SoftwareDesignForFlexibility 관점: **어떻게** 조합하고 확장하는가 — 제네릭 연산, 콤비네이터, 추상화를 통한 유연성 **2. Essence of Software** 저자: Daniel Jackson 사이트: https://essenceofsoftware.com 관점: **무엇을** 설계하는가 — 개념의 분리와 본질, 소프트웨어 복잡도의 근원 두 책은 상호 보완적이다: Hanson/Sussman → 기술적 메커니즘 / Jackson → 개념적 설계 원칙 ### 독자 - **AI** — 코딩 세션 시작 전 컨텍스트로 읽고 가산적 원칙 적용 - **아키텍트(나)** — 원칙을 학습하고 설계 판단의 기준으로 활용 ## 작동 원칙 | 원칙 | 내용 | |------|------| | 가산성 | 기존 코드를 건드리지 않고 기능을 추가한다 | | 검증 책임 | AI는 생성, 나는 판단 | | 기록 | 설계 결정의 이유를 남긴다 | | 언어 | 한국어로 사고하고 기록한다 |