개발자들도 예술적인 균형 감각이 필요하다"
황대산: 계속 강조했지만 루비온레일스는 개발 생산성이 매우 뛰어납니다. 개발 비용을 현저하게 낮출 수가 있다는 얘기입니다. 5명이 할 것을 1명이 하면 자연스럽게 비용이 떨어지는거죠. 생산성 향상이 가져오는 이점은 이뿐만이 아닙니다. 개발자들이 다양한 일을 해볼 수 있게 되는 것도 커다란 장점입니다. 지난해 루비 컨퍼런스에 갔었는데, 예전에는 상상하기 어려웠던 작은 프로젝트가 많은 것을 보고 놀란 경험이 있습니다. 아내가 동네 계모임을 하는데 쓸 금전출납부를 주말에 잠깐 시간을 내서 레일스로 '뚝딱' 만들어준 개발자도 있었어요. 레일스의 등장으로 다양한 애플리케이션을 쉽게 만들어볼 수 있게 된겁니다.

제가 루비온레일스를 좋아하는 이유는 예전에 자바로 개발할때는 머릿속이 자바로 꽉차있었어요. 사용자 편의성, 사용자인터페이스(UI)는 신경쓸 틈이 없었습니다. 여러가지를 동시에 할 여력이 부족했던 겁니다. 그러나 루비온레일스를 쓰면서 달라졌습니다. 사용자 편의성 등도 고민하게 된거에요. 루비온레일스를 쓰게되면 개발자들이 어느정도나 기획적인 부분을 커버할 수 있느냐가 중요해 질거라고 봐요. 개발자들도 예술적인 균형 감각을 갖추는게 필요할 수 밖에 없는거죠.
물론 루비온레일스로 인해 "개발자들의 설자리가 없어지는 것아니냐?"란 시각이 있을 수 있습니다. 100% 틀린말은 아닙니다. 그러나 하나가 아니라 다양한 문제를 고민할수 있게 하고 새로운 프로젝트를 쉽게 실험해볼 수 있다는 점에서 루비온레일스는 개발자들에게 많은 도움이 될 것입니다.
루비란 언어는 역사가 자바보다 짧습니다. 때문에 자바보다 속도는 좀 느립니다. 서버가 더 필요할 수 있어요. 예를 들면 자바로 짜면 5개가 필요한데, 지금의 루비는 10대가 소요될 수 있습니다. 그러나 이게 근본적인 문제는 아닙니다. 10년전에는 자바도 마찬가지였습니다. 7~8년간 꾸준한 개선을 통해 자바는 지금의 속도를 확보하게된 겁니다. 루비 역시 시간이 가면서 속도 문제는 개선될 것입니다. 이에 발맞춰 루비온레일스는 더욱 주목받게 될 것입니다.
블로터: 쉽게 설명해주셨는데도 전문 분야이나보니 궁금증이 많이 생깁니다. 질문으로 해결할 수 밖에 없을 것 같은데요. 우선 간단한 질문 하나 드리겠습니다. 루비 매니아가 되기전에는 주로 어떤 언어를 많이 쓰셨나요? 또 앞으로는 계속 루비만 쓰실 건가요?
황대산: 실무에서 썼던 것만 보면 PHP가 1년반, 자바는 2년정도 이용했습니다. 펄(Pearl)도 3개월 정도 썼던 것 같구요. 앞으로 PHP는 쓰지 않아도 될 것 같습니다. PHP가 루비보다 빠르기는 하지만 장기적으로 보면 루비가 낫다고 봐요.
블로터:루비온레일스가 확산되면 결국 자바와도 경쟁할 수 밖에 없을 것 같은데요, 루비와 자바의 관계를 어떻게 봐야할까요?
황대산: 경쟁하는 것은 사실입니다. 미국의 경우 루비쪽에서 뛰는 사람들이 한때 자바 리더였던 사람들이에요. 그러나 대립은 아직 덜한 편입니다. 루비가 아직 속도가 느리고 라이브러리도 부족하다보니 자바의 도움을 받을 부분이 있거든요. 루비에서 자바 라이브러리를 불러다 쓸 수 있도록 해주는게 한 예가 될 수 있습니다.
블로터: IBM이나 썬도 개발 플랫폼에서 루비를 지원하려는 듯 보입니다. 이런 상황에서 루비온레일스가 독립적인 개발 프레이워크로 성장해 나갈 수 있을까요?
황대산: MS나 썬에서도 루비를 끌어안으려는 움직임이 나타나고 있습니다. 개인적으로 썬은 자바버추얼머신(JVM)에서 루비를 돌릴 수 있게 할 것이라고 봅니다. MS도 루비CLR이란 프로젝트를 통해 루비에서 닷넷 라이브러리를 불러다 쓸 수 있게 하고 있습니다. 루비는 그 특성상, 이클립스나 넷빈즈가 별로 중요하지 않습니다. 이클립스가 루비를 지원하면 자바하던 사람들이 도움을 받는 정도라고 할까요.
블로터: 국내외적으로 루비온레일스로 만들어진 사이트들은 어떤 것들이 있나요?
황대산: 오픈마루, 더블트랙 미투데이 서비스 등이 루비온레일스로 만들어져 있습니다. 이외에도 신생 회사들이 레일스를 많이 도입하고 있는 것 같습니다. 미국의 경우에는 미투데이와 유사한 트위터닷컴이 레일스기반입니다.
블로터: 책을 쓰게된 계기는 무엇인가요?
황대산: 우리나라 개발자들은 영어를 부담스러워하는 것 같습니다. 책이 나와도 영어로 번역돼 나와야만 빨리 퍼집니다. 이런 상황에서 에이콘출판사로부터 책을 써보지 않겠느냐란 권유를 받았습니다. 욕심이 나기도 했지만 내가 하는일이 변화를 가져온다면 그것도 즐거운일이 아닐까 싶어 쓰기로 결정했어요. 내가 책을 쓰면 레일스 도입을 1~2년 빠르게 만들수 있지 않을까 하는 생각을 했던겁니다. 미국에서 나온 책은 고급서적이었기에, 보다 쉽게 쓰자는데 초점을 맞췄습니다.
블로터: 아까 발표에서 레일스는 기존보다 적은 인원으로 개발이 가능하다 했습니다. 그러면서 개발자들의 역할도 바뀔 것이라고 하셨는데요, 미래 개발자상에 대한 입장은 무엇입니까?
황대산: 말씀드렸지만 생산성이 향상될수록 개발자들은 더 많은 것들을 생각하게 될 것 같습니다. 사용자 편의성, UI는 물론 기획까지 커버할 필요가 있을 것입니다. 현재 레일스는 소규모팀에 적합한 프레임워크입니다. 몇명이 뭉쳐 도전적인 프로젝트에 뛰어드는 것을 가능하게 합니다. 예전같으면 꿈도 못꿨을 일이지만 뭔가 새로운 것을 해보고 싶은 개발자들이 레일스를 통해 다양한 실험들을 해볼 수 있게 된거죠. 큰조직을 떠나 자신의 이름을 걸고 서비스를 개발하는 사람들이 늘었으면 하는 바람입니다.
블로터: 루비온레일스를 배우는데 있어 어떤 자세가 필요할까요?
황대산: 레일스로 개발하는게 편리하기는 합니다. 그러나 시작하려면 우선 제대로 배워야 합니다. 어설프게 배운뒤 만들었다가 문제가 생기면 전문가가 투입돼도 대책이 없어지거든요.(웃음) 제가 루비온레일스를 시작한것은 2년정도 됐습니다. 저의 경우 일반적인 학습 패턴을 따라가지는 않았습니다. 레일스를 하기전에도 3년정도 웹개발을 했고, 전공이 수학이다보니 운영체제, 메모리에 대해서도 다 알고 있던 상황이었습니다. 그러나 다른 분들은 저처럼 할 필요는 없다고 봐요. 제가 쓴 책을 작정하고 3일만에 끝냈다는 분도 있더라구요.(웃음). 어째튼 레일스에는 혁신적인 기능들이 많습니다. 2~3주 정도 하다가 간단한 애플리케이션을 한번 만들어 볼 수도 있겠지요.
블로터: 루비온레일스의 속도 문제를 말씀하셨는데요, 속도가 중요한 시대임을 감안하면 큰 문제 아닐까요? 또 보안성은 어떻습니까?
황대산: 미국 트위터닷컴은 레일스로 만든 서비스로는 로드가 제일 큽니다. 그렇지만 별 문제가 없어요. 구글 등 세계 몇위안에 드는 사이트를 운영하다면 어떨지 모르겠지만 그렇지 않으면 속도 문제는 크지 않다고 봅니다. 보안성이 떨어질 이유도 없습니다. 레일스 자동화 모듈안에는 보안기능이 기본으로 들어가 있거든요.
블로터: 프리랜서 개발자로 뛰면서 강연 등에도 활발하게 나가시는데요, 직접 자신의 이름을 건 웹서비스를 만들 계획은 없으신가요?
황대산: 하반기에는 내놓을까 하는 생각을 좀 하고 있습니다.
블로터: 오늘 바쁘신데 참석해 주셔서 감사드립니다. 루비온레일스에 대해 많은 것을 배울 수 있는 의미있는 시간이었던 것 같습니다.
황대산: 이해가 많이 되셨는지 모르겠어요. 오늘 불러주셔서 감사합니다.