프로그래밍 업적: 개발자 레벨업 가이드
Source
Evernote/Technote scraps/Programming Achievements How to Level Up as a Developer jasonrudolph.com.md
Summary
개발자의 성장 경로는 명확하지 않지만, ‘경험’을 측정 가능한 단위로 나누어 접근할 수 있다. 저자는 개발자 실력 향상을 위해 다양한 프로그래밍 패러다임 학습, 플랫폼 경험, 핵심 빌딩 블록 이해, 코딩 카타/코안 완료, 오픈소스 기여, 그리고 가르치기(발표/글쓰기) 등 구체적인 ‘업적(Achievements)‘을 제안한다. 이러한 경험을 의도적으로 추구하고 성찰함으로써 개발자는 체계적으로 성장할 수 있다.
Key Points
- 개발자 성장의 목표는 주관적이지만, 이를 구성하는 ‘경험’은 측정 가능하고 추적 가능하다.
- 성장을 위한 사이클: 1) 성장에 도움이 되는 경험 식별 2) 특정 경험 선택 및 완료 3) 경험에 대한 깊은 성찰 4) 새로운 경험 선택으로 반복.
- 제안된 주요 경험 카테고리: 다양한 프로그래밍 패러다임(어셈블리, 함수형, 객체지향 등) 학습, 다양한 플랫폼(웹, 데스크톱, 모바일, 임베디드 등) 개발 경험, 핵심 기술(네트워킹, DB, 언어 구현 등) 직접 구현, 코딩 카타/코안/명저(SICP) 학습, 오픈소스 프로젝트 기여 및 발표, 타인을 가르치기(강연, 튜토리얼, 책 집필).
- 단순히 기술을 아는 것을 넘어, 새로운 사고방식과 안티패턴에 대한 이해를 얻는 경험이 중요하다.