시작

프로그래밍은 분야가 매우 넓고 다양합니다. 아주 배울것도 많지요. 저도 처음 프로그래밍을 시작하고 여러 정보를 접하면서 정말 배울것이 많고 점점 알아볼수록 두려움을 느끼고 거대한 벽에 막힌 느낌이였습니다.

많은 사람들은 프로그래밍, 코딩이 전망이 좋다고 해서 부트캠프에 간다던가, 6개월 국비지원을 받는다던가 매우 짧은 시간안에 프로그래밍을 배울려합니다. 하지만 대부분의 우리가 하는 활동들은(피아노, 노래, 운동 등) 재능이 꽃피어 세상에 알려지고 고수가 되고 하는데 굉장히 많은 시간과 노력이 필요합니다, 짦게는 5년에서 길게는 10년1까지도 걸릴 수도 있습니다.

저는 Python을 첫 언어로 배웠습니다. 대학교 1학년에 프로그래밍은 무엇인지도 몰랐고 왜 배워야 하는지도 몰랐습니다. Labview같은 것도 배웠던거 같은데 기억도 안나네요. 심지어 저는 20학번이 였는데 그 당시 유행하던 큰 질병으로 인해 사회가 마비되고 대부분의 수업이 비대면 온라인 강의로 진행되면서 제대로 공부도 안한 기억이 납니다.

긴 여정을 위한 마음가짐

프로그래밍은 단순히 파이썬, C 와 같은 언어를 배운다고 끝나는 것이 아닙니다. 오히려 시작이지요. 우리는 결국에는 컴퓨터가 어떻게 작동하는지 알아야하고 어떻게 다른 컴퓨터와 소통을 하고 컴퓨터가 어떻게 데이터를 읽고 쓰고 저장하는지 알아야합니다.

저도 처음 프로그래밍을 배울때 온라인 강의를 많이 보았습니다. 하지만 동영상 강의를 보는 것에는 한계가 있습니다. 대부분의 초심자들은 눈으로 배우기만 합니다.영상을 보는데에만 집중하고 직접 생각하고 문제를 고민하고 손으로 타자를 치지 않습니다. 그리고 주어진 강의를 끝내고 직접 코딩을 시작할때 무엇부터 해야 할지 어떻게 만들어야 할지 생각이 나지 않아 또 튜토리얼 강의를 보러 갑니다. 이는 흔히 말하는 튜토리얼 헬에 빠질수 있습니다.

제가 생각하는 프로그래밍을 배우는 방법은 이렇습니다.

  1. 빠르게 기본적인 언어 문법 배우기
  2. 두껍고 무거운 책을 가지고 공부하기
  3. 간단한 온라인 강의로 따라 만들면서 언어의 특징을 파악하기
  4. 공식 문서를 읽으면서 해당언어가 어떻게 문제를 해결하는지 배우기
  5. 자신이 관심이 있고 자기가 쓸 프로젝트를 만들기

그 이후의 배움

프로그래밍에 배울것은 굉장히 많습니다. 네트워크부터, 임베디드, 인공지능, 게임개발, 보안, 빅데이터, 웹, 앱, 클라우드, 블록체인등 분야도 다양하고 알아야 할것이 많습니다.


참고자료

Footnotes

  1. Teach Yourself Programming in Ten Years (norvig.com)