트렌드

생활코딩 자바 입문 강의, 직접 들어봤어요

2014.07.13

“외울 필요 없습니다. 필기하려고 애쓰지 않아도 돼요. 그냥 제 얘기 듣고 ‘그렇구나’ 이해하시면 됩니다.”

이고잉(@egoing) 개발자는 욕심 부리지 않았습니다. 여느 학원 강의처럼 6시간 안에 진도를 모두 뽑아내야 한다는 강박관념도 없었죠. 그저 “최대한 많은 분이 수업 내용을 이해하는 게 목표”라는 소박한 바람만 전했습니다.

이고잉 개발자는 ‘생활코딩’이라는 무료 온라인 프로그래밍 강의로 유명합니다. 이고잉 개발자는 국문학을 전공했지만, 웹개발에 푹 빠져 개발자로서 사회에 뛰어들었습니다. 개발자 사이에 널리 퍼진 오픈소스 정신에 매료돼 프로그래밍 교육 웹사이트인 생활코딩을 꾸렸습니다. 틈틈이 직접 오프라인 강의에도 나섭니다.

이고잉 개발자는 7월9일과 10일 이틀 저녁 토즈 건대점에서 자바 입문 강의를 열었습니다. 저는 타는 목마름으로 수강을 신청했습니다. 조금이라도 IT 세계에서 쓰는 언어를 이해하고 싶었기 때문이죠. ‘객체(object)’가 뭔지도 모르고 프로그래밍 언어 기사를 쓰다보면 ‘기레기’ 댓글을 대차게 날려주시는 독자분들께 조금이라도 책임감을 담아 기사를 전하고 싶었습니다.

강의실 정원이 30명인데, 40명이 넘는 사람이 강의를 듣고 싶다고 신청했습니다. 강의 전날 오후 반나절만 수강 신청을 받았는데도 관심이 뜨거웠습니다.

egoing_Java_Offline_Orientation_Lecture_01

이날 저녁부터 이틀 동안 “장장 6시간에 걸친 자바 오리엔테이션 강의”를 들었습니다. 이 표현은 이고잉 개발자가 직접 한 말입니다. 3시간짜리 강의 두 번으로 자바라는 거대한 언어를 모두 이해하는 건 불가능하다는 뜻일 겁니다. 이고잉 개발자는 프로그래밍이란 말의 뜻부터 차근차근 설명했습니다.

“프로그래밍이란 프로그램을 만드는 행위를 말합니다. 프로그램은 뭘까요. 앱, 프로그램, 응용프로그램 모두 같은 말입니다. 이걸 만드는 행위를 프로그래밍이라고 하죠. 그동안 프로그램을 쓰기만 하는 사용자 입장이었겠지만, 우리는 일방적인 사용자가 아니라 프로그램을 만드는 생산자가 되려고 이 자리에 모인 겁니다.”

국문학과 출신답게 절묘한 비유를 빌려 ‘코드’나 ‘소스’ 같은 어려운 개념도 쉽게 설명했습니다.

“건물을 짓는다고 쳐요. 그럼 뭘 하나요? 설계도를 그리죠. 뭘 만들까. 또 건물이 어떤 모양이고 어떤 동선을 가지고 있고 어떤 기능을 하는지 설계도에 상세하게 적습니다. 이 설계도를 기준으로 삼아 건물을 짓죠. 건축에서 설계도에 해당하는 것이 (프로그래밍에서) 글씨로 돼 있는 ‘코드’ 다른 말로는 ‘소스’라고도 합니다. 같은 말입니다. 우리는 설계도를 작성하는 법을 배울 겁니다.”

이고잉 개발자는 프로그래밍이 건축과 다른 점은 물리적인 재료가 필요 없다는 것이라고 설명했습니다. 건축은 설계도를 그리고 나서도 많은 재료와 인력을 투입해야 비로소 건물이 만들어지지만, 소프트웨어를 만들 때는 코드만 짜면 된다는 겁니다. 이고잉 개발자는 “소프트웨어라는 분야가 짧은 시간에 거대한 산업으로 성장한 이유는 코드가 갖고 있는 이런 특성 때문”이라는 해석도 덧붙였습니다.

“우리가 만든 설계도는 컴퓨터 위에서 소프트웨어가 됩니다. 소프트웨어를 만든다는 건 설계도를 그린다는 뜻이에요. 설계도를 보고 실제로 건물을 만들 엔지니어와 소통하죠. 건축 설계도도 일종의 언어 역할을 하는 겁니다. 프로그래밍이라는 행위는 컴퓨터와 소통하는 수단입니다. 코드를 매개로 여러분이 어떤 프로그램을 만들고 싶다는 생각이 컴퓨터에게 전달되는 겁니다. 세상에는 많은 언어가 있죠. 1000가지 정도가 있는 걸로 아는데, 그 중 하나가 자바입니다.”

이고잉 개발자는 자바를 프로그래밍 분야의 중국어라고 빗대어 말했습니다. 그만큼 애용된다는 말이겠죠. 한국 기업 90%가 자바를 쓴다는 말도 나올 정도니까요. 소프트웨어 품질 관리 업체 ‘티오베(TIOBE)’가 집계한 세계 프로그래밍 언어 순위에서 자바는 1위인 C와 아주 작은 차이로 2위를 차지했습니다. 이고잉 개발자는 자바로 프로그래밍 공부를 시작했어도, 너무 어렵다면 파이선·PHP·자바스크립트 같이 좀더 접근하기 쉬운 언어를 먼저 익히는 것도 좋은 방법이라고 조언했습니다.

티오베 프로그래밍 언어 인덱스 ▲소프트웨어 품질 관리 업체 ‘티오베(TIOBE)’가 조사한 2014년 6월 프로그래밍 언어 순위

수업은 이고잉 개발자의 소개대로 ‘오리엔테이션’이었습니다. 이고잉 개발자는 프로그래밍 언어와 자바라는 큰 그림을 먼저 그렸습니다. 그리고 개발자가 문제를 해결하는 상황을 가정하고 그 안에서 수강생이 개발자의 입장에서 자바를 활용하도록 이끌었습니다. 변수, 조건문, 반복문, 메소드, 클래스, 인스턴스 등 자바를 이해하는 데 필요한 기본적인 개념을 모두 훑되, 주입식으로 암기시키지 않았습니다. 이고잉 개발자는 계속 “외우지 말고 이해하라”라고 주문했습니다. 한 수강생이 “외우지 않으면 나중에 코딩은 어떻게 하냐”라고 묻자 이고잉 개발자는 “자주 쓰다보면 자연스레 외워질 테니 걱정 말라”라고 했습니다.

암기에 공들이지 않아도 되는 실용적인 이유도 있습니다. 이고잉 개발자가 모든 강의 내용을 생활코딩 웹사이트에 올려두기 때문입니다. 수업시간에 미처 이해하지 못한 부분이 있어도 걱정할 필요가 없습니다. 언제든지 생활코딩 웹사이트에서 복습할 수 있으니까요. 저도 여기서 강의 내용을 일일이 요약·정리하지 않겠습니다. 궁금하신 분은 생활코딩 웹사이트를 훑어보세요. 금방 ‘아, 이런 강의구나’라고 감이 올 겁니다.

생활코딩 자바 오리엔테이션 페이지 이날 자바 입문 수업 내용을 정리해 둔 생활코딩 웹사이트다. 이렇게 오프라인 수업 내용을 온라인으로 공유하니 수업시간에 100% 이해 못 했다고 전전긍긍하지 않아도 된다

제가 프로그래밍 언어를 공부한 건 초등학생 때 GW베이직을 배운 뒤로 처음입니다. 계속 인문계로 공부하고 직업도 글밥을 먹는 일을 하기 때문에 프로그래밍 언어는 제 머리 속에서 잊혀졌다고 봐도 무방할 겁니다. 거의 20년 만에 프로그래밍을 공부하는데도 수업 내용이 머리에 쏙쏙 들어왔습니다. 변수와 상수는 반갑기까지 했지요. 논리적인 흐름을 따라가도록 유도하는 이고잉 개발자의 교수법 덕분에 외계어로 가득한 수업을 따라가면서도 지루하거나 벅차지 않았습니다.

수업을 듣고 나니 혼자서 생활코딩 웹사이트를 보고 더 공부해도 되겠다는 자신감도 생겼습니다. 저만 그런 건 아니었습니다. 프랑스어를 전공한 안문현씨는 “자바는 처음 배웠지만 흥미가 생겨 앞으로도 계속 공부해보고 싶다”라고 말했습니다. 백발이 성한 김석무씨는 누구보다 열정적으로 수업에 참여해 질문을 주고받았습니다. 김석무씨는 “모든 정보가 컴퓨터를 통해 돌아가는 시대에 뒤처지지 않기 위해 수업을 들으러 왔다”라며 “어렵지만 배워두면 두고두고 쓸 일이 있을 것이라고 생각해 계속 공부하려 한다”라고 말했습니다.

이고잉 개발자는 여름방학 동안 오프라인 강의를 더 많이 마련할 계획이라고 밝혔습니다. 방학을 맞아 연 첫 강의인 이번 강의가 성황리에 끝났기 때문입니다. 이고잉 개발자는 “오랜만에 강단에 서니 즐겁다”라며 “자바 강의를 비롯해 다양한 강의를 오프라인에서 더 많이 열어야겠다”라고 말했습니다. 생활코딩 오프라인 강의를 듣고 싶은 분은 생활코딩 페이스북 페이지를 확인하시기 바랍니다. 온라인 강의처럼 비영리 무료 수업입니다.

[youtube id=”oLXiRXzhJuI” align=”center”]

생활코딩 자바 입문 강의 동영상 보러 가기

nuribit@bloter.net

기술의 중심에서 사람을 봅니다. 쉽고 친절하게 쓰겠습니다. e메일 nuribit@bloter.net / 트위터 @nuri_bit / 페이스북 facebook.com/nuribit0