개발자여, 만나고 마시고 토론하라

전문가 칼럼입력 :2014/04/02 08:08    수정: 2014/04/02 11:26

임백준
임백준

수요일(3/26) 저녁 뉴욕 소호 근처에서 열린 밋업(Meetup) 오프라인 모임에 다녀왔다. 강연 주제는 아카 라이브러리를 이용해서 반응형 분산 시스템을 개발하는 방법론이었다. 강사는 유명한 요나스 보네어(Jonas Boner)였다. 오후 5시 30분쯤에 회사 일을 일찍 마치고 나와서 F선 지하철을 타고 소호로 내려갔다. 시속 10마일이 넘는 사나운 바람이 도시 곳곳을 뒤흔드는 을씨년스러운 저녁이었다. 한껏 멋을 부린 뉴욕의 아가씨들은 바람에 날리는 스카프를 손으로 붙잡으며 웃음을 터뜨렸고, 사내들은 털모자를 깊게 눌러썼다. 4월이 코앞이지만 날씨는 한겨울이었다. 약속된 장소에 도착하자 100여명을 수용할 수 있는 강의실이 마련되어 있었다. 조금 이른 시각이라서 자리는 대부분 비어 있었다. 앞쪽 자리 의자에 앉아서 목도리를 풀고, 모자를 벗고, 가방을 내려놓았다. 그러자마자 많은 사람들이 들어와서 자리가 꽉 차기 시작했다. 휴대폰으로 이메일을 확인하다가 가끔 뒤를 돌아보며 혹시 아는 친구가 왔는지 찾아보았다. 도착한 사람들은 삼삼오오 짝을 지어서 대화를 했다. 내 바로 뒤에 앉은 사람은 옆 자리 친구에게 자기 회사에서 아카를 어떻게 활용하고 있는지 설명했다. 짧은 문장 안에 자신이 가진 컴퓨터 과학에 대한 지식을 꾹꾹 눌러 담는 표현이 인상적이었다. 그의 설명을 들은 친구는 자기는 게임 회사에서 근무하는데 아카의 액터를 이용해서 게임 사용자들의 행위를 멋지게 시뮬레이션 하고 있다고 설명했다. 그들의 대화에 끼어들기 위해서 몸을 뒤로 돌리는데 행사를 진행하는 사람이 마이크를 잡고 방금 피자가 도착했다고 발표했다. 사람들은 자리에서 일어나서 강의실 뒤에 준비된 피자로 모여들었다. 구석에 있는 커다란 냉장고 안에 음료수와 맥주가 채워져 있었다. 사람들은 맥주를 마시고 피자를 먹으면서 계속 대화를 나누었다. 같은 회사에서 온 사람들은 자기들끼리 이야기하고, 혼자 온 사람들은 그냥 아무나 붙들고 대화를 나누었다. 기술과 관련된 소식을 전하고, 웃고, 자기가 하는 일을 소개하고, 어떤 맥주가 더 맛있는지에 대해서 상의했다. 예정 시간보다 조금 늦게 보네어가 도착했다. 타입세이프(Typesafe)의 창업자이자 CTO인 그는 헐렁한 청바지에 밤색 스웨터를 입고 있었다. 사진보다 잘생긴 실물이 영민하게 보였고, 커다란 두 눈은 사색적이었다. 따로 운동은 하지 않는 듯 나이에 비해서 배가 좀 나왔지만 몸의 전체적인 균형은 건강하게 보였다. 선천적으로 말을 더듬었지만 목소리가 뚜렷하고 발음이 정확해서 그의 말에 집중하는 데는 아무런 문제가 없었다. 보네어의 강연은 팟캐스트와 유투브 등을 통해서 대부분 청취해왔기 때문에 익숙했다. 자바 프로그래머라면 제이로킷(JRockit) JVM이나 AOP 등을 들어본 적이 있을 것이다. 보네어는 10년 전에 스웨덴에 있는 BEA 시스템의 제이로킷 팀에서 근무했고, 이에치캐시(EhCache)로 유명한 태라코타(Terracotta)에서 클러스터와 관련된 개발을 수행했다. 이후 그가 스스로 회사를 설립해서 독자적으로 개발한 아카 라이브러리가 스칼라 언어 진영에서 개발한 액터 라이브러리보다 기능적으로 우수한 것으로 판명되면서 스칼라 언어의 창시자인 마틴 오더스키는 그에게 협업을 요청했다. 두 사람이 각자의 회사를 하나로 합하는 과정에서 현재의 타입세이프가 탄생했고, 그 회사를 통해서 스칼라, 아카, 플레이, 스프레이 등으로 이어지는 멋진 플랫폼들이 등장하고 있다. 보네어의 강연은 반응형(reactive) 시스템이라는 개념을 설명하는 데에서부터 시작되었다. 반응형이란 응답속도(responsiveness), 확장성(scalability), 사건주도(event-driven), 그리고 유연성(resilient)이라는 네 가지 개념을 하나로 아우르는 새로운 패러다임이다. ‘반응형 선언’의 홈페이지인 http://www.reactivemanifesto.org/에 가면 이와 관련된 자세한 내용을 읽을 수 있다. 대단히 중요한 개념이자 사건이기 때문에 이에 대해서는 조만간 별도의 칼럼을 통해서 다룰 예정이다. 보네어는 액터의 기본적인 개념을 설명하고, 간단한 코드 예제를 보여주고, 얼마 전에 새로 발표된 아카 2.3.0 버전에 포함된 기능을 설명하면서 강연을 진행했다. 가끔 손을 들고 질문을 하는 사람도 있었는데, 그런 질문과 답변을 바로 옆에서 지켜보노라면 그들의 머릿속에 장착된 CPU 칩이 풀스피드로 작동하면서 발열을 하는 것이 느껴져서 재밌다. 예컨대 이런 식이다. 보네어가 설명한 아카의 기능 중에 become과 unbecome이라는 기능이 있는데, 어떤 사람은 become과 unbecome 명령어가 스택에 무한히 쌓이다보면 결국 스택오버플로우(stack overflow)가 발생하지 않느냐며 날카로운 질문을 던졌다. 커다란 눈으로 질문자를 응시하던 보네어는 그렇기 때문에 become과 unbecome 명령어를 스택에 저장하지 않고 명령이 일어날 때마다 이전 상태와 맞바꾸는(swap) 옵션을 선택할 수 있다고 설명을 했다. 뭐랄까. 나도 회사에서 아카 라이브러리를 사용하다가 궁금해 했던 적이 있었던 내용인데, 그런 선택이 존재한다는 사실을 창시자의 입을 통해서 들어 알게 되자 후련한 느낌이 들었다. 강연에 참석한 밋업 회원들은 대부분 뉴욕에 있는 회사에서 근무하는 소프트웨어 개발자들이었다. 젊은 청년도 있고, 나이가 60이 넘은 것처럼 보이는 사람도 여럿 있었다. 생물학적인 나이와 상관없이 내면이 청년인 사람들이다. 여성의 수는 적어서 100명 중에서 10명이 채 되지 않았던 것처럼 보였고, 인종은 다양했다. 강연이 끝나고 나서 한동안 질문과 답변 시간이 이어졌고, 행사가 다 끝난 다음에도 몇몇 사람은 보네어에게 다가가서 개인적인 질문을 던지며 대화를 나누었다. 식은 피자 한쪽을 다시 집어 드는 사람도 있었고, 냉장고에서 맥주를 꺼내서 마시는 사람도 있었다. 모임에 참석했던 사람들은 이제 각자의 일터로 돌아가서 자기가 느끼고 배운 점을 동료들과 만나서 커피를 마시며 토론할 것이다. 소프트웨어를 개발하는 업무에 종사하다보면 여러 가지 성취와 희열을 맛보게 된다. 이렇게 좋은 사람들을 만나서 서로의 관심사를 나누는 것은 그 중에서도 으뜸이다. 우리나라의 개발자들도 자유분방한 만남과 비공식적인 교류가 지금보다 더 많이 필요하다. 매일 똑같은 책상에 앉아서 똑같은 생각만 하는 사람은 실력이 늘기 어렵다. 실력도 실력이지만 프로그래밍이 무척 재밌는 일이라는 사실을 느끼지 못하게 된다. 감각이 타성이 젖어 마비되기 때문이다. 그리하여 프로그래밍을 하는 그대, 책상에만 앉아있지 말고 거리로 나가라. 친구들을 만나고, 마시고, 토론하라. 그런 만남과 토론 자체가 프로그래밍이라는 행위의 일부다.

관련기사

*본 칼럼 내용은 본지 편집방향과 다를 수 있습니다.

임백준 IT컬럼니스트

한빛미디어에서 『폴리글랏 프로그래밍』(2014),『누워서 읽는 퍼즐북』(2010), 『프로그래밍은 상상이다』(2008), 『뉴욕의 프로그래머』(2007), 『소프트웨어산책』(2005), 『나는 프로그래머다』(2004), 『누워서 읽는 알고리즘』(2003), 『행복한 프로그래밍』(2003)을 출간했고, 로드북에서 『프로그래머 그 다음 이야기』(2011)를 출간했다. 삼성SDS, 루슨트 테크놀로지스, 도이치은행, 바클리스, 모건스탠리 등에서 근무했고 현재는 맨해튼에 있는 스타트업 회사에서 분산처리, 빅데이터, 머신러닝과 관계된 업무를 수행하고 있다.