창의성과 제약 조건
-
D&D와 제약: Joel은 환상 마법 캐릭터로 공격 대신 창의적 해결책을 모색하며 제약이 게임을 풍부하게 함을 설명합니다.
-
일상 속 창의력: Sally는 ADHD의 시간 제약 및 뜨개질 프로젝트(재료 선 결정)를 통해 제약이 오히려 창의성을 자극하는 사례를 제시합니다. 이는 ‘문제 역전’ 방식으로, 새로운 도구보다 문제 해결에 집중하는 소프트웨어 개발과 유사합니다.
개발 문제와 도구
-
CSV 파싱의 난제: Sally는 Excel 저장 방식, 인코딩, 날짜 형식 등으로 복잡해지는 CSV 파싱 경험을 공유합니다. 모든 예외 처리보다 Google Sheets/Excel의 일반적 문제 해결에 집중합니다.
-
Scout Monitoring: 에러 트래커, 로그 뷰어, APM 통합 플랫폼인 Scout Monitoring은 컨텍스트 전환을 줄여 디버깅 효율성을 높입니다.
효율적인 노트 필기 및 문서화
-
개인 위키 (Obsidian): Joel은 아이디어를 작은 덩어리로 나누고 상호 연결하는 개인 위키를 구축하여 장기적 학습, 콘텐츠 생성(블로그, 강연)에 활용합니다.
-
임시 노트: 디버깅 과정이나 미완성 아이디어는 스티커 메모(Sally)나 별도 스크래치 패드(Joel)에 임시로 기록합니다.
- 커밋 메시지:
- WIP 커밋: Sally는 작은 진전마다 커밋하여 진행 상황을 기록하고 문제 발생 시 복구를 용이하게 합니다.
- 스쿼시: 불필요한 커밋은 스쿼시하여 깔끔한 Git 히스토리를 유지하고, 의미 있는 단계별 커밋은 보존합니다.
- Git History 활용: VS Code 확장 기능을 통해 Git 히스토리를 자주 확인하여 코드 이해 및 문제 해결에 활용하며, 의미 있는 메시지(특히 컨벤션 위반 시)의 중요성을 강조합니다.
- 이슈 트래커 문서화: Slack 등에서 논의된 결정 사항은 Jira와 같은 이슈 트래커에 요약하여 기록, 팀원 및 미래의 자신을 위한 중요한 문서로 활용합니다.
노트 필기의 동기 및 이점
-
기억 및 성찰: 노트는 과거 작업 기억을 돕고, 프로젝트 진행 상황에 대한 객관적 시각을 제공하여 감정적 판단을 줄입니다.
-
지속적 성장: Joel은 자기 인식을 높이고 경험에서 학습을 추출하는 ‘지속적 성장 마인드셋’을 노트 필기로 유지하며, 이를 통해 블로그, 강연, 팟캐스트 주제 등 콘텐츠 아이디어를 생성합니다.
-
책 집필: Joel은 반복 질문을 바탕으로 웹 개발 기본 원리 책을 집필하며, 이 과정에서 생성된 아이디어를 노트 시스템에 저장, 재활용합니다.