프로그래머 및 아키텍트 핵심 원칙 요약 (97 Things 시리즈 기반)

Source

  • Evernote/Technote scraps/까먹지말자! 프로그래머가 알아야할 97가지 중 최고 9개와 아키텍트가 알아야할 97가지 중 최고 7개.md

Summary

본 문서는 O’Reilly 의 ‘97 Things Every Programmer/Software Architect Should Know’ 시리즈에서 선별된 프로그래머 9 가지, 아키텍트 7 가지의 핵심 원칙을 요약한 것이다. 프로그래머에게는 보이스카우트 규칙 (코드 개선), 간결함, 자동화, 지속적 학습, 주석 최소화, IDE 숙달 등을 강조한다. 아키텍트에게는 비즈니스 도메인 이해, 코딩 능력 유지, 개발자/고객 균형, 초기 성능 고려, 설계 결정 기록, 적극적 커뮤니케이션, 점진적 시스템 성장 (과잉 설계 금지) 을 제시한다. 특히 네이버톡 사례를 통해 과잉 설계의 위험성을 경고한다.

Key Points

  • 프로그래머: 보이스카우트 규칙 적용 (커밋 시 이전보다 깨끗하게), 간결함 추구 (오버엔지니어링 금지), 전 과정 자동화, 지속적 학습 및 공유, 코드 가독성 우선 (주석은 코드 자체로 설명 불가 시만), IDE 숙련, 개발 시간 추정 능력 배양.
  • 아키텍트: 비즈니스 도메인 지식 필수, 설계자도 코딩 가능해야 함 (과잉 설계 방지), 개발자 만족과 고객 요구의 균형, 아키텍처 단계에서 성능 고려, 설계 결정의 근본 이유 기록 (ADR), 적극적 대면 커뮤니케이션, 점진적 시스템 성장 (비전은 크되 설계는 작게 시작).
  • 경고: 이력서용 신기술 도입 금지, 과잉 기능/설계로 인한 프로젝트 실패 사례 (네이버톡) 참조.