다음은 피터 노빅이 자신의 블로그에 올린 프로그래밍을 배우는 방법이다.
[Teach Yourself Programming in Ten Years]
- 프로그래밍에 관심을 가져보고 정말 재미가 있다고 생각해야 10년 정도를 기꺼이 쏟아 부을 수 있다.
- 다른 사람의 프로그램을 읽어보고 다른 사람과 이야기해야 하는데 이 과정은 어떤 책이나 교육과정보다 중요하다.
- 가장 좋은 배우기는 실제로 해보면서 배우는 것이고 이 방법을 더 적극적으로 체계화해야 한다는 것이다. 최고의 성취는 오랜 기간 경험을 쌓으면서 생기는 것이 아니라 노련한 사람의 경우에 있어서도 끊임없는 개선으로 이루어지기 때문이다.
- 컴퓨터 학과가 가르쳐주는 것이 전부가 아니며 일을 하면서 배울 수도 있다.
- 프로젝트를 다양하게 해보면서 어떤 프로젝트에서는 최고의 프로그래머가 되어 다른 사람들을 리드하고 비전을 제시해 보기도 하고 어떤 프로젝트에서는 다른 사람으로부터 지도 받을 필요가 있다.
- 다른 사람이 이끄는 프로젝트에 참여하여 다른 사람의 프로그램을 이해한 후 원래의 작성자가 놓친 부분을 고쳐보기도 하고 자기의 프로그램을 관리할 다른 사람들이 쉽게 작업할 수 있는 프로그램을 작성하기도 해야 한다.
- 다양한 프로그래밍 언어를 배워라.
노빅이 제시한 것은 "10년"이라는 긴 시간이었다. 10년이라는 시간을 잡은 데에는 이유가 있다. 보통 한분야에서 정통하거나 대가가 되기까지 일반적으로 10년 정도의 세월이 걸린다는 연구결과를 인용한 것이다. 지름길이나 단축코스는 없다.
(주: 피터노빅은 작년까지 구글의 Search Quality의 책임자였다가 요즘은 연구책임자로 있다.)
출처 :
시간의 경제학 - 10년 동안 프로그래밍 배우기 (안윤호) ZDNet 컬럼-------------------------------------------------------------------------------
나는 벌써 프로그래밍을 시작한지 10년이 지났다.
피터 노빅은 10년이면 대가가 될 수 있다고 했지만 아직은 아는 것보다는 모르는 게 더 많은 것 같다. 다만 내가 무엇을 알고 무엇을 모르는 지 정도는 알게 된것 같다. 구루 소리를 들으려면 앞으로도 10년은 더 필요하지 않을까...
프로그래밍을 배우는 방법으로 피터 노빅의 의견에 전적으로 동의하며 몇 가지 의견을 첨부하고자 한다.
- 10%의 성능 향상을 위해 100%의 추가적인 노력을 들일 각오를 하라.
- 한가지 문제를 최대한 여러가지 방식으로 풀어보라.
- 다양한 프로그래밍 언어를 배우되 하나에 정통하라.
- 문제를 풀기위해서 키보드부터 두드리기 보다는 종이위에 펜으로 아이디어를 정리해보라.
- 새로 배운 것은 반드시 프로젝트에 적용해 써먹도록 하라.