1만 시간의 법칙 – (자스 1년이면 초보가 아님)

[ 이글은 2017년 05월 08일에 최종 수정되었습니다. ]
§

Outliers (아웃라이어) 는 전세계 수십개 언어로 번역된, 매우 유명한 (뉴욕타임즈) 베스트셀러 입니다.

한국어 번역에 “성공의 기회를 발견한 사람들” 이란 부제가 달렸듯이, 아직 학생이거나 내 인생에 어떤 꿈을 갖고 성공하고자 하는 사람이라면 꼭 읽어봐야 하는 필수 도서 입니다.

책을 읽다보면 이게 뭐야? 금수저론 이야? 라고 생각할 수 도 있는데 (성공할 수 있는 조건은 태어날때부터 결정되어 있다는 내용때문에 그렇게 오판하기 쉽지만 이 책을 끝까지 읽어보셔야 합니다), 현실을 말할 뿐이며, 자신의 노력에 따라서 태생적 한계는 벗어날 수 없지만, 어느정도 성공할 수 있다는 매우 유익한 정보를 알려 줍니다.

이 책에 나오는 1만 시간의 법칙은 여러 학자들과 연구원들이 과학적으로 분석을 했을정도로 이제는 정설로 받아들여지고 있습니다. 사실 제 인생 경험을 되돌아 봐도 매우 상식적인 얘기 입니다.

이 1만 시간의 법칙은 무엇인가?

편리님이 오래전 냑, 그누보드 에 입사하기전에 본인의 블로그에 밝혔듯이, 3년만 미치면 어디가서도 꿀리지 않는 개발자가 될수 있다는 주장과도 일맥상통하는 내용 입니다.

어떤 분야건 1만 시간만 투자하면 그 분야의 최상급 수준에 오를수 있다는게 이 1만 시간의 법칙입니다. (아무리 머리가 나빠도 평타는 친다는 얘기죠.)

365일 기준으로 1년에는 8760시간이 존재합니다. 잠자고, 밥먹고, 일상생활에 꼭 필요한 부분에 시간을 할애한 나머지 시간을 모두 투자하면 (몰빵하면) 3년이란 시간동안 어떤 분야에 1만시간을 투자할 수 있습니다. (직장생활을 하고 있다면 절대 쉬운일은 아닙니다 만 불가능 하지도 않습니다.)

친구 끊고, 게임끊고, 모든 사회생활을 다 끊고, 정말 그 분야에 미치면 가능합니다.

그 3년이란 시간동안 편리님은 완전 php 에 미쳐서 모든 시간을 투자했고 이제는 리자님 (그누보드 만드신분) 보다 php 를 훨씬 더 잘해서 실질적인 그누보드 관리및 개발은 편리님이 하십니다. 애초에 컴공 전공도 아니었고, php 는 if else 도 모르는 상태에서 그 3년이란 시간동안 그누보드 개발을 총괄하는 개발자로 자신을 성장시킬 수 있었던 것 입니다.

css 에 3년을 투자해 보세요. 전세계 존재하는 어떤 css 기법이나 형식도 눈감고 똑같이 그려낼 수 있는 수준에 도달합니다. 레이아웃을 보면 머리속에서 css 가 자동으로 그려집니다. (pseudo elements 까지 포함해서 머리속에 코드가 그려진다는 얘기 입니다.) 자스 (javascript) 도 똑같습니다. 내가 자스에 1만 시간을 투자했다면, 어떤 코드를 봐도 다 이해가 됩니다.

하지만 여기에 문제점이 하나 존재합니다. 최근 Princeton 대학 연구결과에서도 밝혀졌듯이 이 1만시간의 법칙은 목표하는 target (목표점?) 이 static (고정) 되어 있는 경우에만 그 법칙이 성립됩니다.

무슨 얘기냐? php 같은 경우, 편리님이 1만시간을 투자하는 동안, php 는 크게 바뀌지 않고 달라지지 않았기에 그 1만시간을 투자한 후, 최상급 수준에 오를 수 있었던 것 입니다.

반면 자스의 경우 기존사용되고 있는 ES5 (ECMAScript 5) 기반으로 1만시간을 투자했다고 해서 자스 코더의 최상급 수준에 도달할 수 없습니다. 그 이유는 이제 모든 브라우져에서 적용되기 시작한 ES6 (ECMAScript 6) 의 개념들을 탑재하지 못했기 때문입니다.

겨울나무님도 제시한 arrows 라던가 promises 같은 새로운 개념들을 학습하고 실제 적용하는 코딩 연습을 해야 하기 때문입니다.

css 만 해도 element 를 가로 정렬하려면, 기존 float 모델 (float left 하고, clear left, right, 아니면 both 를 주는 형태) 을 사용하다, 이제는 display 에 flex 주고, flex-direction 을 row 로 먹여야 하는데 이 float 모델과 flexbox 모델은 전혀 다른 개념이잖습니까?

section:not(:has(header:first-child)){ }

css 경력이 10년이 아니라 20년이라도 평소 css 를 꾸준히 학습하지 않는다면 이 위 css 한줄도 해석을 못한다는 사실.

그러니 기존 css 나 js 에 1만시간을 투자했다고 해도, 개발자로 일하기 힘든겁니다. 하지만 겨울나무님의 경우처럼 es5 가 아닌 es6 를 기반으로 1년이란 시간을 투자했다면 절대 자스 초보는 아닙니다. 물론 실무경험이 부족하다면 (일명 꼼수) 직장에서 별로 쓸모 있는 인재가 아닐수도 있겠죠.

이래서 제가 front-end 개발자가 되고 싶어하는 분들에게 가급적이면 다른 분야 (back-end 나 서버쪽) 를 고려해 보라는 말씀을 드리는 것 입니다.

es5 기반의 자스를 바닥에 깔아 놨다면, arrows 나 promises, 또 es6 형식의 iteration 같은 개념/코딩을 학습하는데 아주 많은 시간이 소요되지는 않습니다.

물론 이거 다 코딩 연습 해보는데 또 얼마나 많은 시간이 걸릴지 한숨부터 나오는건 함정. ㅋㅋㅋ

https://github.com/lukehoban/es6features (여기에 포함되지 않은 다른 개념들도 많다는. ㄷㄷㄷ)

하지만 처음 자스 공부를 해야 한다면 es6 부터 공부를 해서는 학습속도가 많이 느려질거고, 그렇다고 es5 부터 공부하자니 이것 역시 매우 비효율적인 학습이 될 가능성이 높습니다.

그리고 es6 학습속도가 느리다면 ECMAScript 2016 는 어쩔꺼임? (ECMAScript 2016 != es7, 아직 완성된게 아님. 참고하시길) 지금이 벌써 2017년인데 이제 es6 는 떼고 ECMAScript 2016 하고 있어야 하거든요?

여기에 각종 프레임워크, library, 모바일 앱 들도 빛의 속도로 발전하고 있고. 그나마 내가 일하고 있는 회사가 개념이 잡힌 회사라 vue.js 를 사용하고 있다면 그 개발자 입장에서는 천만다행이겠죠.

학습속도가 느리면 오히려 개발자로서의 유용성이 쇠퇴하게 되는 겁니다. 자스 는 계속 앞으로 나가고 있는데 나는 그자리에 머물러 있으니까. (하… 제 얘기 하는거라는… ㅠㅠㅠㅠ)

이런 와중에 front-end 개발자가 되겠다며 jQuery 플러그인이나 가져다 덕지덕지 붙여서 자신의 포트폴리오 페이지를 만들고 계신 분을 보면 (이 글을 그분이 읽는다면 기분이 많이 나쁘실 수 있겠지만, 저는 정말 걱정이 되서 말씀드리는 것 입니다.) 제 속이 터집니다.

평생, 최소 내가 현업으로 일하는 동안, 하루에 최소 1시간 (1 hour 를 한국어로 어떻게 표현해야 하나요? ㅠㅠㅠ) 이라도 학습에 투자할 의향이 없다면 절대 front-end 개발자를 목표로 삼지 마셨으면 좋겠습니다. (1만 시간을 깔아놓고 하루에 1시간 이란 얘기 입니다.)

front-end 는 엄청나게, 또 매우 빠르게 발전하고 있고 (정말 광속으로), 앞으로 어디로 튈지도 모르는 상태라, 기존 개발자들도 이거 따라잡는데 헉헉거리고 있습니다. 최소 뒤쳐지지 않는데 혈안이 된 상태에요. 앞으로 front-end 개발자라는 직업은 제 아들처럼 최소 초등학교 때부터 코딩을 해온 인재들이 차지하게 됩니다.

[그런데 헬 조선 대학교에선 아직도 이게 (마방진: magic square) 필수 과목중 하나] – 하… 이게 사실이라면 할 말이 없습니다.

대학교 4년동안 컴공 전공해봐야 대학교 입학하기전 최소 어느 언어 하나에 1만 시간 정도를 투자하지 않았다면 그 4년동안의 교육이 아무런 의미가 없습니다. 실제 현재 미국 대학의 경우 대학교 입학하기전 이정도의 시간을 투자해 놨어야 학습자체를 따라갈 수 있기도 하고.

*이 부분에 또 논란이 있을 수 있어 이렇게 부연설명 하고 싶습니다.

야알못이 야구코치 할 수 있나요? 야구코치라는건 야구선수 생활을 하고, 그 선수로서 쌓은 경험을 토대로 어떤 노하우를 젊은 선수들에게 전수해주는 직업입니다. 그리고 이런 과정을 통해 어떤 이론을 찾아내고 철학이 생기기도 하죠. – 그리고 감독이 되어 이런 철학을 갖고 야구팀을 운영하고.

그런데 야구빠따 한번 잡아본 적도 없이 이론부터 배우는게 순서다? 야구선수가 되기전 야구감독부터 해야 하는거다? 이게 적절한 allegory (비유) 인지 모르겠지만 최소한 저의 경험으로는/생각으로는 좋은 교육방식은 아닌 것 같습니다.

코딩부터 죽어라고 수천, 수만시간을 하고난 후 어떤 노하우가 생기고 나름의 이론이나 철학이 성립되는거지 (미국식 교육) 코딩한번 해본적도 없이 이론 부터 배워서 (헬조선식 교육) 개발을 한다? 저로서는 납득하기 어렵습니다.

TL;DR (결론):

  1. 노력 없는 성공이 가능하다? No way.
  2. 헬조선 교육은? 답이 없다.
  3. 자스 3년이면? 대형사고 칠 정도의 (회사에서 그날로 짤릴 수 있는 수준의) 실력이 생긴다.
Tags: , , ,

카테고리: ,

Ω
  • http://est0que.tistory.com/ Estoque

    기승전 탈조선이 답이군요 ㅋㅋ
    1만시간의 법칙이라는게 중간에 곡해가 되면서 모든 것을 적어도 ‘하기’ 위해서는 1만시간이 소모 된다고 알고 있더라고요. 근데 20시간 정도 투자하면 바보가 아닌이상 기본은 다 합니다. 문제는 거기서 부터 러닝커브가 미친듯이 가파르게 변하면서 올라가기가 힘들어지는 것이죠

    • http://hackya.com Matthew

      eureka moment (유레카 순간(?)) 이란게 있습니다.

      어떤 분야나 언어를 공부하다 보면 이게 여러번 옵니다. 갑자기 전구가 팅 하고 켜지면서 모든게 이해되는 그런 순간 같은거죠.

      그때 기분은 참 뭐라고 설명하기 어렵습니다. 어떤 엄청난 걸 얻은 것 같은 기분.

      그런데 이 eureka moment 을 경험하기 위해서는 말씀하신 러닝커브를 힘들게 올라가지 않으면 느낄 수 없습니다.

      하나의 언덕? 을 올라가다 정상에 다다르면 느끼게 되는 쾌감 같은거죠. 그리고 고개를 들어보면 다시 또 언덕이 보이고. 그럼 또 그 언덕을 오르기 시작하고.

      이짓을 언제까지? 죽을때까지/현업으로 일 그만둘때까지 하게 되는게 개발자의 운명 입니다. ㅎㅎㅎㅎ

      이게 싫으면 개발자 하지 말아야 합니다.

      • http://est0que.tistory.com/ Estoque

        제 스스로 마조히스트에 셀프고문하며 뭐든지 새로운 것이나 기괴한 것을 배우는 것을 즐기는 경향이 있는데 (물론 배우는 과정중에 수반되는 귀차니즘이나 고통은 가끔 두렵기도합니다.) 저는 개발자로서 최적의 유전자를 갖고 있는 것이군요! (하하…)

        하지만 쉽게 질리고 새로운 것을 항상 좋아하는 경향이 있어서 아직도 IE 찾는 국내 개발환경에는 안 맞는것 같습니다. D:

        사실 말씀하신 eureka moment 라는게 모든 학문에 다 적용이 되는 것이라… 그리고 이게 은근 중독성이 있습니다. ㅋㅋㅋ 저 같은 경우 정말 초기 진입 장벽이 높은 학문(철학, 미학 기타등등)이 아니면 기본정도는 익히려고 이리저리 찔러보는 편입니다. 나름 재밌어요. 문제는 러닝커브가 가파르게 변하기 시작하면 밑도 끝도 없어서 문제죠 ㅋㅋ

        • http://hackya.com Matthew

          네. 그리고 플래시 (actionscript) 같은, dead-end 언어나 북한학 같은 학문을 선택했다가 인생 종치는 매우 비극적인 상황도 발생할 수 있습니다. ㅋㅋㅋ

          https://namu.wiki/w/북한학

          그래서 뭘 공부하든, 일단 “이게 돈이 돼?” “이걸로 내가 돈을 벌 수 있어?” 같은 질문을 끊임없이 해야죠.

          저도 하루종일 공부만 하라고 하면 너무 쌩유죠. 머리는 나쁘지만 공부하는걸 좋아 하거든요.

          그런데 제가 재벌2세가 아니라서 공부만 하면 굶어죽는다는 게 함점.

          그리고 정작 재벌2세인 제 사촌들은 공부하는걸 싫어한다는 것도 함정. ㅋㅋㅋ

          • http://est0que.tistory.com/ Estoque

            제 전공이 굶어죽기 딱 좋은거라서 말씀하신 부분에 대해 걱정이 심각합니다. 물론 유학갈때 전공도 바꿀거긴 하지만 대학생이라는 신분이 없으면 핼조선에서는 피해가 막심하기 때문에 억지로 유지하는 중입니다.

            일례로 백수 신분이면 예비군 훈련을 2박3일 받아야 하죠 ㅂㄷㅂㄷ
            대학생은 8시간만 받으면 됩니다.

          • http://hackya.com Matthew

            Adobe 에서 css 짜고 js 작성하는 AI 만들고 있다는….

            어떤 공부를 하시더라도 미래에는 안전한 직장이 별로 없을 것 같은데…. ㅋㅋㅋ

          • http://est0que.tistory.com/ Estoque

            로봇이랑 AI가 못하는, 사람만이 할 수 있는 일이 뭐가 있을까요?

            흠….

            …그냥 WD40 잘 뿌리는법 배워서 로봇 상사한테 잘 보이는 법이나 연마해야 겠습니다. -_-)a

          • http://hackya.com Matthew

            ㅋㅋㅋ WD40 보다 이게 더 유용하지 않을까요?

            http://www.dust-off.com/wp-content/uploads/DusterFamily.jpg

            아직 AI 가 하지 못하는 일은 새로운 비지니스 로직을 짜는 일 입니다. 이건 정말 최소 수십년은 걸릴듯.

            고로 기승전결 스타트업? ㅋㅋㅋㅋ

            그런데 아마존 같은 기존 스타트업 ==> 대기업 들이 모든 분야를 집어삼키고 있어서, the window of opportunity is closing fast 라고 생각됩니다.

            그리고 스타트업을 시작하기 위한 threshold (문턱? 장벽?) 도 체감상 점점 높아지는 것 같고…

            확실히 AI 가 지배하는 세상이 오기까지 (인간들이 노예화 되는) 그렇게 많은 시간이 남은 것 같지는 않습니다.

          • http://est0que.tistory.com/ Estoque

            먼지제거제 ㅋㅋㅋ

            실리콘 소자가 발달하면서 엄청난 열이 따라왔습니다. 70~80년대 PC 보면 전부다 패시브 쿨링이죠. 아예 방열판 조차 없는 것도 흔하고요. 그렇지만 현재까지도 가장 발달한 냉각시스템이 수냉인데, 이마저도 완전한게 아니라…

            따라서 로봇이 세상을 지배하게 되면 가장 큰 문제는 먼지와 열이 아닐까 합니다. 그러므로 네오-러다이트에서는 먼지와 열로 안드로이드를 공격해야하지 않을까 합니다 ㅋㅋㅋ

            아시다시피 엔지니어링 101 솔루션이 WD40과 덕테이프 였는데

            https://uploads.disquscdn.com/images/db1e11ce97b2030c2aff19b7c75a9d76807edb9cb6ec088689d8d09dd99e222a.jpg

            이제 로봇상사한테 잘보이는법 101 이라는 이름으로 바꿔야 하지 않을까 합니다. ㅎㅎㅎ

  • bastcode

    개인적으로 교육은 흥미가 우선이라고 생각 합니다
    자기가 필요해서 찾아보는 사람들은 뭘 던져줘도 알아서 해석하고 받아 들이는데,
    일단 배워! 하면 머리는 그걸 수용하지 않거든요.

    흥미. 실습. 그리고 거기서 부터 나오는 의문을 이론으로 푸는게 중요하고 생각 합니다.

    실제 헬조선에서 이론 배우고 실습 들어가는 절차를 밟으면 이론할때 어리둥절. 실습할때 왜 처음 듣는 소리 같지? ㅋㅋㅋ

    • http://hackya.com Matthew

      “자기가 필요해서 찾아보는 사람들은 뭘 던져줘도 알아서 해석하고 받아 들이는데” – 좀더 솔직하게 말하자면 발등에 불떨어져서 목숨걸고 뭐 만들어야 할때 아닌가요? ㅋㅋㅋㅋ

  • http://www.thewordcracker.com/ Word

    예전에 누가 3000시간 동안 영어를 들으면 영어가 들린다고 해서 열심히 한 적이 있습니다. 하지만 생각처럼 영어가 잘 안 들리더군요. 이 글을 보니 3000시간이 아니라 1만 시간이 맞는가 봅니다. ㅎㅎㅎㅎ

    • http://hackya.com Matthew

      언어는 정말 개개인편차가 많이 납니다. 예전에 젊어서 잠깐 허송세월을 보냈을때 (오래 방황을 한건 아니고 한 1년. ㅎㅎㅎ) 한국 민병철 어학원 (지금 이름은 BCM 인지 유폰인지 잘 모르겠습니다.) 에서 원어민 강사로 토익을 가르친적이 있었는데, 그 학원에 어느 여자 선생님은 미국/뱅쿠버 캐나다 원어민 처럼 엑센트가 전혀 없었습니다.

      저희는 이 선생님이 우리과 (미국인이나 머리까만 미국인) 라고 생각했는데, 나중에 친해져서 얘기를 하다 보니 이 여자분은 토종 한국인.

      토익가르치는게 가장 월급을 많이 받는데 (당시 한달에 380만원 정도), 이 선생님은 어린학생들을 가르치며 한달에 200만원정도도 못 벌고 있어서 저희가 의아스럽게 생각해서 대화를 나누다 알게 된 사실이었거든요. (자신은 원어민이 아니라서 토익 가르칠 자격이 되지 않는다고.)

      해외유학도 캐나다 3개월 다녀온게 전부였고, 원래 전공도 영문학과도 아닌 분이셨는데, 눈감도 들으면 그냥 미국사람이 얘기하는 것 처럼 들렸었습니다.

      유명인사 중에는 배우 이병헌씨가 영어도 거의 완벽하게 이해하고 발음도 상당히 좋더라구요.

      영화배우가 무슨 영어공부를 따로 한것도 아닐테고, 그리고 공부를 했다고 하더라도 비원어민 중 거의 최상급 수준의 영어회화를 합니다.

      https://youtu.be/yFmAvPzn6GE?t=1m17s

      반면 반기문씨 같은 경우는 영어를 정말 못하고. 원래 외교관 출신이었으니 본인이 영어 공부를 정말 많이했을텐데 발음은 회화공부 1년차 수준. ㅋㅋㅋ 다중언어를 잘하는 유전자가 따로 있는 것 같습니다.