개발자의 학습과 성장 - 글 버전
(kciter.so)이전에 이미 긱뉴스에 공유된 발표 자료(https://news.hada.io/topic?id=6797)를 글로 정리해봤습니다.
- 개발자의 고민
- 무엇을 공부해야 할까?
- 일정 계산은 어떻게 할까?
- 잘하는 개발자란 뭘까?
- 내가 공부한 것을 어떻게 활용해야 할까?
- 내가 성장하고 있는게 맞을까?
- 전략적인 학습 필요
- 진단, 학습, 산출물
- 진단
- 개발의 세 가지 영역
- 사고, 기술, 과학
- 사고 : 논리적, 추상적, 구조적 사고에 대한 영역
- 기술 : 생각한 것을 그대로 코드로 잘 옮길 수 있는 능력
- 과학 : 컴퓨터 과학에 대한 지식
- 세 가지 영역은 서로에게 시너지 효과를 준다
- 추상화, 예외 처리, 최적화 등
- 부족한 부분을 파악할 필요가 있다
- 어떠한 문제가 반복된다면 내가 부족한 부분이라는 뜻
- 개발의 세 가지 영역
- 학습
- 사고
- 항상 의심하고 비교하고 분석하는 것을 통해 연습 가능
- 기술
- 코드를 잘 짜고 싶다면 최대한 많이 코드를 작성하는 것이 중요, 라이브러리, 프레임워크 같은 도구는 공부할 때 공식 문서를 볼 것
- 과학
- 기반 지식이기 때문에 쉽고 빠르게 익힐 방법이 없음
- 꾸준히 학습하되 나에게 어떤 도움이 되는지 알아두는 것이 중요
- 패턴 학습
- 업무에서 반복적으로 사용되는 패턴
- 패턴을 눈치채면 그 즉시 정리해서 기록하기
- 안 해봤던 것 하기
- 공개된 소스 참고하기
- 실제로 적용하기
- 사고
- 산출물
- 지식을 정리하는 것과 무언가를 만드는 것
- 지식을 정리하는 것은 내가 추상적으로 아는 것을 더 구체화하는 과정
- 다른 사람에게 공개해야 한다는 불편함이 성장을 돕는다
- 무언가를 만드는 것은 내가 배운 지식을 실제로 활용해 보는 경험
- 실제 사례를 간접 체험할 수 있다는 것
- 글의 주제에서 벗어나지만 소프트 스킬 또한 중요하다