본문 바로가기

돈의 주인되기/컴맹, 코딩을 배우다

가장 효율적으로 코딩을 배우는 방법

나의 코딩 공부는 효율적인 방식으로 하고자 마음먹었다.

영어라는 언어공부에 들인 그 많은 세월과 헛짓거리를 더는 반복하고 싶지 않았다.

(내가 헛짓거리했던 과거의 이야기)
https://brunch.co.kr/@onekite1025/333

16화 이 놈의 영어

영어 공부의 목적 | 나의 가방 속에는 항상 들어있는 게 있다. 데일 카네기의 자기관리론 'How to stop worrying & start living' 영문판이다. 미니북이라서 아주 가벼워서 들어있는지도 사실 잊어버릴 정

brunch.co.kr


사실 학창시절부터 영어는 공부하고 있다고 생각했지만 사실 제대로 공부한게 아니었다. 그런 사실이 나를 분노케 했다. 이젠 시간낭비하지 않을거라 다짐했다.

언어공부와 코딩공부의 공통점을 발견하게 된 계기

영어공부를 다시 제대로 하기로 마음먹고 실행하면서 영어뿐만이 아니라 언어공부에 대한 큰 틀마저 보이기 시작했다.
그렇게 나는 영어를 원어민처럼 하지 못한 상태로 먼저 스페인어를 듀오링고를 통해 ‘매일매일’했다.

https://apps.apple.com/kr/app/%EB%93%80%EC%98%A4%EB%A7%81%EA%B3%A0-duolingo/id570060128

‎듀오링고 (Duolingo)

‎세계 최고의 언어 학습 앱 듀오링고(Duolingo)로 무료로 영어를 배우세요. • App Store 선정 2013년도 올해의 아이폰 앱 • 한국 App Store 선정 2014년도 최고의 앱 • "최고의 무료 언어 학습 앱" —The W

apps.apple.com



여기서 중요한게 ‘매일매일’‘한 스테이지씩’인데, 그 이유는 여러 스테이지를 하면 아무래도 새로운 걸 처음 배우는거다보니 머리가 터질것같았기 때문이다. 그리고 듀오링고가 프리패스를 월정액으로 판매하는데, 그걸 결제할 필요없다. 그저 한 스테이지씩 매일 ‘하루도 빼먹지말고’ 스페인어를 일단 해봤다. (어차피 광고프리로 해봤자 머리아파서 두 스테이지 이상 할 수 없다. 욕심은 금물. 매일 5분이라도 달려야지 첫날부터 10키로 목표로 하면 3일도 못한다.)

그랬더니 나는 특별한 노력을 한 적 없는데 120일쯤 지나니까 스페인어에 재미를 붙이게 되었다. 물론 그 사이에 스페인어에 대한 한두번의 고비가 찾아왔다. 그럴때 포기하면 안되고 다른 방법으로 재미를 찾는게 중요하다. 나의 경우는 다시 맨 처음의 기초적인 부분을 복습하는 2nd 라운드를 한스테이지씩 격파했다. 그랬더니 처음에는 뭣도 모르고 넘어갔던게 이제는 수월하게 이해가 되었다. 아 이래서 복습이 중요하구나를 느꼈다.

그러다보니 스페인어도 되는데 다른 언어도 이렇게 쉽게 하면 되지 않을까 실험하고 싶어졌다. 동시에 두,세가지 언어를 공부하면 헷갈리지 않을까, 혼란스럽지 않을까라고 걱정하는 분들도 있을지도 모르겠다. 하지만 일단 스페인어를 100일간 매일 하다보니 그런 걱정은 쓸데없는 걱정이라는 생각이 들었다. 만약 내가 처음부터 스페인어랑 독일어, 불어 등을 동시에 제로의 상태에서 시작했다면 헷갈렸을수도 있지만(하지만 이것도 내가 직접해보지 않았기때문에 확답은 못내리겠다. 왜냐하면 소리 자체가 다르니까. 지금 이태리어랑 불어랑 독어를 함께하고 있는데 서로 헷갈리지는 않는다.) 스페인어는 100일정도 앞서있는 상태고 독일어는 완전 제로 베이스였다. 그러니까 헷갈릴 일은 전무했다.

그리고 독일어를 해보니 스페인어의 소중함을 알게 되었다. 스페인어는 정말 배우기도 쉽지만 문법도 쉽고 발음도 엄청 쉬운거다. 독일어는 그에 비하면 욕나온다. 그치만 나는 독일어를 잘하고 싶다는 강한 동기부여가 된 상태(내가 좋아하는 유튜버가 독일어로 말한다)이기 때문에 신경쓰이지 않는다. 다만 스페인어와 영어에 대해 감사한 마음이 엄청 생겼다는 것!

그렇다면 코딩은?


+ 22.2.3 최근 추가)

코드잇이 가장 직관적이고 좋은거 같음!




쨌든 이런 식으로 한 스테이지씩 매일매일 하다보니 코딩도 이런 식으로 하면 되지 않을까라는 생각이 들기 시작했다. 하지만 예전에 <생활코딩>이 설명을 잘해놓았음에도 나는 더 쉬운 방법이 필요했다. 어느 정도 실력이 생기면 생활코딩으로 돌아가서 영상들을 볼 생각이다.

예전에 <조코딩>이라는 유튜버의 영상들을 보면서 포스팅을 해놓은게 너무 다행이다 싶었다. 나는 그 당시 그 개념을 알고 있다고 생각했는데 다시 보니 새로웠다. 이러니 글로 남겨둬야 한다. 나만의 요약 정리는 반드시 필요하다. 나의 오답노트같은 느낌으로 말이다.

코딩 공부 순서 - 큰 숲보기 - https://onekite1025.tistory.com/m/374

코딩 공부 순서 - 큰 숲보기

개발은 크게 2가지로 나눌 수 있다. - Front - End (Client Side) 우리가 보는 화면을 구성하는 프론트엔드 ex) 로그인 화면 - Back - End (Server Side) 화면에 정보를 저장, 처리, 가공하는 부분인 백엔드 ex)..

onekite1025.tistory.com


코딩 기본 용어 정리 - https://onekite1025.tistory.com/m/379

코딩 기본 용어 정리

코딩(Coding)이란? Code : 컴퓨터가 알아들을 수 있는 언어 Code + ing 는 코드를 작성하는 것을 의미한다. '코딩 = 컴퓨터에게 명령하는 것' 이라고 할 수 있다. 6월치 일 하루만에 끝내버린 KAIST출신 사

onekite1025.tistory.com


이렇게 두 포스팅을 올렸지만 나는 더 이상 코딩공부를 위해 앞으로 나아갈 수 없었다. 그러다가 언어공부에 대한 큰 그림에 대해 깨우치고 나니 유레카를 외치게 되었다.

‘그래! 듀오링고같은 앱으로 코딩 공부를 하면 되겠구나!’

근데 어디서 이런 걸 찾아야 할지 막막했다. 먼저 앱스토어에서 코딩 초보자에 대한 앱을 찾다가 어린이용 앱을 찾게 되었다. 그런데 그런 아이용 그림과 게임같은 기능으로 내 시간을 낭비하기 싫었다. 그래서 생각해낸게 영어로 구글에 쳐보는거였다.

우리가 영어를 공부하는 진짜 이유는 양질의 정보에 닿기 위함이다. 원어민과 길에서 수다나 떠는게 본 목적이 아니란 말이다. 그리고 특히 코딩을 하는 사람이라면 영어는 더더욱 잘해야 한다. 영어를 못하는 프로그래머는 치명적이다. 영어에 최소한 편안함을 느낄 수 있어야 한다.

영어로 구글에다가 쳐보니 Quora 질문이 나왔다. 나와같이 듀오링고같은 시스템으로 코딩을 배우고 싶은 사람은 존재했다!!

그러다가 알게 된게 SoloLearn이라는 앱을 추천하는 답변을 바로 찾게 되었다. 역시!

https://apps.apple.com/kr/app/sololearn-learn-to-code/id1210079064

‎SoloLearn: Learn to Code

‎SoloLearn has the world's largest collection of FREE programming courses to learn how to code. Learn Python, C++, JavaScript, Java, jQuery, machine learning, data science, and more. You receive a certificate for each course that you complete. Choose fro

apps.apple.com


내가 제일 싫어하는 게 정보를 오래 찾았는데 쓰레기 정보들 사이에서 허우적댈때다. 구글에 검색하고 쿼라 질문의 답을 확인하고 바로 SoloLearn을 깔아봤는데 단번에 마음에 들었다.

‘그래! 이거닷!’

다양한 프로그래밍 언어를 듀오링고에서 여러 언어를 동시에 배우듯 동시에 배울 수 있고 하나하나 진행상황이 보이는 게 너무 마음에 들었다.

그래. 이렇게 효율적으로 해보자. 하나씩 욕심부리지 말고 해보자. 매일하다보면 스페인어에 재미붙듯이, 독일어에 흥미가 생겼듯이, 코딩에 대한 두려움도 사라질거라 확신한다.



중급이상이 되었을 때의 Plan

먼저 말해두지만 듀오링고는 쌩초보의 언어공부 시작에 좋다. 일본어를 아이우에오부터 시작하고 단어를 외우며 일본어 공부를 하는게 아니라 일본어-영어 파트에서 일본어를 게임하듯 하나하나 클리어하며 공부하길 권한다. 하지만 당신의 언어실력이 중급이상이라면 듀오링고로 일단 맨 마지막 스테이지를 깨보길 바란다. 마지막 스테이지가 수월해서 짜증이날 정도가 아니면 아직 듀오링고 졸업하기엔 이르다.

듀오링고는 너무 시시하다는 사람은 바로 원서읽기글쓰기를 해야한다.
쉐도잉이나 영화 한편 다 외우기, 이런 걸 비추하는 이유는 내가 그런걸 하다가 영어 공부를 망해봤기 때문이다. 지금 나는 영어 실력을 올리기 위해 원서를 되도록 많이 읽고 모르는 단어는 밑줄만 치고 넘어간다. 그리고 그 단어들을 정리해주는 앱을 이용한다. 그리고 같은 단어를 두번 이상 밑줄치게 되면 그게 ‘타겟 단어’라는 영역으로 옮겨가는데 그때 그 단어를 문맥에 맞게 기억하려고 노력하면 된다. 단어만 외우는건 바보같은 짓이다. 그렇게 해봤자 단기기억으로만 가서 휘발될 뿐이다. 우리가 해야하는 것은 짧은 시간을 써서 더 높은 효율로 제대로 기억하는 것, 장기기억으로 넘기는것이다. 그게 원서 읽기(정보를 직접 영어로 집어넣기)와 한줄이라도 매일 글쓰기(아웃풋)이다. 글쓰기를 해야하는 이유는 글로도 못쓰는 문장은 말로도 나오지 않기 때문이다.

이것과 같은 맥락으로 코딩 공부가 중급이상이 되었을 때는 실제로 개떡 같아도 앱이나 웹서비스를 만들어봐야 한다. 코딩 수업만 주구장창 듣는다고 최고의 프로그래머가 되지 않는다. 자기 서비스를 만들어봐야 한다. 그러면 자기가 내놓고 싶은 서비스, 해결하고 싶은 문제가 무엇인지 제대로 알아야 한다.

언어도 마찬가지다. 영어 잘하는 영어선생님 유튜브나 강의를 볼게 아니라 내가 영어로 ‘무슨 말을 하고 싶은지’를 제대로 알아야 한다. 그렇지 않으면 평생 영어도 코딩도 제대로 뗄 수 없다.

초급때처럼 매일 찔끔하면 망한다

이렇게 중급 이상이 되었을 때 또 하나 중요한 건 초급일때와는 다른 전략이 필요하다는 것이다. 중요한 건 ‘임계점을 넘기는 것’이다. 내가 일본어나 중국어를 매일 공부하지 않아도 어느 정도 수준에서 더 내려가지 않는 이유는 어느 단계의 임계점을 넘었기 때문이다. 하지만 만약 이 임계점을 넘지 못한 상태면 매일매일 30분씩 10년을 해도 늘지 않는다. 전략은 맥락에 따라 변화해야 한다. 언어에서 이 임계점 넘기기라는 전략을 깨닫게 되니 코딩에 대해서 비슷하게 접근하면 되겠다는 자신감이 생긴다.

이렇게 모든 건 연결이 되어 있다는 걸 깨달았을 때가 정말 짜릿하다.

그럼 나는 이만 글을 마무리하고 코딩 공부를 하러 soloLearn하러 가야겠다. 추가로 진행상황 업데이트도 앞으로의 포스팅에서 해보려고 한다.