자바의 스무 살 인생에서 중요한 인물을 꼽아보자. 미국엔 자바 창시자인 제임스 고슬링(James Gosling) 씨, 국내엔 유일한 ‘자바챔피언(Java Champion)’ 양수열 씨가 있겠다. 그는 세계에서 80명 뿐인 자바챔피언의 지위 중 한 자리를 차지했다. 글로벌 자바 커뮤니티인 자바닷넷이 그에게 수여했다. 자바 커뮤니티 조직(이하 JCO, Java Community Organization) 회장으로써 한국에서 자바를 알리고 자바 이용을 활성화하는 데에 일조했다는 의미에서다. 양 소장은 “나는 자바의 광팬일 뿐이었다”고 그때를 회상했다. 장혜림 기자 [email protected]

“만들어보고 싶은 프로그램이 있으면 자바로 바로 개발해봤습니다. 지금도 그렇고요. 1990년대부터 자바를 사용했어요. 2000년, 2001년쯤엔 공동 창업했던 회사에서 자바로 프로그래밍을 해야만 했어요. 그쯤 JCO에 들어가서 스터디를 했어요. 그때 자바 개발자를 보면 연예인을 보는 느낌이어서 JCO에 가서 좋은 엔지니어들을 만나는 것이 좋았죠. 순수한 열정이 가득한 그런 사람들이요.”

양 소장은 대중이 조인성, 김수현, 전지현을 보듯 자바 개발자를 보고 동경했다. 그들을 만나기 위해 커뮤니티에 참석했고 창업도 해서 자바를 사용해야 성이 찼다. 자바 20주년을 맞아, 한국인 최초로 자바챔피언이 된 양 소장을 만나 그가 어떻게 자바를 만났고, 자바와 함께 살아왔는지 이야기를 들어봤다.

양 소장은 컴퓨터를 사랑한 수의사였다. 대학에서 수의학을 전공할 때도 컴퓨터 관련 동아리를 직접 만들었다. 그는 여기서 10명의 동아리원을 데리고 MDIR(도스에서 사용하던 PC용 소프트웨어), NDD(노턴 디스크 닥터, 플로피 디스크에 오류가 생겨 프로그램을 읽지 못할 때 이를 고치는 소프트웨어)를 공부했다. 막상 수의사가 되고 나서는 매일 똑같이 돌아가는 삶을 견딜 수 없어 그 자리를 박차고 나왔다. 그리고 컴퓨터를 원래 좋아했기 때문에 관련 사업을 시작하는 데 참여했다.

“축협에서 수의사로 두 세달 있었어요. 우유 검사하는 일을 했어요. 매일 똑같았죠. 그러다 원래 좋아했던 컴퓨터 프로그래밍을 하고싶다는 생각을 했습니다. 오죽하면 ‘기계에서 나오는 유지방, 항생제 비율 등의 데이터로 프로그램을 만들까’도 생각했다니까요. 그러다 나와서 창업에 뛰어들었죠.”

이 회사에서 그는 자바를 실질적으로 처음 사용했다. 리눅스 배포판인 ‘맨드레이크’가 한창 인기를 얻을 때였다. 맨드레이크와 회사에서 쓸 수 있는 솔루션을 묶어팔자(bundling)는 게 회사의 전략이었다. 익스프레스 엔진 같은 게시판, 채팅 소프트웨어를 맨드레이크에 묶어서 판매했다. 이 소프트웨어를 자바로 만들었다. 왜 하필 자바였을까?

“자바가 그때 인기 있는 언어였죠. 따끈따끈한 신기술이었습니다. 윈도우, 유닉스, 리눅스에서 작동하는 언어라는 것도 자바의 장점이었습니다. 물론 PHP, ASP 등 다른 언어도 많았어요. 하지만 ASP는 리눅스에서 돌지 않아 저희 회사가 쓸 수 없었고 PHP는 고객이 별로 좋아하지 않더라고요. 자바가 최고의 선택지였죠.”

양 소장은 창업 때 이야기를 하며 눈을 반짝였다. 분명히 고생한 이야기였는데 즐거워보였다. 창업 초기 대표를 포함해 다섯 명이 스티로폼을 깔고 잤다. 자바 스터디도 다녔으니까 거기서 밤새 토론하다가 지하철이 다니면 다시 회사로 출근했다. 월요일에 출근해 금요일 퇴근이 일상이었다.

기술적으로도 어려운 점이 많았다. 자바를 실질적으로 소프트웨어 만드는 데 적용한 것이 그때 처음이었기 때문이다. 예를 들어 채팅 서비스의 클라이언트가 애플릿**으로 돼 있었는데 스윙(Swing)**으로 하면 다운로드해야할 용량이 컸고 추상 윈도우 툴킷(이하 AWT)**을 사용하면 예쁘게 나오지 않았다. 이런 문제때문에 서비스를 만들면서 설계, 리팩토링 공부를 해나갔다. 그런데 양 소장은 그때 즐거이, 기꺼이 에너지를 썼다.

<aside> 🦊 편집자 주

*애플릿(Applet) : Java 언어로 구성된 간단한 기능의 소규모 프로그램을 의미하거나 웹 페이지에 포함되어 작은 기능을 수행하는 프로그램

*스윙, AWT : 자바가 제공하는 GUI(그래픽 유저 인터페이스) 패키지

</aside>