프로그래밍 입문자를 위한 제언


Youngrok Pak at 6 years, 8 months ago.

주니어 프로그래머 여럿이랑 일하고 있기도 하고, 여러 개발자 커뮤니티에서 올라오는 입문자들의 질문들을 보면서 느끼는 바가 있기도 해서, 프로그래밍 입문자들에게 도움이 될 만한 것들을 정리해두고자 한다. 이 글은 실력 있는 프로그래머들 다수의 균형잡힌 관점이 아니라 나 개인의 주관적인 관점이므로 비판적으로 읽어야 할 것이다. 이 글에 나오는 여러 가지 일반화 역시 엄정한 통계적인 자료가 있는 것이 아니라 나 개인의 경험적 관찰에 근거를 둔 직관이므로 누군가를 설득하기 위한 근거로 사용해서는 안될 것이다.

입문자를 위한 룰이 너무 많으면 그것도 소화하기 힘들어져서 의미가 없어진다. 그래서 세 가지의 핵심적인 문구로 압축했다. 그 세 가지 안에 또 세부적인 내용들이 있지만, 세 가지 대표 문구만으로도 충분히 포괄할 수 있을 만한 원칙들이다. 말하자면, 이건 입문자들이 따르면 좋은 100가지 원칙 중 3가지를 꼽은 게 아니라, 정말 이거 세 가지만 잘하면 성장할 수 있다는 의미로 세 가지를 꼽았다.

정확하게 일하기

전문가는 직관으로 일한다. 그래서 전문가가 일하는 모습을 보면 꼼꼼하게 하나하나 따지는 것이 아니라 감으로 찍어서 진도를 나가는데 그 감이 잘 들어맞는다. 그래서 이걸 초보자가 보고 흉내내면 재앙이 시작된다. 

하지만 초보자는 직관으로 일할 수 없다. 직관이란 경험이 쌓여야 하는 것이기 때문에 초보자의 직관은 신뢰할 수 없다.

추측하지 말라

개념을 정확하게 이해하라

에러 메세지를 확인하라

RTFM

SELECT는 깨지지 않았다.

http://pragmatictips.com/26

 

원리를 이해하라

반복적으로 재현하라

  

결정할 때는 자신 만의 이유를 대라

 

 

올바른 방법을 추구하라

조금 더 나은 방법

소스를 들여다보라

지속적인 개선

검색하는 법

질문하는 법

 

 

빨리, 그리고 자주 피드백을 받아라

현재 내 실력은 어느 정도이며, 어떤 속도로 발전하고 있는가

우리 프로젝트는 잘 굴러가고 있는가

내가 만든 소프트웨어는 잘 동작하는가

 

추천도서

  • 실용주의 사고와 학습
  • 이너게임
  • 테스트 주도 개발
  • 리팩터링
  • 도요타 방법
  • The Goal 시리즈

 

 


Comments




Wiki at WikiNamu