프로그래밍 학습 어려움, 극복 방법

프로그래밍을 배우는 것이 어려운 이유는?

이 문서는 Why Learning to Code is So Damn Hard를 요약한 내용이다. 더 자세한 내용은 원문을 읽어볼 것을 추천한다.


자신감과 숙련도

자신감과 숙련도


  • 위 그림의 Y축은 자신감, X 축은 시간이 지나면서 숙련도를 의미.
  • 시간이 지나면 자연스롭게 숙련도는 높아진다.
  • 하지만 자신감은 초반에 높았다가 상당한 기간도 바닥을 치다가 높아지는 경향

학습할 자료의 밀도

자원의 밀도


  • 학습을 시작하는 초반에는 학습할 자료가 많음.
  • 자신감이 바닥을 치는 단계에 학습할 자료 또한 빈약함

학습할 지식의 범위

지식의 범위


  • 학습해야할 지식의 범위 또한 초반에는 적다가 자신감이 바닥을 치는 단계에 폭발적으로 늘어남

모든 상황을 통합

통합


각 단계를 극복하고 살아남는 방법


surviving


I: Surviving the Hand-Holding Honeymoon

  • 다양한 초보 강의를 검토한 후 하나를 선택해 학습
  • 이 단계에서 대부분의 강의 내용은 비슷하기 때문에 하나를 선택해 반복 학습

II: Surviving the Cliff of Confusion

  • 초보라 할지라도 학습을 같이할 동료를 구한다.
  • 다른 사람의 코드 읽기
  • 지속적으로 작은 코드를 시작하고 빌드하면서 디버깅에 대한 두려움을 제거

III: Surviving the Desert of Despair

  • 하나의 목표를 설정한 후 목표에 집중
  • 수박 겉핥기 식의 다양한 지식 습득이 아니라 한 분야에 대한 깊이 있는 지식 습득
  • 구체적인 목표 의식을 가지고 의식적인 연습을 함으로써 시간 낭비를 최소화

IV: Surviving the Upswing of Awesome

  • Best practices를 찾아 연습하고, 지식의 빈틈을 보완
  • 설계, 아키텍처, 배포와 같이 좋은 개발자가 되기 위한 연습
  • 이 단계를 극복하기 위한 핵심은 피드백을 받는 것
    • 코칭을 해줄 멘토나 동료를 찾는 것이 중요함.

현실적인 조언


주변 정리 및 우선순위 조정

  • 프로그래머로 취업하고 싶다면 일단 주변 정리부터 시작
    • 애인과의 만남 시간 조정. 예로 2주에 1회
    • 친구들과의 관계 끊기
  • 모든 우선순위에서 프로그래밍 학습을 1순위
    • 프로그래밍 관련 책만 읽기
    • TV 보지 않기 등

프로그래머 취업 과정

  • 최소 1년
  • 5,6개월 정도 학습하고 취업 가능함. 하지만 취업 후 정말 힘듦
  • 직장 생활하면서 학습을 병행하는 것은 정말 힘듦

학습 하는 방법

  • 온라인 상에 정말 좋은 컨텐츠 많음. 하지만 의지력을 가지고 지속하기 힘듦
  • 의지력이 약하다면 시작은 단기 속성 학원 활용
  • 속성 학원에서 취업 가능한 상태 만들기 힘듦.
  • 학원에서 반드시 배워야할 것은 프로그래밍 기초, 개발환경, 무엇을 어떻게 학습할 것인가가 더 중요함.
  • 무엇을 어떻게 학습할 것인지에 대한 감을 잡으면 독학 시작.

독학하는 방법

  • 같이 학습할 사람을 만드는 것이 가장 중요함. 혼자 하면 지치고 포기할 가능성 높음
  • 스터디 그룹을 만드는 것도 좋은 방법. 누가 만들어 주기 기다리지 말고 직접 만든다.
  • 매일 일정한 시간, 장소로 출퇴근을 하면서 학습. 무료로 학습할 공간 찾음.

멘탈 관리

  • 다음 단계로 무엇을 학습할 것인지 모르겠거나, 포기하고 싶으면 기존 학원 강사나 온라인에서 취업 후기 남기는 개발자들에게 메일을 보내 조언을 구함.
  • 가끔씩 개발자 컨퍼런스 같은 곳에 참여
  • 가끔씩 회사 인턴, 정직원으로 지원해 자신의 부족한 점 파악

프로그래머가 되어 현장에서 만날 수 있기를 기대합니다.

여러분을 응원합니다.

강의에 등록된 질문이 없습니다. 궁금한 부분이 있으면 주저하지 말고 무엇이든 물어보세요.