주요 내용으로 건너뛰기

프리코드캠프(free code camp) - 시작하며

+ 웹 프로그래밍을 배우기 위한 추천 루트


freeCodeCamp(프리코드캠프)

2018.10.14 추가

웹 프로그래밍을 배우기 위한 개인적인 추천 루트

  1. 내가 만들고 싶은 서비스 생각해보기

프로그래밍이란 내가 생각하는 서비스를 구현하기 위한 도구의 하나이다. 영어를 배우는 이유가 시험에서 좋은 성적을 받거나 외국인과 대화하기 위해서이듯 프로그래밍을 배우는 이유는 자기만의 서비스를 만들기 위해서여야한다. 초보자의 가장 큰 실수 중 하나는 "내가 만들고자 하는 서비스"에 대한 생각없이 단순히 A언어를 배우면 뭔가 할 수 있을거야. B언어가 요즘 핫하다던데 한 번 배워볼까? 와 같은 방식으로 접근하는 것이다. 안타깝게도 이런 마음가짐은 오래 가지 못한다. 나는 지금까지 c, c++, java, javascript, python, go 등 어림잡아 5 ~ 6가지 언어를 배웠다. 초보자의 입장에서는 놀랄 수 있는 일이지만 새로운 언어를 배우는 일은 그렇게 어려운 일은 아니다. 나보다 숙련된 프로그래머는 하루 안에도 새로운 언어를 배워서 능숙하게 다룰 수 있다. 물론 처음엔 익숙하지 않은 표현 방식, 문법 등으로 인해 프로그래밍이 어렵다고 느낄 수 있지만 간단한 코드를 작성하기 위해서 배워야 하는 문법의 양은 대부분의 언어의 경우 A4 용지로 3장 내외에 불과하다. 그러므로 가장 먼저 생각해보아야할 것은 왜 프로그래밍을 배워야하는가이다.


2. 학습 전략 세우기


아이디어도 있고, 이제 열심히 배우기만 하면 된다. 그런데 대부분의 경우 이 과정에서 굉장한 시간을 낭비하게된다. 구글링하고 유튜브 보면서 배우면 된다고 얘기하지만 초보자가 좋은 사이트, 좋은 학습 자료를 판단하기는 어렵기 때문이다. 또 자신이 만들고자 하는 것인 앱인지 혹은 웹 사이트인지에 따라서도 추천 사이트, 학습 자료 등이 상당히 달라지기 때문에 미리 좋은 사이트를 알고 있다면 방황하는 시간을 줄일 수 있다.


  • 코드카데미

프로그래밍에 대한 사전 지식이 전혀 없는 경우 추천한다. 영어뿐만 아니라 한글도 지원하므로 금상첨화.

  • 생활코딩

코드 카데미가 기본적인 문법에 대한 지식을 제공한다면 생활코딩은 웹 개발에 관한 전반적인 지식을 제공한다. 소위 말하는 "큰그림"을 그릴 수 있게 도와준다고 볼 수 있다. 모든 강의가 흠잡을데 없이 완벽하며, 개인적으로 순서를 정해준다면

  1. Webn 강의: 기초적인 웹 지식과 하나 이상의 서버언어(Node.js / Php / Python 등)를 배울 수 있음.
  2. Databasen 강의: Web과 뗄레야 뗄 수 없는 데이터베이스에 대한 지식을 제공함.
  3. 프로젝트 관리 - Git: 버전 관리 소프트웨어는 기본 소양 중 하나.
  4. 서버 - 인프라 아래의 리눅스 / AWS: 심화과정. 앞서 말한 3개의 강의를 모두 마쳤다면 한 번쯤 도전해볼만한 강좌.
  • 프리코드캠프 

    코드카데미와 같이 매우 기본적인 문법을 배울 수 있는 코스도 있고, 기본적인 알고리즘 연습 등의 코스도 존재한다. 프리코드캠프가 가장 좋은 것은 현업에서 사용되는 여러 기술들을 프로젝트 기반 학습을 통해 배울 수 있도록 돕기 때문이다. 프리코드 캠프에서 3 ~ 4개 정도의 프로젝트들을 진행하다보면 어느 정도 능숙한 경지에까지 오를 수 있다.


3. 배우고 또 배우기


프리코드캠프의 프로젝트를 문제 없이 해결할 정도의 수준이 되었다면 이제 끊임없이 배우는 일만 남았다. 웹 개발은 끊임없이 변화하고 항상 배워야할 새로운 기술이 나오기 때문에 흥미를 가지고 천천히 여러가지 기술을 배우는 것이 좋다. 나 같은 경우 항상 Medium이나 Reddit의 포스트를 읽으면서 새로운 기술을 배우고 이렇게 글을 쓰고 있다. 또 기술을 배웠다면 사이드 프로젝트를 진행해보자. 직접 코드를 쓰고 서비스를 운영하다보면 실력이 급격하게 늘어난다. 

원문

처음 웹 프로그래밍을 해야겠다고 마음먹고, 이것 저것 뒤져보고 몇 시간씩 구글의 늪에서 해매다가 발견한 귀중한 보물 같은 사이트(?)가 프리코드캠프(Free Code Camp) 다. 프리코드캠프는 이름처럼 무료로 코딩과제들을 내주고 또 코딩을 배울 수 있는 사이트다. 아 물론 여기서 말하는 코딩은 웹 프로그래밍 한정이다. C/C++ 이나 JAVA 는 따로 가르치지 않는 것 같다. 대신 정말 기본적인 HTML/CSS 부터 프론트엔드/백엔드까지 가르쳐주니 정말 기특한 사이트가 아닐 수 없다.  기본 구성은 기초적인 Challenge를 풀어나가면서 감을 익히고, Algorithm 과제를 통해 멘붕을 경험한 뒤, Project까지 완성하게끔 되어있다. 나는 현재 약 260개의 도전과제를 풀었지만, Logest Streak이 4일 밖에 안되는 끈기 없는 개발지망생이다...

 프리코드캠프가 국내에도 많이 알려져있는 지는 모르겠다. 하지만 아무래도 생활코딩 같은 한글 + 친절한 사이트보다는 과제 난이도가 좀  있는 편이다.  그래서 진입장벽도 높고, 과제를 해결하기 위해 검색을 해봐도 한글로 된 글은 잘 검색이 되지 않는 것 같다.  내가 올리는 작은 글 하나가 멘붕에 빠진 개발지망생들에게 도움이 되었으면 좋겠다는 마음으로 포스팅을 할 생각이다. 또 무엇보다 내가 배웠던 것들을 잊지 않고 돌아볼 수 있으니 금상첨화다. 물론 다른 매체도 많고 메모장에 적어놓을 수도 있겠지만 이왕이면 좀 예쁘고 깔끔한 곳에다 정리하는 것이 더 좋지 않은가. 시작하는 김에 열정적으로 도전과제들에 대한 스포일러와 팁 몇 가지 그리고 대망의 프로젝트 해결 경험 등을 적어볼까 한다.


프리코드캠프 : https://www.freecodecamp.com

 

이준형 님의 창작활동을 응원하고 싶으세요?

댓글

SNS 계정으로 간편하게 로그인하고 댓글을 남겨주세요.