원문

무엇에서든 월드 클래스 실력을 가지는 방법은 올바른 방법대로 약 만 시간의 시간을 훈련하는 것이다. [아웃라이어, 말콤글래드웰]

글쓴이가 순전히 코딩(소셜 스킬, 매니징 스킬 등 제외)을 만 시간 하며 느낀 것을 적었다. 그는 의도적으로 코드를 일만 시간 짜보았다고 한다. 그 중에서 보다 와닿은 것을 번역해보았다.

  1. 공식문서를 읽는 것이 스택오버플로우에서 답을 찾는 것보다 거의 항상 빠르다.
  2. 많은 경우에 당신이 찾는 답은 인터넷에 있지 않다. 그 말은 그 문제가 어렵거나 중요하거나 둘 다라는 것이다.
  3. 가능한 한 코드를 많이 지워라
  4. Syntactic sugar는 보통 나쁘다.
  5. 단순하게 하는 건 어렵다.
  6. 다양한 종류의 툴을 갖고 적절한 때에 무엇을 사용할지 알아두어라.
  7. git이나 bash처럼 자주 사용되는 것들의 내부 원리를 알아두어라.
  8. 반복되는 워크플로우의 경우 당신만의 툴을 만들어두어라. 자기가 직접 만든 게 그 무엇보다도 빠르다.
  9. 만약 코드가 못생겼다면, 그건 나쁜 실수일 경우가 많다.
  10. docstring이 아닌 주석을 달아야하는 코드는 리팩토링이 필요하다.
  11. 당신의 프로그램이 프로덕션에서 어떻게 구동되는지 이해 못한다는 것은 그 프로그램을 이해하고 있지 않단 뜻이다. 최고의 엔지니어들은 자신의 프로그램이 모든 환경에서 어떻게 작동하는지 안다.
  12. 11번은 빌드 파이프라인에서도 마찬가지다.
  13. 쉽게 재작성할 수 있는 소규모 라이브로리나 일부분만 사용할 큰 라이브러리의 경우, 의존성을 직접 갖지 말아라.
  14. 룰을 깨야할 때를 알아라. "don't repeat yourself" 같은 규칙의 경우, 가끔은 조금 반복하는게 더 낫다.
  15. 변수명을 정확하게 지어라. 예술과 같은 작업이다.
  16. 결과적으로, 다른 분야의 엔지니어들은 세상을 다르게 바라본다.
  17. 몇몇 프로그래머들은 다른 사람보다 10배 이상 효율적이다.
  18. 10배 더 나은 프로그래머인 것과 10배 더 나은 직원이 되는 데에는 연관이 없다. (어쩌면 반비례할 수도 있다.)
  19. 좋은 API들은 사용하기 쉽고, 잘못 사용하기가 더 어렵다.