프로그래밍 학습의 어려움과 극복하는 방법

남지선·2021년 2월 3일
0

이 글은 박재성님의 프로그래밍 학습의 어려움과 극복하는 방법을 보고 정리한 내용으로, 원문 출처 및 참고 블로그는 참고에 기재하였다.

목록
1. 프로그래밍 학습이 어려운 이유
2. 극복하는 방법
3. 프로그래밍 학습에서 취업까지 현실적인 조언
4. 참고

1. 프로그래밍 학습이 어려운 이유

자신감과 숙련도

  • 위 그림의 Y축은 자신감, X축은 시간이 지나면서 숙련도(능력치)를 의미한다.
  • 시간이 지나면서 자연스럽게 숙련도는 높아진다.
  • 하지만 자신감은 초반에 높았다가 상당한 기간동안 바닥을 치다가 높아지는 경향이 있다.
  • 그러다 혼돈의 카오스(cliff of confusion)를 맞으며, 어찌저찌 배운것이 있지만 프로그래밍이 어렵다는 것을 점차 깨닫게 되는 단계이다.

학습할 자료의 밀도

  • 1단계에는 매우 많았다가 2단계부터 뜸해지면서, 3단계에는 정말 폭이 넓어진다. 그러다 4단계부터 자료가 다시 보이기 시작한다.

학습할 지식의 범위

  • Basic 단계(1단계)에서는 알아야 할 것이 많지 않다. 처음 개발을 배울 때는 대단한 기초지식을 배우는 것이 아니기에 학습할 지식 범위가 넓지는 않다.
  • 혼돈의 카오스 단계(2단계)가 오게되면서 멘붕을 일으키고, 배워야 할 것이 폭발적으로 늘어난다.
  • 3단계로 가면서 지식의 범위는 더욱 넓어진다. 전에는 그냥 썼다면, 어떠한 툴을 사용할 지 알고 이해해야하며, 어떤 언어를 배워야 하는지, 모듈화, 객체 지향, 좋은 코드 스타일 등에 대해 알아야 한다. 무슨 소리인지는 모르겠지만, 일단 다 알아야 할 것 같다.

  • 3단계 죽음의 사막은 공부하기 싫어하고, 집중도 안되고, 의욕도 잃어버린다. 그러나 X축이 나타내는 숙련도는 계속 증가하고 있다.
  • 예전 자료들을 찾아보지만 사실은 아무런 도움이 되지 않을 것이라는 걸 깨닫게 된다.

2. 극복하는 방법

1단계 : Surviving the Hand-Holding Honeymoon

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

2단계 : Surviving the Cliff of Confusion

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

3단계 : Surviving the Desert of Despair

  • 하나의 목표를 설정한 후 목표에 집중한다.
  • 수박 겉핥기 식의 다양한 지식 습득이 아니라 한 분야에 대한 깊이있는 지식을 습득한다.
  • 구체적인 목표 의식을 가지고 의식적인 연습을 함으로써 시간 낭비를 최소화한다.
  • 6개월~1년 동안 웹, 모바일, 게임 목표를 가지고 특정분야에 대해 지식의 깊이를 더해간다.

4단계 : Surviving the Upswing of Awesome

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

3. 프로그래밍 학습에서 취업까지 현실적인 조언

주변 정리 및 우선순위 조정

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

프로그래머 취업 과정

  • 최소 1년 동안 공부에 투자해야 한다.
  • 5,6개월 정도 학습하고 취업 가능하지만, 취업 후 정말 힘들다.
  • 직장 생활하면서 학습을 병행하는 것은 정말 힘들다.

학습 하는 방법

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

독학하는 방법

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

멘탈 관리

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

4. 🤗참고

profile
기억력이 좋지 않은 사람이 기록하는 개발 일지

0개의 댓글