좋은 프로그래머의 징후 (Signs that you’re a good programmer)
Source
Evernote/Technote scraps/Signs that you're a good programmer - Software Engineering Tips.md
Summary
이 문서는 저자가 이전에 작성한 ‘나쁜 프로그래머의 징후’에 대한 대조적 관점으로, 좋은 프로그래머가 갖추어야 할 핵심 자질 두 가지를 다룹니다. 첫 번째는 ‘실험에 대한 본능’으로, 이론적 검증보다 컴파일러나 런타임을 통해 직접 시도해 보는 태도를 강조하며, 이는 다양한 언어 학습이나 사이드 프로젝트 경험과 연결됩니다. 두 번째는 ‘코드 및 디자인에 대한 정서적 거리두기’로, 코드를 소유물이 아닌 일시적인 도구(부채)로 인식하고, 필요시 과감히 삭제하거나 타인의 더 나은 코드를 수용하는 객관적인 태도를 의미합니다. 각 항목마다 이러한 자질을 기를 수 있는 구체적인 심리적/실무적 조언이 포함되어 있습니다.
Key Points
- 실험 정신: 질문하기 전에 직접 코드를 실행해 보고 결과를 확인하는 습관.
- 다양성 추구: 다른 패러다임의 언어 학습, 사이드 프로젝트, 하드웨어(Arduino 등)에 대한 관심.
- 정서적 거리두기: 코드를 ‘내 것’이 아닌 ‘프로젝트의 것’으로 인식하고, 감정적 애착을 버림.
- 객관적 수용: 자신의 코드가 결함이 있거나 더 나은 대안이 있을 때 방어적이지 않고 수용함.
- 재작성 용기: 자부심이 큰 코드도 필요시 과감히 삭제하고 다른 방식으로 재작성하는 유연성.
- 자질 함양법: 공포를 극복하여 실험적 태도를 기르고, 매일 하나의 ‘애정 알고리즘’을 버리는 연습을 통해 코드에 대한 집착을 줄임.