IT 이야기

오픈소스 시대의 공부하는 방식의 변화

Terry Cho 2014. 3. 1. 23:07


요즘 몸도 안좋고, 일도 바쁘고 집안사도 많아서 그간 블로그 업데이트를 못했습니다

지난 주에는 JCO 발표도 있고, 이런 저런 일이 많았습니다.

오늘은 그간 머릿속에만 담아왔던, 인터넷 시대의 공부하는 변화에 대해서 이야기해보려고 합니다. JCO 컨퍼런스에서 잠깐 언급했었는데, 의외로 반응이, 궁금해하시는 분들이 많더군요.


예전에는 제가 프로그래밍 공부를 시작할때 초창기에만해도 공부할 수 있는 방법이, 책,잡지 그리고 학원 정도의 수준이었습니다. 인터넷 이전 시대 이야기 입니다. 자료를 구하기가 정말어려웠지요. 그러다가 나우콤과 같은 PC 통신 시대가 오고 나서, 제한적이나마 소규모의 정보 교류가 가능해지고, Q&A나 강좌를 구할 수 있게 되었습니다.

그러다가 인터넷이 나오고 나서, 커뮤니티 사이트들이 생기게 되고, 거기를 통해서 강좌도 보고, 인터넷 사이트를 통해서 벤더의 스펙자료나 각종 article 자료도 구하게 되어서 공부할 수 있게 되었습니다.


그러면 현재는?

책은 safarionline에 가입해서, 월정액으로 필요한책은 그때그때 모바일기기나 PC를 통해서 볼 수 있고, 모르는 건 구글링을 하거나 안나오면 stackoverflow에 올리면 됩니다. 강좌는 온라인 강좌가 많고, codeschool과 같은 체계적인 튜토리얼 사이트도 많습니다. 그리고 오픈소스 커미터의 코드가 아니더라도, 일반 개발자들이 공부하려고 올려놓은 코드들이 github에 지천으로 깔렸습니다. 공부를 하기위해서 솔루션 설치를 까다롭게 할 필요 없이 bitnami를 통해서 이미지를 받아서 한번에 설치하고 코딩에 집중하거나, 서버가 없다면 프로모션 쿠폰을 구해서 클라우드 계정이나 mongolab과 같은 Paas 서비스를 사용할 수 도 있습니다. 이제는 노트북이 아니라, 잘하면 크롬북 하나만 있어도 프로그래밍 공부하는데 문제가 없겠더군요.


그러면 제가 공부하는 노하우를 하나 공유해드리면, 

직업 특성상, 현재 기술 트랜드를 잘 파악해야 합니다. 이런 트렌트는 facebook 기술 커뮤니티나 infoq, dzone과 같은 개발 정보 사이트에 가면 주로 올라오는 기술들이 있습니다. node.js,, mongodb, redis 이런 기술들이 유행이지요. 그러면 이 기술들이 정말로 유용한지, 트렌드가 맞는지 확인을해야 하는데, google analytics인가? 에 들어가서 키워드와 유사 기술로 비교 해보면, 이 기술의 현재 인기도를 파악할 수 있고, stack overflow에서 간단하게 검색만 해서 검색 결과 수나, 또는 아마존에서 관련 서적수를 체크해봐도 됩니다. 그리고 이 기술들이 현업에서 많이 쓰이는지를 보려면, monster.com (미국의 jobkorea)나 career 2.0과 같은 구인 사이트에서, 해당 기술로 검색을 해보면, job opening 수가 나옵니다. 

트렌드가 되는 기술과 현재 시장에서 많이 쓰는지 파악이 됩니다.


여기까지 파악하면, 이 기술이 주류인지 아닌지가 판단이 됩니다. 그러면 이 기술 자체를 파악해야 하는데, 빠른 시간내에 파악하려면 먼저

slideshare.net에 들어가면 overview ppt들이 많습니다. 이런 ppt를 5~6개 쭈욱 훝어 봅니다. 그러면 반복되는 목차들이 대략적인 핵심 내용입니다. 그 후에 youtube에 들어가면 강의들이 많습니다. 조회수가 많은 강의를 한두개 정도 들어본 후에, 그 다음 부터는 심화 학습에 들어갑니다.

페이스북 커뮤니티를 통해서 기술에 대해서 의견도 물어보고 장단점도 체크해보고, 그 다음에는 실제로 깔아서 공부합니다. learning path는 이미 slide share에서 잡았기 때문에 그 순서로 공부를 하는데, 해당 기술에 대한 tutorial들이 많습니다. 이런 tutorial 문서를 기반으로 빠르게 기술을 습득한 다음에, 실제 코딩도 해보고 글도 정리해보고 막히면 stackoverflow에가서 물어보기도 합니다.

 범위가 넓은 기술들은 차라리 온라인 강좌 사이트 codeshool, codeacademy 등을 이용합니다. 유료도 있지만 무료도 있습니다.

샘플 코드를 만들어 보고, 코드를 github에도 올려보고, 공부가 되었으면 stackoverflow에 답글을 달 수 있을지 봅니다. (대부분 달기 어렵습니다. 초짜가 달아야 얼마나.. 달겠습니까?) 그래도 이제 질문은 이해가됩니다.


대략 이런 형태로 지식을 습득해 나갑니다.

나름 빠르게 기술을 습득하는 노하우인데, 공유합니다. ;)

더 좋은 공부하는 방법이 있으면 공유해주세요.


예전에 비해서 집에 앉아서 인터넷 연결되는 PC만 있으면 모든 첨단 기술을 공부할 수 있습니다. 예전에는 기술정보에 대한 접근 권한이 차이가 있었기 때문에, 경쟁력에 우위를 점할 수 있었지만, 이제는 누가나 할 수 있기 때문에, 어떤 기술을 얼마나 짧은 시간에 효과적으로 습득할 수 있느냐가 관건인것 같습니다.


마지막으로 덧 붙이자면.. "근데 영어 읽기 쓰기가 되야 합니다. ㅜㅡ "


그리드형