초보 프로그래머를 위한 9가지 조언

  1. 항상 하나의 일에 집중한다 나는 새로운 것을 배울 때는 언제든지 할 일을 분해하고 임한다. 프로그래밍을 할 때 작업에 따라서는 복잡하게 구조화하여 생각하는 것이 있을 것이다. 1개의 태스크를 소화하기 위해서도 다양한 방법이 있고 선택하는 것만으로 방황한다. 다만 무엇을 해도 플러스와 마이너스는 있기 때문에 1가지 일에 집중하고 그것을 향해 가는 것이 소중하다.

  2. 사람들은 제각기 여러 가지 생각을 갖고 있다
    프로그래밍을 모르는 사람 중에는 간단한 일이라고 생각하는 사람도 있다. 그런 사람은 어셈블리 코딩을 하면, 나머지는 모두 컴퓨터가 해 준다고 착각하고 있다.

진짜 Web 개발자는 마크업 언어, 프로그래밍 언어를 쓰고 스타일을 대고 모든 기기 및 시스템에 따라서 만드는 게 사실이다. 물론 상당히 어려운 일이다.

  1. 80%의 일로 충분하다
    같은 차를 만들어도 승용차와 레이스카는 필요한 기능이 다르다.
    레이스카에 탑재 되어 있는 기능 모두가 승용차에도 필요한 것은 거의 없다. 이것은 반대도 마찬가지이지만 즉 80%정도의 완성도로 충분한 것이다. 나머지 20%의 기능이라는 것은 대부분의 사람들이 사용하지 않고, 100% 완벽을 목표로 하는 것은 좋지 않다.
    나머지 1%의 버그를 쫓아가도 시간을 낭비할 뿐일 것이다.

  2. “구글링” 능력을 높이자
    많은 프로그래밍 초보자는 “구글링”이라는 것을 과소 평가하고 있다. 나의 일할 때 자주 프로그래밍할 시간보다는 뭔가 검색하는 것이 많기도 하다.

  3. 모르면 묻고 모르는 사람이 있으면 도와라
    프로그래밍은 사회적 활동 요소가 많다. 만약 지인들의 도움이 없으면 나는 좋은 프로그래머는 되지 않았을 거라고 생각한다. 주위 지인은 뭔가 특기 분야가 있고, 뭔가 알면 바로 일러준다. 반대로 그들로부터 질문이 있으면 도와주려고 한다.

  4. 기술은 계속 바뀌고 있다
    테크놀로지는 항상 변화하고 있으며 프로그래머도 언어주의자로 있어서는 안 된다(특정 언어에만 빠져 있으면 안 된다).
    만약 내가 1980년대에 프로그래밍을 시작했다면 틀림없이 어셈블리 언어를 이용했을 것이다. 그러나 지금은 거의 쓰이지 않은 언어이다.
    이것은 모든 테크놀로지에 적용할 수 있고, Ruby on Rails도 아무도 안 쓰는 미래가 찾아올지도 모른다.

  5. 오픈 소스에 기여하지 않아도 문제는 없다
    나에게 오픈 소스에 기여하거나 문서를 만드는 것은 더 자신을 레벨 업 하기 위한 중요한 요소이지만 대부분의 사람들은 문서를 읽는 것도 따분하게 느낄 것이다.
    그래서 오픈 소스 역할을 하기보다 자신의 목표로 향하는 것도 소중한 것이다.

내 경우를 조금 말해 보겠다.
내가 Rails의 컨트리뷰터가 되고 싶다고 생각할 때 당시 있던 미해결 이슈를 모두 훑어본 적이 있었다. 그 중에서 하나 골라서 해결 방안을 제출했더니 그것이 받아들여진 것이다. 이 체험은 내게 정말 두근 두근 거리는 것이었다.

  1. 프로그래머는 실패의 연속이다
    만약 당신이 TDD를 한 경우 “red, red, red, green, red, red, red, green” 같은 반응을 보게 될 것. 무슨 뜻이냐면 작업의 대부분이 에러의 연속이다.
    물론 오류만 표시되고 앞으로 진행하지 않으면 낙담 할 것이다. 완벽하게 아니더라도 잘 동작하지 않더라도 서두르지 않는다. 이것이 프로그래머의 일이니까.

  2. 포기하지 않는다
    프로그래밍 초보자로서는 뭐가 어렵고 뭐가 쉬운지 상상하기 어려울 것이다. 그래서 너무 쉽다고 생각했던 것이 사실은 어렵게 구현하기도 한다. 물론 그 반대도 마찬가지다.



출처: https://www.codementor.io/learn-programming/steve-klabniks-9-words-advice-programming-beginners


이 글은 2017-03-08에 작성되었습니다.