Anders Hejlsberg의 GitHub 블로그 인터뷰에서 나온 7가지 교훈
(github.blog)C#과 TypeScript의 설계자 Anders Hejlsberg로부터 얻은 7가지 교훈
Hejlsberg의 40년 경력에서 반복되는 패턴:
빠른 피드백 > 우아함, 호환성·실용성 > 순수성, 투명한 트레이드오프 > 불투명한 결정
1. 빠른 피드백이 거의 모든 것보다 중요하다
- 초기 64KB 제약 시절부터 빠른 실행·오류 확인이 핵심
- Turbo Pascal, TypeScript 모두 증분 검사·즉시 피드백 강조
- 느린 피드백 → 우회 작업 증가, 개발자 신뢰 하락
→ 실험·리팩토링 장려, 생산성 극대화
2. 소프트웨어 스케일링 = 개인 취향 내려놓기
- 개인 프로젝트 → 팀/대규모 프로젝트로 전환하며 깨달음
- C# 성공 요인: VB 친화성 + C++ 파워 + Windows 실용성 공존
- 이론적 순수함보다 많은 사람이 이해·유지보수 가능한 코드 우선
→ 다양성 수용이 장기 성공의 열쇠
3. TypeScript가 JavaScript를 대체하지 않고 확장한 이유
- 기존 JS 생태계·도구·습관 버릴 수 없음
- 완전 교체 대신 점진적 개선(타입 추가) 선택
- 대규모 애플리케이션에 필요한 정적 분석·리팩토링 가능하게 함
→ 현실적 타협이 혁신보다 더 큰 진보 가져옴
4. 오픈소스 성공의 핵심은 가시성(visibility)
- 2014년 TypeScript GitHub 이관 후 PR·이슈·토론 공개
- 결정 과정·트레이드오프·우선순위 투명하게 노출
→ 사용자 신뢰 ↑, 이해 기반 기여 ↑
→ 코드뿐 아니라 “왜 그렇게 했는지” 공유가 중요
5. JavaScript로 컴파일러를 유지하는 것을 포기한 이유
- JS 기반 self-hosted 컴파일러 → 성능 한계(단일 스레드, 대형 프로젝트 느림)
- Go로 포팅: 의미론·quirks 보존하면서 네이티브 성능·병렬화 획득
- Rust 등 새 언어 대신 행동 일관성·호환성 최우선
→ 파괴적 변화보다 안정적 진화 선택
6. AI 주도 개발 환경에서 가장 중요한 것은 grounding
- AI는 생성보다 정확성·제약이 더 중요
- 타입 체커·리팩토링 도구가 AI 코드 검증의 가드레일 역할
- 강한 타입 시스템 = AI 출력의 플라우저블 오류 방지
→ 구조화된 코드가 AI 시대 효율적 리뷰의 핵심
7. 오픈 협업이 중요한 이유
- 공개된 토론·결정 이력 = 기관 메모리 보존
- 검색 가능한 맥락 → 신규 합류자 온보딩 용이, 장기 진화 가능
- 폐쇄적 시스템과 달리 공유 지식 축적·전달
→ 시스템의 지속 가능성과 적응력 강화