지난번 글에 ‘언어가 안 돼서 낯설어서 안 된다.’ 라는 말을 했는데 주변 사람들의 의견과 제 생각을 다시 정리해보니 아니라는 생각이 들었습니다.
그리고 제가 코딩을 어떻게 배웠는지를 생각해보며 그 과정을 써보고자 합니다.

제일 처음 코딩을 시작한 것은 초등학교 6학년 당시 방과 후 수업에서였습니다.
스크래치처럼 아이콘을 끌어다 길게 늘어뜨려서 코딩하는 방식으로 그렇게 긴, 어려운 프로그래밍은 할 수가 없었습니다.
그래도 이와 같은 직관적인 방식의 프로그래밍은 if, else, for 등의 동작 원리를 이해하는 것에 많은 도움을 주었습니다.

그 이후 학원에 다니면서 avr studio를 접하게 되었으나 단순히 책만 보고 함수를 가져다 쓰는 것에 그쳤습니다.
이에 답답했던 저는 c언어라는 것을 알게 되었고 독학을 하기 시작했습니다.
당시 winapi(현재 soen.kr)에서 c 강좌를 보며 하나하나 따라 하기 시작했습니다.
당시에 visual studio 6을 이용하여 하나하나 따라 하다가 라이브러리라는 것을 알게 된 후 직접 만들어 보기 시작했습니다.
math 라이브러리를 이용하여 처음 목적을 가지고 만든 프로그램은 버그투성이였지만 절대 잊을 수 없는 프로그램입니다.

그 후에도 거북이 프로젝트, mirror hand를 하며 큼지막한 프로그램과 소소한 프로그램들을 하며 여러 가지를 배우고, 알게 되었습니다.
물론 처음부터 정규 과정을 밟고 기초가 쌓인 상태에서 진행한 것이 아녔습니다.
아무것도 모르는 상태로 독학으로 달려들었으며 이것으로는 부족한 부분은 커뮤니티와 지인에게 물어봄으로써 알 수 있었습니다.
여기서 제 나름대로 배워가는 순서가 있었습니다.

궁금한 것을 검색하고 튜토리얼이 있으면 처음부터 따라 해 본다.
이해가 되는 간단한 것부터 바꿔가며 하나하나 건드려 본다.
알게 된 것을 응용하여 새로운 것을 만들어 본다.
c, python, 아두이노, 라즈베리파이등 제가 배웠던 것의 대부분 아니 거의 모든 것이 위 순서를 따랐습니다.
저는 배우는 단계이기에 튜토리얼이 대부분 있었고 매뉴얼 또한 존재했습니다.
최소한 제조사 측에서 기본 setup은 다 알려주었습니다. 자료가 없다는 이유로, 모른다는 이유로 시작하지 못할 것은 없었습니다.
단지 제게 필요한 것은 영어 단어를 검색할 사전과 검색에 필요한 키워드 그리고 검색이 힘들었던 |(vertical bar) 기호 등의 이름이었습니다.

위와 같은 것들을 알려줄 선생님, 커뮤니티 혹은 스터디 등이 있다면 아니 없다 하더라도 코딩을 시작하고 배우는 것에는 하고자 하는 의지만 있다면 전혀 문제가 되지 않는다고 생각합니다.