Shim Won

December 9, 2014 7:1 am

번역 이 글 그만 읽고 아무거나 배우세요.

원문: http://devblog.avdi.org/2011/12/29/stop-reading-this-blog-and-learn-something/

소프트웨어 개발은 뉴비가 유입되기 매우 좋은 분야입니다. 아마도 다른 모든 분야보다 더 정보가 넘쳐납니다. 기초 컴퓨터 과학 코스부터 공짜로 온라인에서 수강할 수 있고, 구루급 프로그래머의 비급을 직접 전수받을 수도 있습니다. 아 물론, 수백억 줄이 넘는 공짜로 읽을 수 있는 오픈 소스 코드도 있습니다.

불행히도, 이러한 당황스러울 만큼의 많음은 디딤돌이 될 수 있는 만큼 걸림돌도 될 수 있습니다. 넘쳐 흐르는 정보에서 많은 것을 배울 수는 있지만, 허송세월하고 보여주기도 민망한 적은 소득만 얻을 수도 있습니다. 저는, 지난 몇 년 동안 이런 식으로 수천 시간을 낭비했습니다. 이 낭비에서 안티패턴을 발견한 것은 비교적 최근의 일입니다. 이 글로 인해서 당신은 나 같은 실수를 하지 않기를 희망합니다.

대부분의 패턴은 이런식입니다.

와우, 웹 개발은 쩔어! 나 이거 해봐야지!

어디보자… 웹개발하려면, 좀 더 웹에 어울리는 언어를 배워야 하겠지. 그리고 난 똥코드에서 허우적되고 싶지 않으니 제일 좋은 애로 고를 필요가 있어. 모든 언어를 다 해보자!

펄, 파이썬, 루비, PHP를 배우는 데 3개월 투여, 한두개의 "hello world”예제를 써 봄

좋아, 내 "hello world”는 다른 언어로 쓴 애보다 완전 좋아. 하지만 이젠 내 짱 쌘 앱 아이디어에 어울리는 웹 스택을 골라야 겠어. 모든 블로그를 구독해야지!

탐욕스럽게 웹 프로그래밍 블로그를 읽는데 3개월을 더 소요.

내가 블로그를 좀 읽어봤는데, 대부분 “Ruts”^1 를 쓰는거 같아. 근데 그거 한물 갔잖아? 덜 유명하지만 경쟁 프레임워크가 보기에 더 멋져 보여. 나는 거기 디자인 철학을 모두 읽었고, 생각해보니 Ruts로 엡을 만들어 본적은 없고, 완전 그 철학에 동의해. 우왕- Ruts같은 6개월 된 구닥다리 프레임워크 안 쓸래!

그러고보니, 모두 말할 때 “상자 거북이 패턴”을 이야기하는 걸 외워둬야지.

어라, 사람들이 상자 거북이가 더이상 스케일하지않고, 코끼리 풍덩 패턴이 낫다네. 이런, 왜 박스 거북이가 더 좋다고 생각했었지? 어유, 아직 엡을 만들지 않아서 다행이지. 똥을 피했어!

어라 잠깐, 복고풍 거북이 상자 코딩이 완전 다시 유행하네. 와 제네들이 맞아, 재대로만 하면 코끼리 털썩보다 훨씬 강력하네.

젠장, 활발한 커뮤니티 놈들! 이런 충고들은 더이상 듣기 지겨워! 내가 코드를 쓸 시간이나 생기려나?

우와, 스마트폰 프로그래밍이 완전 후끈하네…

아마도 웹 프로그래밍은 오래전에 마스터 했지만 아직 배우는 중이라면, 관심이 있는 기술이 있을 것입니다. 나랑 비슷한 사람이라면 클라이언트 사이드 자바스크립트 프레임워크에 관심이 있을지도 모르겠네요. 많은 대안이 있지만 압도적인 양의 정보가 있음에도 어디에서 시작할지 분명하지 않다는 것도 알고 있을 겁니다.

여기부터 손쉽게 새로운 프로그래밍 기술을 배우는 Avdi의 독학가이드입니다.

  1. 모든 블로그를 구독하지 마세요. 이 소방 호스에서 나오는 정보를 모두 독해할 방법이 아직 없고 자주 모순되는 정보로 마비될 뿐입니다.
  2. 다른 언어 / 라이브러리 / 프레임워크 / 뭐든 간에 리스트를 만듭니다.
  3. 제일 대중적인 것을 고르세요. “제일 대중적인”의 정의는 다음과 같습니다.
  4. 쉽게 발견할 수 있는 활발한 포럼(메일링 리스트, IRC 방, 포럼)이 있어야 합니다. 포럼에 질문했을 때, 빨리 대답을 들을 수 있어야 합니다.
  5. 그 주제에 대한 평판 좋은 책이 최소한 한 권은 있어야 합니다. 책은 기술의 가능성에 완벽한 척도는 아니지만, 누군가 체계적인 열정으로 시간을 투자해 일정 수준의 안정성이 보장되는 괜찮은 경험상의 요점을 정리한 것 입니다.
  6. 가까운 대도시에서 정기인 모임 열리는 건전한 그 기술 전용의 유저 그룹이 있어야 합니다.
  7. 커뮤니티의 일부는 그 기술에 빠져 있어야 하고, 전도사여야 합니다.^2
  8. 예, 제일 대중적이라고 했습니다. “최고”가 아닙니다. 아직 최고가 무엇인지 알 수 있는 충분한 정보가 없습니다. 방금 시작했으니 지금 당장은, 쉽게 구글링할 수 있는 것 중에 하나를 골라 배워야 합니다.
  9. 지역 모임에 들어가 부지런히 참여하세요. 당신은 그 사람들이 필요합니다.
  10. 그 기술에 관찬 책을 사서 읽으세요. 예, 실제 iPad에서 읽을 수 있는 실제 책입니다. (비추지만) 종이라도 상관없습니다. 책에는 대부분의 온라인 자료에는 없는 몇 가지 좋은 특성이 있습니다.
  11. (비교적) 완결되어 있습니다. 공짜 온라인 튜토리얼은 “작성 중”인 섹션을 가지고 있거나 중간에서 끝나는 경우가 많습니다.
  12. 새로운 멋진 기술보다는 보통 기본에 충실합니다. 지금 당장은 기본이 필요합니다.
  13. 체계적입니다. 지금 당장은 체계성이 필요합니다.
  14. 배스트셀러의 저자들은 보통 주어진 버전의 툴로 예제가 재현되지는 지 확인하는데 많은 시간을 사용합니다. (슬프게도) 항상은 아니지만, 보통은 그래요. 그런 이유로, 보통은 스니펫대신, 실행할 수 있는 예제가 주어집니다.
  15. 링크가 적어서, 샛길로 새지 않고 실제 돌아가는 소프트웨어에 집중할 수 있게 합니다.
  16. 이제 배운 것을 프로젝트에서 사용해보세요. 양심적으로, 고용주가 한 번도 사용하지 않은 것을 사용하고, 그로 인해 완전히 망해서 6개월간의 작업을 날려버릴 수도 있다는 것을 명확하게 이해하고 있지 않은 이상, 돈을 받고 하는 프로젝트에는 사용하지 마세요. 개인 프로젝트에 사용할 수도 있어요. 작은 개인 프로젝트.
  17. 문제가 생기면 포럼과 지역 모임의 지인과 상담합니다. 모임엔 주기적으로 나가고 있죠?
  18. 축하합니다. 새로운 영역에 맥락과 관점이 생기기 시작했습니다. 위에 적은 기술 X를 포기하는 힙스터의 불만은 더이상 당신의 이야기가 아닙니다. 학술적인 이야기도 아니죠. 실존하고 처리할 수 있습니다.
  19. 새로운 관점으로 2번에서 만든 리스트를 다시 확인합니다. 리스트를 만든 이후 없어진 프로젝트는 버립니다. 특히 6단계에서 발생하는 문제와 짜증을 해결하는 것을 하나 고릅니다. 온라인 튜토리얼, 블로그, 뭐든 상관없습니다. 이제 영역을 볼 관점이 있으니 그렇게 현학적일 필요없어요.

이것은 내가 앞으로 지켜나갈 프레임워크 입니다. 사용해보기로 하셨으면, 당신에게는 어떻게 작용했는지 알려주세요.

1: 바퀴자국이란 뜻의 단어. 물론 그런 웹프레임워크는 업ㅅ죠. 2: 발번역입니다. 원문은 At least a few people in the community are too hip for it, and have vocally moved on.