일반적인 이야기.
요즘은 어떤걸 개발하던 새로운 기술을 배워야 할 일이 많다.
언어, 프레임워크, 라이브러리, 플러그인, API, 툴, 패키지 등등 새로운 것은 계속해서 쏟아져 나온다.
"OO 어떻게 공부하면 될까요? OO 책/강의 추천해주세요." 같은 질문들이 올라오는 것을 많이 보게 된다.
어떤 기술에 대한 공부 자료들이 어떻게 만들어지는지, 어떤 특징이 있는지를 살펴보자.
예시는 플러터.
# 제일 먼저 만들어 지는 것은 [코드].
당연히 그런 기술들도 코드가 있다. 오픈소스라면 어딘가에 소스를 공개해뒀을 것이다.
https://github.com/flutter/flutter
# 그 다음 개발자/팀 에서 [기술 문서]를 만들게 된다.
이건 공식 사이트의 문서가 아니라 Spec 또는 API 문서를 말한다.
https://spec.dart.dev/DartLangSpecDraft.pdf
# 기술 문서의 내용을 보기 좋게 [사이트]로 정리한다.
보통 이 단계에서 개발 기술이 출시된다.
# 출시된 기술을 써 본 사람들이 [블로그] 에다 소개를 시작한다. (유튜브 포함)
개발팀에서 하는 공식 블로그. 개인이 하는 블로그. 기업에서 하는 기술 블로그 등등 종류가 많이 있다.
개발 팀에서 하는 공식 블로그는 퀄리티가 보장되고, 해당 기술에서 핵심적인 것들을 다루는 경우가 많다. 해당 기술을 자주 사용한다면 꼭 팔로우 하고 있어야 한다. 가끔 열리는 이벤트들도 도움이 많이 된다.
https://www.youtube.com/@flutterdev
개인 블로그는 운영하는 사람에 따라 퀄리티와 난이도가 크게 차이가 난다. 플러터의 경우 GDE나 유명한 개발자들이 운영하는 유튜브나 블로그는 팔로우 하면 좋다. 좋은 블로그나 유튜브를 찾기는 쉽지 않다.
이런 유튜브들은 추천할 만하다.
https://www.youtube.com/@Flutterly
https://www.youtube.com/@SuperDeclarative
https://www.youtube.com/@tadaspetra
https://www.youtube.com/@RobertBrunhage
https://www.youtube.com/@JohannesMilke
기업 기술 블로그는 개발하는 과정이나 신기술에 대한 감상 같은 것을 담고 있는 경우가 많은데, 새로운 기술을 배우기 보다는 인사이트를 얻기에 좋은 장소라고 생각한다.
# [강의]
기술이 인기있어지면 강의가 생겨난다.
무료 강의 / 유료 강의
무료와 유료의 가장 큰 차이는 사후 관리라고 생각한다.
좋은 유료 강의들은 수강이 끝나도 질문도 잘 받아주고 시범 강의도 퀄리티가 좋다.
한글 강의는 코드팩토리를 추천한다.
https://www.youtube.com/@codefactory_official
다만 강의는 강사가 해당 기술 개발자는 아니기 때문에 오류는 있기 마련이다. 좋은 강의들은 틀린 내용 수정도 쿨하고 신속하게 해준다.
무조건 100% 맞다고 말할 수 없다. 결국은 공식 문서, API, 코드를 봐야 한다.
# [책]
보통 책은 블로그나 강의를 해 본 사람들이 정리 차원에서 쓰는 경우가 많다.
출판은 블로그나 강의에 비해서 훨씬 절차가 복잡하기 때문에 쓴 시점과 출판하는 시점의 간격이 매우 큰 경우가 종종 있다.
이렇게
코드 - 기술 문서 - 공식 사이트 - 블로그 - 강의 - 책 순으로 만들어지는데
새로운 기술이 반영될 때도 이 순서로 반영된다.
그러니 코드에 변화가 있다면, 해당 코드를 책으로 공부하려면 매우 오랜 시간을 기다려야 한다.
재밌는 점은, 공부 난이도도 코드 - 기술 문서 - 공식 사이트 - 블로그 - 강의 - 책 순으로 쉬워진다.
강의나 책은 많이 팔기 위해서 많은 사람들을 타겟으로 하는 것이 유리하기 때문에 초보자나 입문자를 대상으로 한 입문용이 많을 수 밖에 없다.
블로그는 어떤 사람이 운영하는지에 따라 다르고 (여기는 입문용이다.)
코드를 바로 보는 것은 매우 어렵다.
결국 올바른 길이 빠른 길이다.