alpoxdev
139
2020-03-31 22:07:43 작성 2020-05-17 20:09:34 수정됨
10
5684

여러분은 어떻게 프로그래밍 공부를 하고 계신가요? 저의 프로그래밍 공부 방법에 대한 생각을 공유합니다.


https://alpox.kr/posts/103


안녕하세요. 현재 의무경찰로 군복무를 하고 있는 23살 개발자입니다. 20살, 건국대학교 컴퓨터공학과 새내기로 들어와 처음 프로그래밍을 시작하여 빠르고 많은 성장을 해왔습니다. 물론 저보다 대단한 분들도 많으시지만 남들과 다르게 빠르고 많은 성장을 하며 느낀 점을 초심자분들에게 조그만한 도움이 되고자 글을 적어보았습니다. 

생활코딩에서 글을 올렸는데 반응이 좋아 okky에도 올려봅니다!


주관적인 의견이 많이 들어가있습니다. 제 의견이 정답도 아니기에 어느정도 필터링을 하면서 읽어주시면 감사하겠습니다.


목차


- 프로그래밍 추세

- 사람들의 프로그래밍 관심에 대한 생각

- 여러분은 어떻게 공부를 해오셨나요?

- 프로그래밍 공부는 주입식 교육을 통해 절대로 이루어질 수 없다.

- 프로그래밍 공부는 암기식 교육을 통해 절대로 이루어질 수 없다.

- 너는 전공자라 우리의 마음을 모르지 않아?

- 나의 공부방법 경험

- 나의 공부방법 실패와 성공

- 처음 언어를 배울때 내가 추천하는 공부방법

- 처음 프레임워크를 배울때 내가 추천하는 공부방법

- 어느정도 익숙해졌을때 내가 추천하는 공부방법

- 요약 및 결론


프로그래밍 추세


올해로 2020년이 되었습니다. 그 전부터 꾸준히 성장하고 있는 IT 계열, 특히 소프트웨어에서는 비약적인 성장을 이루고 있습니다. 생각만 해왔던 것들이 현실이 되었고 그만큼 프로그래밍 공부가 선택이 아닌 필수가 되고 있습니다. 확실히 제가 대학 전공을 컴퓨터공학과로 정했을 때(2015~2016년도)만 해도 부모님이 걱정을 많이 하셨습니다. 그때만 해도 프로그래머가 3D 업종중 하나였으며 힘든 직업이라고 다들 생각해왔던것 같습니다.


하지만 지금 소프트웨어가 생활에 있어서 없어서는 안되는 존재가 되었으며 회사와 창업에 있어서 소프트웨어는 선택이 아닌 필수가 되었습니다. 당연하게 개발자의 수요 또한 증가했습니다. 또한 정부에서는 코딩 교육을 의무화 하고 있습니다. 


전과 비교했을때 프로그래머에 대한 대우가 좋아졌으며 프로그래밍에 대한 교육 열풍 또한 증가했다고 느낄 수 있습니다. 프로그래밍을 시작하고자 하는 사람 또한 늘었습니다. 


사람들의 프로그래밍 관심에 대한 생각


사실 저는 긍정적인 방면보단 **부정적인** 방면에 집중하고 있습니다. 프로그래밍 교육에 대한 열풍이 느는 동시에 광고 또한 많아지고 있습니다. 광고나 유튜버들은 말합니다. **누구나** 프로그래밍을 시작할 수 있으며, 마음만 먹을 수 있으면 서비스를 만들 수 있다고. 하지만 컴퓨터 과학이라는 학문은 워낙 방대해 하루종일 공부해도 부족하다고 생각합니다. 물론 다른 분야도 마찬가지지만, 실습과 이론 모두 탄탄해야하는 컴퓨터 분야는 더더욱 힘듭니다. 시작하는 사람들에게 꿈만 제공하는 광고와 유튜버들과 달리, 입문하는 사람들에게 실패와 절망감을 안겨주고 있습니다.


여러분은 어떻게 해오셨나요?


사람들은 각자 자기만의 공부방법이 있습니다. 대부분의 사람들이 어렸을때부터 공부를 해왔으며 이를 통해 자기만의 공부방법을 은연중 인지하고 있을겁니다. 


저는 평소에 해왔던 입시공부와 프로그래밍 공부방법이 전혀 달랐습니다. 프로그래밍의 특수성으로 공부방법이 달라질 수 밖에 없었고, 효과적인 공부방법을 찾기 위해 노력했습니다. 먼저 제 글을 읽기 전, 여러분들의 공부방법은 무엇인지 생각해보시길 추천합니다. 또한 프로그래밍을 시작해보신적이 있거나 이미 하고 계시는중이라면 자신과 저와의 공부방법 어느부분이 다른지 생각해보시면 좋을 것 같습니다.


프로그래밍 공부는 절대로 주입식 교육으로 이루어질 수 없다.


확실히 몇 년 사이 학원 또는 인터넷 강의 교육이 늘었습니다. 강의를 보면서 느낀점은 이와 같습니다. 공부하는 방법을 쏙 빼놓은 채 문법 또는 라이브러리 교육에 집중합니다. 클론 코딩으로 당신도 할 수 있다고 느끼게끔 해주며, 강의를 들으면 그 상태로 할 수 있다고 착각하며 다른 강의를 이어나갑니다. 강의를 수료하고 나서 하나를 만들지 못한다고 생각하며 '나는 프로그래밍에 재능이 없구나' 라며 공부를 중단하는 경우가 많습니다. 


공부방법이 잘못됐습니다. 프로그래밍 공부를 할때 공부방법이 옳지 않으면 성장할 수 없습니다.


프로그래밍 공부는 절대로 암기식 교육으로 이루어질 수 없다.


프로그래밍 공부는 절대 암기식으로 이루어져선 안됩니다. 입문하는 사람들은 워낙 방대하고 프로그래밍의 많은 문법과 기능을 보고 당황해합니다. 공부의 진도를 나아가고자 모두 외우는데 이는 좋지 않은 방법입니다. 앞에서 말했다시피 프로그래밍의 기능과 코드는 워낙 방대합니다. 다양한 기능과 모듈을 모두 외울 수 없습니다. 외우는건 오히려 진도를 방해합니다. 


너는 전공자라 우리의 마음을 모르지 않아?


물론 저는 컴퓨터공학과를 다니고 있는 학생입니다. 하지만 저는 공부를 독학해왔고 지금도 독학중입니다. 저는 최대한 누구의 도움을 받지 않으려고 하며 저에게 있어서 최적화된 공부방법이라고 생각중입니다.


19살 수능끝난 직후부터 프로그래밍 공부를 시작했으며 현재 4~5년째 진행중입니다. 인터넷 강의도 보고 학원도 다녀봤으며, 책으로 공부도 해봤습니다. 학교 수업은 안들은 채 독학했습니다. 전공자이지만 비전공자처럼 공부해왔습니다. 


나의 공부방법 경험


저 또한 공부방법을 처음부터 알았던건 아닙니다. 이렇게 공부하는 방식이 맞는지 의문이 항상 들었었고 어차피 해야되는기에 맨땅에 헤딩 방식으로 공부해왔습니다. 흔히 말하는 삽질을 수만번 해오면서 이렇게 저와 같은 길을 걷는 방법보단 좀 더 빠른 지름길을 알려드리고자 합니다. 


19살때 무작정 학원을 등록했습니다. 공부하는 방법도 프로그래밍도 전혀 몰랐습니다. C언어가 입문하기 어려운 프로그래밍 언어인지도 모른채 학원을 다녔고 하루종일 기본문법도 못배운체 끝나게 됩니다. 결국 아무것도 모르는 상태에서 컴퓨터공학과 새내기가 됩니다.


1학년 1학기가 되었을 때 학교에서 자바라는 프로그래밍 언어로 시작했습니다. 물론 새내기라는 이유로 공부를 하지도 않고 수업도 안들었습니다. 매일매일 놀러가고 친구들과 술마시는걸 일상으로 삼았습니다. 


이런 삶을 계속 살아오다가 기말고사 전에 불안한 마음을 가지고 자바공부를 시작했습니다. 컴퓨터로 먹고 살고자 컴퓨터공학과에 들어왔는데, 기본도 못하면 안될꺼 같은 마음이 컸었죠. 혼자 집에서 생활코딩 강좌를 이해할때까지 머리를 쥐어짜며 시험기간동안 새벽 3~4시까지 공부했습니다.


1학기를 마치고 나서 자바프로그래밍 성적을 A 받았습니다. 성적이 잘나와 기분은 좋은지라, 제대로 해보고 싶은 마음이 생기기 시작합니다.


선배가 자바 프로그래밍 언어로 어플리케이션 개발을 할 수 있다고 알려주셨습니다. 유튜브 강의 한개를 추천받고 모를때 '이렇게 검색해봐' 라는 몇몇 조언을 듣고 나서는 독학을 강행했습니다. 저는 중학교때부터 어플리케이션을 개발하고 싶다는 꿈 하나로 컴퓨터공학과에 진학하게 되었기에 독하게 책 한페이지를 이해못했으면 하루종일 구글링하고 하루종일 들여다보았습니다. 방학동안 하루에 12시간~14시간정도를 한달반 정도 했었습니다. 


안드로이드 어플리케이션을 어느정도 개발할줄 아니 다른 기술을 배워보고 싶어졌습니다. 처음에는 어플리케이션과 소통하고자 php + mysql을 공부하였고 무작정 책 하나 사서 검색을 동반해 서버개발을 시작했습니다.


그 이후에는 React.js & React-Native, Python을 배운 후 Django, 학교 수업을 위한 C++ 를 모두 독학을 강행하였고 지금은 어플리케이션, 프론트엔드, 백엔드와 인프라를 갖출 수 있는 프로그래머가 되었습니다.


나의 공부방법 실패와 성공


무작정 책을 산건 좋은 방법이였습니다. 우연히 잘 맞는 공부방법이였고 잘 맞았습니다. 


책을 무작정 사는 이유는 단순하면서도 중요합니다. 책의 '목차'를 보기위해서입니다. 모든 공부에는 순서가 있습니다. 수학에서도 덧셈 나눗셈을 먼저하고, 곱셈을 배웁니다. 프로그래밍도 마찬가지로 변수와 연산자를 배운 후 함수와 클래스 등등을 배웁니다.


하지만 저는 책을 모두 다 보는 실수를 범했습니다. 여러분들이 항상 책을 사게되면 이 책은 끝내자라는 마인드를 가지고 계실때가 있습니다. 하지만 이 책을 후로 갈 수록 '어차피 기술이라 까먹겠다.' 이거였습니다. 책은 친절하기 때문에 모든 것을 설명하고자 합니다. 자주 사용하지 않는 기술을 배우다가 프로젝트 할 타이밍을 놓치게 됩니다. 


그러면 어떻게 해야될까요? 저는 공부를 시작하기 전 기술 또는 프로그래밍 언어를 무작정 마스터 하기보다는 기술의 사용 용도를 먼저 파악합니다. 예를 들어 Python프로그래밍 언어는 기본적인 프로그래밍, 웹 서버 프로그래밍(Django, Flask), 크롤링 등등 있습니다. 만약 Python으로 서버 프로그래밍을 하고자 Python을 배울 때, 서버 프로그래밍을 생각하며 중요하다고 생각되는 부분은 메모와 표시를 꼭 해둡니다. 굳이 지금 배울 필요가 없다고 생각하면 과감하게 넘어가실 필요가 있습니다. 나중에 배우면 더 쉽기 배우실 수 있으니깐요.


처음 언어를 배울 때 나의 추천 공부방법


축하합니다. 당신은 프로그래밍 세계로 발을 딛으셨습니다. 그와 동시에 수많은 좌절과 절망을 느끼실 겁니다. 컴퓨터는 매우 정직하기에 처음으로 프로그래밍 언어를 배우실 때는 정직하게 배우셔야 합니다.


앞서 말했던 것처럼 책을 무작정 삽니다. 베스트셀러면서 초보자용으로 아무거나 사시면 될 것 같습니다. 책 구매에 신중하실 필요가 없습니다. 저희는 목차를 보고자 사는거니깐 상관없습니다. 책 하나로 부족하실 것 같으면 인터넷 강의를 보셔도 됩니다.


책의 목차를 제일 먼저 펴봅시다. 목차에는 어떤것을 배울지, 공부 순서를 알러주는 큰 좌표입니다. 책을 차근차근 읽어나가면서 하나하나 직접 예제를 해봅니다. 이해를 완벽하게 하셨으면 다음 페이지로 넘어가고, 이해를 못하셨으면 구글링을 해봅시다. 이해를 할 수 있을때까지 검색을 하고, 책을 들여다 봅니다. 이해하셨으면 자신이 이해한 방식으로 메모합니다. 이걸 반복하시면 됩니다. 말만으로는 간단하고 정말 쉽습니다. 하지만 간단해서 콧방귀를 뀔만큼의 예제도 있고 귀찮은 부분도 있습니다. 하지만 직접 실행으로 옮기는 건 생각보다 어렵습니다. 


검색하는 방법이 중요합니다. 결국 프로그래머는 구글링이 반이다 라는 말이 나올정도로 검색을 일상화하시고, 메모와 정리를 꾸준히 하시면 성장하는 자신의 모습을 직접 체감하실 수 있습니다


어느정도 배웠다 싶으면 책을 덮습니다. 책을 끝까지 보실 필요 없습니다. 수많은 예제를 입력하고 자신이 이해한 방식으로 공부를 하게되면 어느정도 자연스럽게 프로그래밍을 할 수 있습니다. 어느정도 자주 사용하는 문법을 배우셨으면 **토이프로젝트**(간단히 자신의 수준에 맞는 프로젝트)를 시작합니다.


간혹 욕심이 많으신 분들은 토이프로젝트의 수준을 높게 책정하실 때가 있습니다. 해내실 수 있으시면 정말 좋지만, 그런 확률은 희박하기에 자신이 해낼 수 있는 수준을 정하시면 됩니다. 예를 들어 html과 css의 기본기를 배우고 나서 토이프로젝트를 정할때, 처음부터 데이터베이스와 연동하는 게시판이라던가, 쇼핑몰같은 웹페이지는 만들기 힘들겁니다. 하지만 html과 css만으로 만드는 자신의 포트폴리오 만들기, 자기소개 페이지 정도가 있을 것 같네요. 토이프로젝트를 2~3개 정도 해내게 되면 어느정도 자신감이 붙어 나아갈 수 있게 됩니다.


처음 프레임워크를 배울 때 나의 추천 공부방법


어느정도 언어를 배우시고, 자신감이 붙으셨을겁니다. 좀 더 많은, 큰 프로젝트를 만들기 위해서는 프레임워크 또는 라이브러리를 배우는 건 필수입니다. 저는 프레임워크를 무작정 넘어가는 좋지 않은 습관이 있어 자주 헤메었지만 여러분들은 그러지 않으시길 바랍니다. 또한 프레임워크 또는 라이브러리는 그 언어의 문법을 어느정도 마스터한 이후에 하는걸 추천드립니다. 그렇지 않게되면 배우다가 다시 문법책을 피시게 될거니깐요.


프레임워크를 처음 공부하시게 되면 책을 구매하시는건 필수가 아닌 선택입니다. 그 프레임워크의 레퍼런스가 잘 되어있으면 구매하실 필요가 없고, 레퍼런스가 부실하다(예를 들어 안드로이드 스튜디오 같은,,,) 싶으면 똑같이 목차를 보기 위해 구매합니다.


레퍼런스가 있을 경우에는 공식 레퍼런스를 먼저 찾아보고, 이해를 못하시면 똑같이 구글링을 열심히 합니다. 수많은 예제를 보고 감을 익히며 직접 입력해보고 사용해봅니다. 에러가 나면 에러 트랙킹을 보면서 고쳐봅니다. 모르면 똑같이 구글링을 합니다. 


사실 공부방법은 별거 없습니다. 하지만 실천이 제일 어려운것 같습니다. 꾸준히 프레임워크 또는 라이브러리를 자신이 원하는 방향, 목표를 도달할 때까지 공부하시면 됩니다.


어느정도 익숙해졌을 때 나의 추천 공부방법


어느정도 익숙해졌을때는 자신의 공부방법이 자리잡았을테고, 이 글을 읽을 필요가 사실상 없으십니다. 그렇기에 현재 저의 공부방법을 소개할까 합니다. 


예를 들어 새로운 언어를 배울 때를 살펴봅시다. 여태까지 수많은 언어들을 경험해보았기에 배우는 새로운 언어도 그 전과 비슷할 수 밖에 없습니다. 어떤 언어와 비슷하고 어떤 언어와 차이점을 비교하며 간단히 이해할 수 있을 정도로 메모해봅니다. 완전 새롭게 배우는게 아닌 이 전에 알고 있던 내용을 응용하기에 처음 프로그래밍을 배울때와 달리 수십배, 수백배는 빠르게 배울 수 있습니다. 완벽하게 그 언어를 이해하는건 아니지만요.


그 언어를 배울때 저는 항상 목표를 미리 정합니다. 파이썬을 배울때 처음의 목표는 크롤링이였고 언어의 기초를 배우자 마자 Beautiful Soup라이브러리를 사용해보았습니다. 그리고 Selenium을 배우고 나서 파이썬의 매력에 빠져 Django, Flask를 이용해 서버 개발도 해보았습니다. 


처음이야 어렵지 그 후에 언어와 프레임워크를 배우는건 어렵지 않습니다. 그저 잘 쓰는것이 어렵습니다.


요약 및 결론


오늘날에 프로그래밍의 장벽은 낮습니다. 하지만 배워야 할 것, 익혀야 할 것은 모두 산더미입니다. 광고나 유튜브에선 프로그래밍의 장벽이 낮아 모두들 할 수 있다고 자신감을 불어넣어줍니다. 1년도 배우지 않은채  바로 나도 취업할 수 있나? 라는 망상에 빠지게 됩니다. 물론 직접 경험하는 것, 어느정도 프로그래밍을 배우는 것을 경험해보는것 모두 나쁘지 않지만 프로그래밍과 전혀 관련이 없는 사람이 배우는건 시간낭비일 뿐이라 생각됩니다.


프로그래밍 공부방법은 우리가 이전에 배웠던 입시 공부방법과 매우 다릅니다. 완전 이론을 빠삭해도 프로그래밍을 전혀 못하는 사람이 인서울대학교 4년제에 넘치며, 코딩을 매우 잘해도 프로그래밍 이론을 전혀 모르는 사람도 많습니다. 밸런스를 맞춰 기본기와 프로그래밍 실력을 모두 갖춰야하며 수많은 노력을 쏟아부어야합니다. 


시작하는 분들께 말씀드리고 싶습니다. 정말 프로그래머로 먹고살고자 하면 이를 가셔야한다고. 자신의 오기와 객기로  이루어져야 뛰어난 프로그래머가 된다고.


긴글 읽어주셔서 감사합니다.

19
20
  • 댓글 10

  • rebwon
    413
    2020-04-01 08:46:51 작성 2020-04-01 08:47:57 수정됨

    프로그래밍에 대한 생각에 적극적으로 공감합니다. 프로그래밍은 잠깐 혹은 몇달 공부해봤다고 적성이 느껴지는 것도 아니며, 비전공자가 쉽게 쉽게 이쪽으로 올 수 있는 그런 쉬운 길이 아닙니다.

    그럼에도 불구하고 많은 사람들이 4차 산업이다 뭐다하면서 국비지원 배우고 취업해서 인생의 시간을 허비하는 것 같습니다.

    저 같은 경우는 클론 코딩, 혹은 나보다 잘하는 개발자의 코드를 읽으며 실력을 쌓는 쪽입니다. 

    실력있는 개발자의 코드를 따라 쳐보고 읽어보는 것은, 좋은 습관 혹은 좋은 설계를 자연스럽게 배울 수 있습니다. 실제로 실무에 가도 코드를 읽고 파악을 한 후에 업무에 들어가니까요.

    마지막 부분에 진입장벽이 낮다는 부분도 동의합니다. 그렇기 때문에 대충 그냥 유튜브 자료좀 보고 따라해보는 정도로는 그냥 다른 길 선택하는게 맞는거 같습니다.

  • B급 개발자
    769
    2020-04-01 10:11:24

    좋은 글이네요!!!

  • 지푸라기
    13
    2020-04-01 11:20:30
    전공자이지만 비전공자처럼 공부한다는 것에서 동질감이 드네요!
    대단하십니다. 
    항상 꾸준함이 중요하다는 걸 또 다시 느끼고 가네요.
    좋은 글 감사합니다~!
  • programmerEgg
    1k
    2020-04-01 12:35:37

    좋은 글 추천드립니당

  • Balmy
    842
    2020-04-03 11:48:56

    개인적인 생각으로는 이쪽 분야 직업이 국비지원교육이나 유튜브쪽을 너무 무시한다고 생각이 듭니다.


    저는 대학교 전공을 게임기획쪽으로 다니다가 프로그래밍 쪽이 재미있어서 넘어오면서 국비지원교육을 받은 케이스구요, 현재 취업 후 1년 반정도가 지난 상태입니다.


    이 상황에서 말씀드리자면 저는 유튜브나 국비지원교육이 프로그래밍의 출발점이라고 생각합니다.

    출발점에 있는 사람들에게 많은 것을 바라는 것은 무리라고 생각합니다.

    물론 프로그래밍 쪽이 쉬운길이라는 것은 아니구요, 위의 유튜브나 국비지원교육을 받았다고,

    자신은 프로그래밍을 할 줄 알며 잘한다 이러는 것은 무리가 있다고 생각합니다.

    다만 그 출발점을 이쪽으로 출발했다고 해서 무시하는 논조는 맞지 않다고 생각되네요,

    개인적으론 많은 것을 건드려보고 아니면 빠르게 다른길로 가는 것도 나쁘진 않다고 생각도 하고있구요.



    딴소리가 길었는데 일단 이 글의 주제인 공부방법에 대해 말하자면


    전 개인적으로 웹개발을 합니다.

    이게 무슨소리냐면 제가 어디 사이트에서 마음에 드는 기능이 있으면 그 것을 개발하려고 확인해봅니다.

    그 후 그것이 외부의 검수가 필요한 기능이 아닌 경우 그것을 제작해보는것이구요

    그렇게 하다보면 서로 다른 기능이고, 직접 작성하던, 다른 분들이 제작해두신 코드를 가져와서 제작을 했던 중간에 비슷한 코드가 있고, 그 코드의 활용방식이 보이더군요

    그럼 이제 그 두개의 활용방식 중 더 효율적인 코드를 반대 코드에 적용해보고 이런식으로 공부합니다.

    물론 아직은 제가 작성한 코드를 고치는 쪽이지만이렇게 하다보면 개인적으론 재미와 성취감이 따라오더라구요.


    그리고 위의 제 방식대로 제작하다보면 당연하게도 에러가 나옵니다.

    그 에러가 전부 다르구요, 그 것에 대해 로그를 분석하는 것이 중요하다고 생각됩니다.

    예전엔 로그 보는것이 어렵다고 생각해 에러나면 그저 검색, 도움요청부터 했습니다만...

    보고, 분석하고, 이유를 찾고 하다보니 점점 혼자 개발할 수 있는 능력이 생겨나더라구요


    애초에 회사에 신입혼자 백+프론트+서버 전부 다 해가며 홈페이지 제작하다보니 생긴 버릇일수도 있습니다만.... 일단 이렇게 하다보면 기본기는 갖춰질 것 같아서 이렇게 공부중입니다.

  • alpoxdev
    139
    2020-04-03 12:39:02

    Balmy // 답글 다는법을 몰라 이렇게나마 올립니다.

    제가 전부터 글을 써오는게 아니다보니 그렇게 느낀 점 죄송합니다. 유튜브나 국비지원을 무시하려는건 전혀 아니였고, 저 또한 유튜브를 통해서 꽤나 많은 정보를 얻었습니다. 유튜브도 시작할 계획이고요. 강조하려다 보니 그렇게 나온 것 같네요.


    이러한 경로를 통해서 잘 성장하고 배운 개발자도 많은 것 알고 있습니다. 하지만 제가 23살이다 보니 막 시작하려는 분들도 많고 저에게 상담을 받는분도 많은데, 대부분의 사람들이 한 곳에 머물러있는 경우가 정말 많았습니다. 프로그래밍의 문법을 말인거죠. 이걸 보고 글을 작성하게 되었습니다.


    저 또한 Balmy님과 같이 프론트(React.js)부터 백엔드(Node.js), 어플리케이션을 모두 하고 있습니다. 독립적으로 공부하는건 정말 좋다고 생각하네요.


    의견 감사합니다 :)

  • 13년째이짓
    505
    2020-04-06 14:59:45

    버티기가 최고입니다. 진입 장벽이 낮은 현실이지만 3년안에 대부분 걸러집니다. 그리고 능력만큼 중요한게 인관관계입니다. 일잘해도 인관관계 안좋으면 안받아죠요.. 소문나서.. 프로젝트 몇 개 하다보면 한 두다리 걸치면 아는사람들 태반이라..

  • abilists.com
    1k
    2020-04-07 19:12:37

    개발자는 평생 공부네요.

  • 스칼라가좋아
    2020-04-10 08:55:38 작성 2020-04-10 09:04:47 수정됨

    요즘은 솔직히 학교가 그리 필요한가 하면 아니죠. 좋은 교재를 누구나 살 수 있고 유데미 강의 수준은 이미 로컬 컬리지 수준은 훨씬 능가하죠. 심화된 내용을 배우고 싶다면 edx에서 무료로 수강할 수 있죠. 이제 전공자의 여부가 중요한게 아니라 개인의 빠르게 배우는 소프트 스킬이 중요한 시대입니다. NodeJS의 개발자가 비전공자 출신인 걸 생각하면 사실 전공자냐 아니냐가 중요한게 아니라 누가 프로그래밍을 배우냐가 중요합니다. 

    개인적으로 프로그래밍은 이론과 경험의 간극을 메우는 것이라 생각합니다. 이는 이론 공부와 현실 프로젝트를 병행할 때만 가능한 것이라 지속적으로 배우고 배움을 프로젝트에 적용하지 않으면 성공적인 프로그래머가 되기 힘들다고 봅니다. 끝이 없는 배움의 길이고 결국 이 일을 높은 기준을 가지고 사랑하지 않으면 도태되는 곳이 이 분야라고 생각합니다. 

    개인마다 공부방법의 차이가 있겠지만 저는 파레토의 법칙을 따릅니다. 프로그래밍을 할 때 필요한 핵심 20 퍼센트의 지식을 공부하면 80 퍼센트의 일을 해결할 수 있단은 것입니다. 핵심에 해당하는 걸 빠르게 배우는 능력이 필수라고 생각하며


    개인적으로 필기나 노트 정리는 전혀 하지 않습니다. 대신 저는 크롬 북마크 익스텐션으로 관련 필요한 정보를 태그를 담아 저장합니다. 이전에는 포켓을 사용했는데 포켓보다는 바로 북마크 확장 프로그램으로 검색해 보는게 낫더군요. 그리고 여러 가지 소스를 동시에 사용합니다. Medium Articles, Youtube, Udemy, Edx, Reference sites, stakoverflows.그리고 전문도서들... 그리고 유데미로 대략 틀만 잡은 뒤 더미 프로젝트를 시작해 패턴을 배운 후 이걸 메인 프로젝트에 적용하는 식으로 가죠. 그래서 필연적으로 리팩토링이 생활화 되어야 합니다. 아 그리고 오픈소스. 이게 정말 필요합니다. 오픈소스 프로젝트에 참여하면 고수들로 부터 각종 피드백을 받습니다. 무료 과외인 셈이죠.

    저는 고립된 중국 무술이 실전성이 전무한 것처럼 프로그래밍도 혼자서만 공부해 소통하지 않는다면 그 자신감이 아무리 대단해도 우물 안 개구리라 생각합니다. 현대 무술이 중국 무술과 비교도 되지 않게 강력한 이유는 계속 오픈되어 발전하기 때문입니다. 따라서 특정 레벨이 넘으면 반드시 오픈 소스에 참여해 지속적인 피드백을 받아야 한다고 생각합니다. 

  • 다이타
    106
    2020-05-02 09:29:27

    안녕하세요 글 잘읽었습니다

    저도 개발자를 위해 공부하고있는 직장인입니다

    물어볼것이있습니다 백준이나 프로그래머스에 나오는 알고리즘코딩 훈련은 언제쯤 하는게 좋을까요?

    충분히 이해하고 프레임워크등을 공부해야하는것인지 잘모르겠습니다ㅜㅜ

  • 로그인을 하시면 댓글 을 등록할 수 있습니다.