개발자, 나도 될 수 있다

썸네일

어릴 때 상상의 나래를 펼치는 공간은 주로 도화지 위였다. 새하얀 도화지 위를 알록달록 크레파스로 칠해나가다 보면 머리 속에 있던 세상이 눈 앞에 펼쳐지게 된다. 하지만 그건 단지 도화지 위의 세상이었을 뿐. 나의 상상이 현실이 되는 캔버스, 어디 없을까?

한 여자가 흰색 상자에 여러 그림을 그리고 이를 쌓고 있다. 상상이 현실이 되는 시대를 살고 있는 우리. 이제 그 상상은 보다 더 구체적이고 손에 잡힐 듯한 현실이 되고 있다. (이미지 출처 : Flickr)

상상을 현실로 만드는 화가, 개발자

여기 상상을 현실로 만드는 화가가 있다. 이들은 전자기기, 스마트폰에 머릿속에 담아 두었던 생각을 그려내 상상을 현실로, 우리 생활의 일부로 만들어 낸다. ‘소프트웨어 개발자’, 혹은 그냥 ‘개발자’라고 불리는 이들. 수 많은 상상이 그저 상상으로 끝내기 아쉬울 때면 이들이 떠오른다. 사실 소프트웨어를 개발하는 일은 그리 간단하지만은 않다. 하지만 특별한 재능을 요구하는 일도, 지정된 누구만이 할 수 있는 일도 아니다. 흔히 말하는 개발은 전자기기, 스마트폰이 어떻게 작동하면 될지 그 과정을 컴퓨터와 소통할 수 있는 언어로 잘 정리한 메뉴얼을 작성하는 것이다.

개발의 시작, 컴퓨터 언어 배우기

개발을 하기 위해서는 우선 컴퓨터 언어를 배워야 한다. 한국어, 영어, 중국어 등 모든 언어가 고유의 표기법이 있고, 언어를 구성하는 법칙인 문법이 있는 것처럼 컴퓨터 언어도 고유의 표기법과 우리가 숙지해야 할 문법이 있다. 그런데 영어야 미드를 보면서, 책을 읽으면서 공부한다고 하지만 컴퓨터 언어는 어디서부터 시작하는 게 좋을까?

코드아카데미의 메인 화면. ‘Learn to code interactively, for free’라는 문구가 적혀있고, 로그인 창이 있다.코드아카데미의 메인 화면. 여기서 컴퓨터 언어를 무료로 배울 수 있다.

컴퓨터 언어를 처음부터 차근차근 배워보고자 하는 이들을 위한 컴퓨터 언어 교육사이트가 있다. 바로 코드아카데미(www.codecademy.com). 코드아카데미는 2011년 개설된 사이트로 사람들이 무료로 코딩을 배워볼 수 있는 플랫폼을 제공한다.

코드아카데미 교육 화면. 왼쪽에는 설명이 있고, 오른쪽에는 직접 코드를 짜 볼 수 있는 창이 있다.코드아카데미 교육 화면. 왼쪽의 안내를 따라 오른쪽 창에 직접 코드를 입력해보는 구조이다. 단계별로 따라가다 보면 자연스럽게 언어를 배울 수 있다.

학습 플랫폼은 컴퓨터 코드를 처음 접하는 사람도 쉽게 따라올 수 있도록 단계별로 진행된다. 자바스크립트(JavaScript), 파이썬(Python) 등의 다양한 프로그래밍 언어뿐만 아니라 웹사이트를 구축하고 관리하는 방법, 소규모 프로젝트 강의를 제공한다.

개발자가 되는 지름길, 개발 도구 활용

혼자서도 언어를 배울 수 있는 플랫폼은 잘 갖추어져 있지만 새로운 언어를 배운다는 것은 분명 시간과 노력이 필요한 일이다. 이런 대중의 컴퓨터 언어 진입 장벽을 낮추기 위해 다양한 개발 도구가 만들어졌다. 이런 개발 도구의 종류를 잘 알아두는 것도 조금 더 쉽게 개발을 할 수 있는 방법 중 하나이다.

MIT App Inventor (앱 인벤터) http://appinventor.mit.edu/explore/

앱 인벤터 로고. 안드로이드 캐릭터와 MIT App invertor라는 문구가 쓰여 있다.

지금은 스마트폰 전성시대! 스마트폰은 현대인의 필수품으로 대두되면서 모든 이들이 스마트폰을 가지고 있다. 우리 손 위에 있는 작은 스마트폰은 다양한 기능을 할 수 있는 하드웨어 기반이 되어 있으며, 이를 위한 다양한 앱이 개발되어 사람들의 생활을 한층 편리하게 해 주고 있다. 덕분에 많은 이들이 꿈꾸게 된 앱 개발! 하지만 아이디어가 있어도 앱 개발은 확실히 만만치 않은 일이다.

앱 인벤터의 기본적인 두 창이다. 디자인 창에는 외부 디자인을 할 수 있게 텍스트, 그림등 다양한 요소가 준비되어 있고, 블록 창에는 내가 원하는 코드를 끌어다 넣어 쓰기 쉽게 되어 있다.MIT App Inventor을 구성하고 있는 Design(디자인) 창(위쪽)과 Blocks(블록) 창(아래쪽). 여기서 제공하는 다양한 툴을 이용해 앱을 쉽게 개발할 수 있다. (이미지 출처 : appinventor.mit.edu/explore/)

App Inventor에서 블록을 이용해 간단한 앱을 구현한 화면. 블록을 이용해서 짧고 간단하게 구성되어 있지만 공 튀기 게임 앱이 완성되었다.앱 인벤터를 이용해 블록을 조립하면 간단하게 핸드폰에서 공 튀기는 게임 앱을 구현해 볼 수 있다.
(이미지 출처 : appinventor.mit.edu/explore/)

앞서 이야기 했듯이 우리가 프로그래밍 언어를 배우는 이유는 컴퓨터가 이해할 수 있는 언어를 배워 컴퓨터에게 나의 아이디어를 설명해 주기 위함이다. 우리가 새로운 언어를 배울 때 단어, 문법 등 공부해야 할 양이 많은 것처럼 컴퓨터 언어도 일상의 언어처럼 공부해야 할 양이 많다. 하지만 앱 인벤터는 이런 언어를 배울 필요 없이 내가 가지고 있는 아이디어와 논리 구조에 맞게 블록을 조립하면 되기 때문에 누구든 쉽게 앱을 개발할 수 있다. 뿐만 아니라 처음 시작하는 사람을 위한 튜토리얼이 준비되어 있다는 사실!

Scratch(스크래치) http://scratch.mit.edu/

 스크래치 로고. 주황색으로 SCRATCH라고 쓰여 있는 글씨다.

스크래치의 작업 화면. 왼쪽에는 분홍색의 이쁜 지구 그림이 그려져 있고, 오른쪽에는 이애니메이션의 기능을 디자인한 브록이 차곡차곡 정리되어 있다.스크래치에 공유되어 있는 애니메이션 중 하나. 스크래치 작업 화면은 애니메이션 외관을 디자인하는 창과 기능을 디자인하는 창으로 구성되어 있다. (이미지 출처 : scratch.mit.edu)

스크래치는 자신의 이야기가 담긴 게임, 애니메이션을 쉽게 제작할 수 있도록 플랫폼을 제공한다. 코딩이 어려워서 자신의 게임을 못 만들고 있었다면 주목하자. 스크래치는 앱 인벤터와 같은 방식으로 간단히 아이콘만 옮기면 자기만의 게임을 만들 수 있도록 구성되어 있다. 그리고 디자인 갤러리도 함께 운영하므로 자신의 게임을 많은 사람과 공유할 수 있다.

스크래치의 디자인 갤러리에 소개되어 있는 다양한 프로젝트와 스크래치 사용자가 운영하는 스튜디오이다. 여기서 사람들의 작품을 감상하고 이들의 구성 방식을 파악해 보면서 또 다른 학습의 기회를 얻을 수 있다. 스크래치에 전시되어 있는 다양한 작품. 결과물뿐만 아니라 내부 구성 방식도 함께 공유되어 있다. (이미지 출처 : scratch.mit.edu)

아두이노 http://www.arduino.cc/

 아두이노 로고. 무한대 마크 안에 플러스 마이너스 코드가 그려져 있다.

아두이노의 다양한 제품들. 주로 파란색 기판에 회로가 그려져 있는 것이 많고, 가운데 하얀색 제품은 TFT 디스플레이, 왼쪽 하단의 보라색 제품은 옷과 같은 섬유에 달 수 있는 회로이다. 다양한 아두이노 제품들. 아두이노를 이용하면 누구나 손쉽게 하드웨어와 소프트웨어를 넘나들 수 있다. (이미지 출처 : arduino.cc)

예술가도 다양한 미디어를 활용할 수 있도록 하자는 취지로 만들어진 아두이노. 아두이노는 앞서 소개한 앱 인벤터, 스크래치와는 다소 다른 모습을 하고 있다. 아두이노의 가장 큰 장점은 전자 회로에 내가 원하는 명령을 쉽게 내릴 수 있다는 것이다. 덕분에 아름다운 LED 불빛을 만들 수 있고, 다양한 기능을 수행하는 전자 제품을 제작할 수 있기 때문에 미디어 아티스트, 제품 개발자 등 다양한 사람이 사용하는 강력한 개발 도구로 자리매김하고 있다.

모래밭 위에 철골 구조물로 된 사람 키의 3배 높이를 한 연꽃이 여러 송이 세워져 있다.이는 사람이 다가가 맥박을 전달하면 오른쪽 그림과 같이 형형색색의 빛을 발하게 된다.연꽃이 사람의 맥박을 인지하면 화려한 색을 뽐내는 인터렉티브 아트 ‘Pulse & Bloom(펄스 앤 브롬)’. 이 작품은 아두이노로 제작되었다. (이미지 출처 : adafruit)

그렇다면 아두이노는 도대체 왜 대중도 사용하기 쉽다는 평을 받고 있는 것일까? 아두이노의 특징은 ‘오픈 소스’가 다양하다는 점이다. ‘오픈 소스’란 이미 개발되어 있는 프로그램 코드를 모든 이들이 사용할 수 있도록 공개해 둔 것을 의미한다. 또한 아두이노에 사용되는 프로그래밍 언어는 영어를 알면 쉽게 파악할 수 있도록 구성되어 있다. 따라서 영어를 할 수 있는 사람이라면 누구나 쉽게 ‘오픈 소스’를 활용해 자신의 아이디어를 쉽게 구현할 수 있다. 그리고 여기에 아두이노만의 다양한 기능을 갖춘 하드웨어, ‘쉴드’를 이용하면 컴퓨터, 스마트폰을 넘어 내 눈 앞에 지금까지 꿈꿔왔던 세상이 비로소 펼쳐지게 된다.

뇌파를 읽는 머리띠 모양의 장비를 한 남성이 촛불을 응시하고 있다. 그의 집중력이 강해지면 이 촛불은 꺼지게 된다.사람의 뇌파를 읽어내어 한 곳에 강하게 집중했을 때 촛불이 꺼지는 ‘Trataka(트라타카)’. 여기에도 역시나 아두이노가 사용되었다. (이미지 출처 : arduino.cc)

Mini Interview
Arduino 개발자, Aditya Bansal(아딧야 반잘)

체크무늬 폴로 셔츠를 입은 인도계 미국인 아딧야 반잘이 의자에 앉아있다. 부드럽지만강한 눈빛을 가진 아딧야 반잘은 친절하게 무언가를 설명 중이다. 그의 표정에서 진지함을 엿볼 수 있다.아두이노를 이용해 다양한 제품을 개발하고, 상품화를 준비 중인 아딧야 반잘. 그는 친절하게 아두이노 이야기를 해주었다.

아딧야 반잘은 작년, 운동을 하면서도 스마트 기기 위의 텍스트를 흔들림 없이 볼 수 있는 ‘Run-n-Read’를 개발하고, 현재는 뉴욕 스타트업 인튜베이터 R/GA Accelerator에서 손목에 착용해 부상을 방지할 수 있는 디바이스를 개발 중이다. 그의 개발에는 두 가지 공통점이 있다. 하나는 사람들의 삶을 개선한다는 점, 그리고 나머지 하나는 모두 아두이노를 이용해 프로토타입을 제작했다는 점이다.

‘Run-n-Read’의 프로토타입과 제품화 된 모습. 아직 시중에 나오지는 않았지만 동전만한 작은 크기에 깔끔한 소문자 ’r’ 모양의 디자인이 눈길을 끈다. 물론, 톡톡 튀는 원색이 이 제품의 산뜻함을 더해주고 있다.아딧야가 개발한 ‘Run-n-Read’는 Feb 2013 사진에서 볼 수 있듯이 아두이노로 프로토타입을 제작했다. (사진 제공 : 아딧야 반잘)

럽젠Q 어떤 계기로 Run-n-Read를 개발하게 되셨나요?

“언젠가 미네소타대학교(University of Mennesota)의 교수로 있는 저의 한국인 친구가 ‘아기가 생기고 나서는 운동할 시간이 없다’고 불만을 토로했어요. 공부도 하고, 아기 돌보다 보면 하루가 금방 가기 때문이죠. 그래서 이 친구의 제안대로 달리면서도 스마트폰, 태블릿 PC 상의 콘텐츠를 볼 수 있는 디바이스, ‘Run-n-Read’를 만들어 보기로 결심했습니다.”

럽젠Q 왜 아두이노를 이용해 프로토타입을 제작하게 되셨나요?

“값싸고 사용하기 쉽다는 장점이 있기 때문에 아두이노를 이용해 프로토타입을 제작하기로 마음 먹었습니다. 우선, 코드 구성이 쉽고, 잘 짜여진 다양한 오픈 소스가 공유되어 있기 때문에 일반인도 쉽게 사용할 수 있습니다.”

럽젠Q 아두이노는 얼마나 많은 사람이 사용하고 있나요?

“말로 표현하기 힘들 정도로 정말 많은 사람들이 아두이노를 사용하고 있습니다. Adafruit에 들어가면 아두이노를 구매할 수 있을 뿐만 아니라 아두이노를 이용한 다양한 프로젝트 만나 볼 수 있습니다. LED등의 전자소품을 일상 생활 속의 패션에 활용하는 프로젝트, 옷에 센서를 달아 움직임을 음악으로 표현하는 프로젝트 등 아두이노를 활용한 프로젝트는 무궁무진합니다.”

흰색에 녹색 직물이 기하학적으로 덧대어 진 옷을 입은 5명의 오케스트라 단원들이 흰색 계단위에 서 있다. 몸으로 음악을 만들 수 있다는 것을 표현하기 위해서 인 듯 다양한 포즈를 취하고 있다. ‘Wearable Fashion Orchestra(웨어러블 패션 오케스트라)’이들의 악기는 바로 옷이다. 옷에 아두이노 센서를 장착했기 때문에 움직임에 따라 다양한 소리를 낼 수 있다. (이미지 출처 : adafruit)

이제 우리는 상상을 현실로 만드는 살아있는 캔버스에 둘러싸여 있다. 한 때 흰 도화지 위에만 그렸던 상상의 세계를 꺼내보자. 여기는 상상이 현실이 되는 곳이니까.

Tip! 혼자 하는 개발이 외롭다면? 이곳에서 함께 개발에 임할 사람을 찾아보자!
서울테크소사이어티 http://seoultechsociety.org/
해커스페이스, 서울 https://www.facebook.com/groups/hsseoul/

4 개의 댓글이 있습니다.

emoticon

스티커 댓글

스티커를 사용해서 댓글을 남겨보세요!

댓글달기
  • 감동
  • 부들부들
  • 눈물
  • 두근두근
  • 좋아요
  • 사랑해요
  • 멋짐
  • 하하
  • 신남
  • 행복
  • 멘붕
  • 헉
  • 시무룩
  • 하이파이브
  • 응원
  • 쓰담쓰담
  • 뽀뽀
  • 박수
  • 선물하기
  • 고마워
  • 귀여워
  • 셀카
  • 저요
  • 열공
  • 쓰러짐
  • 씻기
  • 팩
  • 누구나 개발자가 될 수 있다는 제목인데요. 읽다보니 점점 다른 주제로 연결되는 내용이에요! 코딩 개발자에서 시작하여 아두이노~사물인터넷 loT빅데이터 분석 등까지 이야기가 나올 수 있는데요~ 아두이노 쯤에서 글을 마치네요! 잘 보았어요. 내용에 있는 사진 이미지가 흥미있었습니다.
  • 이지예

    아두이노! 저 프로그램으로 프로그램을 개발하고, 하드웨어로 연결시킬 수 있는건가봐요? 누구나 소스를 공유하고 활용할 수 있다는 점이 좋네요. 저도 좋은 아이디어 생기면 한번 방문해봐야겠어요!
  • 송종혁

    보통 생각하는 개발자가 아니라 미래지향적이면서도 누구나 될 수 있는 독특한 개념의 개발자네요! 좋은 기사 잘 읽었습니다:)
  • 예전에는 불가능하다고 생각했던 일들이 하나둘 이루어지고 있죠.
    ^^

소챌 스토리 더보기

11월 11일에 빼빼로는 그만

잠 못드는 당신을 위해

놀랍게도 이 영상은 LG V40ThinQ로 촬영되었습니다

LG 올레드 TV AI ThinQ 궁궐 문화유산을 담다

돌아왔다, 2018 가을 단풍 뿜뿌

LG V40 ThinQ 원데이 클래스 – 이승아 작가편

LG의 숨겨진 이야기 꺼내기 “칭찬해, LG”

수면을 위한 여정, 슬리포노믹스에 탑승!

2012년, 빙의하고 싶은 영화 속 주인공2