프로그래밍은 사실 뜨개질 만큼 쉽다

(치프메이트 이야기 1)

시작은 치앙마이에서였다

하버 자체적으로는 ‘빌드’라는 실력자들의 모임이 꽤 잘 운영이 되고 있었다

하지만 이를 같이 운영하는 문과생 B의 코딩 실력은 형편이 없었다

그래서 치앙마이에서 우리는 ‘문과생 코딩 정복하기’ 코스를 3일짜리로 열게 된다

리드는 내가 하고, 문과생 B / 또 한 명의 문과생 J가 참여하는 아주 소규모의 클래스였다

어떻게 하면 이들이 가장 빠르게 프로그래밍을 배울 수 있을까

goh-rhy-yan-273919-unsplash

우리는 그렇게 긴 시간이 없었고

사실상 B와 J는 거의 코드에 대한 경험이 없었다

하지만 나는 실제 프로덕션 레벨을, 이들이 가장 빠르게 만났으면 했다

그 이유는 다음과 같다.

프로그래밍의 아주 많은 대부분은, 매우 쉬운 것 들의 공들여진 집합이다.

혹시 어릴 때 가정 시간에 배우던 ‘스킬’ 이란 것을 기억하는가?

아니면 뜨개질이나, 십자수 같은 예도 좋다

나는 초등학교 6학년인가의 가정 시간에 이것을 배웠다

이것은 처음에는 정말이지 한코한코 뜨는 것이 어려웠다.

처음 해보는 것이기도 하고, 또한 손이 서툴러서 자꾸 정해진 네트가 아닌 다른 곳을 찔렀다 (손이라던지..)

그리고 전체적인 맵이 있었지만, 내가 꿰고 있는 지점이 맞는 지점인 것이라는 확신이 없었다.

그렇지만 뭔가 하나하나 꿰어가는 재미가 있어서 꾸준히 하다 보니 그때 유행하던 ‘마시마로’의 스킬 하나를 완성할 수 있었다.

(그렇다 정확히 저 엄청나게 많은 이상한 것들을 왼쪽에 꿰어야 하는 것이었다..)

프로그래밍의 매우 많은 부분도 이와 같다. 절대로 엄청나게 어려운 것을 요구하지 않는다. (그런 부분이 있다고 하여도 상당히 적은 부분이고, 그마저도 다른 쉬운 방법으로 풀어낼 수 있다)

하지만 사람들이 많이 힘들어 하는 것은 다음 두 가지다

1. 처음 해보는 것 (개발환경이 익숙지 않은 것)
2. 프로그래밍이 이상하리만치 어려운 ‘문제’들로 구성된 것

그렇다면 내가 스킬을 배웠을 때처럼

그 코 하나를 꿰어가는 재미를 느껴보는 것이 중요했다.

그래서 그것을 적용하기로 했다

아래는 우리 주커버그 형이 페북 제국을 만들기 시작했던 때.

아주 내가 스킬을 배워가던 과정과 비슷하다. 나 역시 처음에는 애완동물 게임을 만들면서 프로그래밍을 배운 게 처음이었다 (출처 code.org)

실제의 것을 만들자

스크린샷 2018-04-23 오후 6.50.31

치앙마이에서 집중한 것은 이것이었다

초보라고 어정쩡한 이상한 것만 만지게 하지 말고

‘실제의 것을 만들게 하자’

그래서 과감하게 그때 유행하던 ‘리액트’라는 것을 기술 스택으로 삼았다

그리고 둘 다 문과생이어서 공통적으로 관심사가 있던 ‘데이터 시각화’ 가 세부 주제였다.

* 리액트 = 현재 가장 인기 있는 프로그래밍 라이브러리 중 하나다. 그 뭐냐.. 메이플 스토리에서 직업 선택하는 것 처럼 프로그래밍 시작에 선택한다

이런 거 하나를 선택하는데 앞길이 많이 달라진다.

페이스북이 만들었다

짧은 기간이었지만, 65% 정도의 완성률을 보였고

참여자들은 프로그래밍에 대해 첫 발을 떼는

 

꽤나 기분 좋은 경험이었다고 하였다

개발환경을 재밌게 하자

스크린샷 2018-04-23 오후 5.37.56

한국에 돌아와서는

위 프로그램을 리뷰하고 조금 더 복잡하고 딱딱한 개발환경을 ‘재밌게’ 느끼게 하는 것이 중요했다

그때 나는 한창 리액트로 클라이언트 일을 하고 있었는데

친구가 이것 써보라고 준 Component(코드들을 한 덩어리로 모아놓은 것)이 너무 잘 적용이 되었다

마치 마인크래프트 플레이 중 좋은 건축 블록을 받은 것 같았다

오 이거 마치 내가 아이템을 만들어가고, 그것을 이용해 집도 짓고 뭣도 할수 있고..

그리고 내가 만든 아이템들을 공유할 수도 있고 말이지..

프로그래밍은 마인크래프트 같은데?

그래서 바로 리액트 컴포넌트들을 이용해 아주 작은 프로그래밍의 개념들을 설명해 나갈 수 있는

‘Item’ 들을 만들어나가기 시작했다

마침 리액트는 ‘스토리북’이라는 아이템들을 잘 열람 해볼수 있게 할만한 인벤토리 라이브러리가 있었다

(리액트를 쓰는 대표적인 기업인 에어비앤비의 ‘스토리북’.  링크 클릭!)

실제 치프 메이트에서 쓰이는 Item 들을 모아 놓은 ‘스토리북’

(간단한 html, css부터 react의 개념과 data를 다루는 것들이 들어가 있다.  역시 링크 클릭해보면 직접 체험 가능!)

많은 사람들이 느끼는 것보다 프로그래밍은 쉽다

(출처 code.org)

정말이지 많은 사람들이 느끼는 프로그래밍은 괴짜만 할 수 있고

어디 처박혀서 컴퓨터만 타이핑하는 따분한 것들이라고 생각하는 사람들이 많다

하지만 이는 아주 옛날의 일들이며, 잘못된 생각이다

 

위 페이스북 엔지니어님 말처럼 프로그래밍은 엄청난 알고리즘을 만드는 거라기보단

‘작은 문제들을 공들여 합쳐나가는 작업’이라고 생각하면 된다.

(스킬을 뜨거나, 뜨개질 혹은 십자수를 하는 것처럼… 말이다. )

 

 

더군다나 많은 사람들이 프로그래밍을 할수록

훨씬 우리의 눈높이에 맞춰지고 있기 때문에

지금 프로그래밍은 충분히 쉽고, 재밌고, 편안하게 배울 수 있다.

 

한발 담가 보려는 작은 용기만 있다면 다음 프로그램을 권한다

Summary
프로그래밍은 사실 뜨개질 만큼 쉽다 (치프메이트 이야기 1)
Article Name
프로그래밍은 사실 뜨개질 만큼 쉽다 (치프메이트 이야기 1)
Description
시작은 치앙마이에서였다 하버 자체적으로는 '빌드'라는 실력자들의 모임이 꽤 잘 운영이 되고 있었다 하지만 이를 같이 운영하는 문과생 B의 코딩 실력은 형편이 없었다 그래서 치앙마이에서 우리는 '문과생 코딩 정복하기' 코스를 3일짜리로 열게 된다
Author