본문 바로가기

내문서

[개발자] 잉여가 개발자의 삶의 질에 미치는 영향

반응형
잉여가 개발자의 삶의 질에 미치는 영향

잉여라는 단어를 듣고 손창섭(1922-2010)의 ‘잉여인간’이 생각난다면 아마 학창 시절 열심히 공부한 소수 엘리트 계층일지도 모른다. 그렇지 않고 디시인사이드와 같은 곳이 떠오른다면 스스로 ‘잉여인간‘일 가능성이 짙다. 내용 없는 백과사전이라는 언사이클로피디어 한국어판(백괴사전)에는 ’잉여인간‘이라는 단어를 ’너‘라고 표기하고 있는데 그런 단어를 찾고 있는 행위 자체를 잉여로 묘사하고 있는 듯하다. 어찌됐든 일반적인 잉여에 대한 인식은 쓸모없는 인간을 떠올리게 된다.

최근 소프트웨어에 대한 관심이 높아지면서 정부와 대기업 주도적인 양성 사업에 대한 뉴스가 흘러나오고 있다. 하지만 이러한 정책은 무언가 틀에 갇혀있고 정해진 선을 넘어서기는 힘들어 보인다. 실리콘밸리의 역사를 바꾼 소프트웨어 기술과 회사들은 잉여의 산물이다라는 말(참고자료 2)이 모든 상황에 맞는 공식은 아니지만 자신의 열정과 에너지를 쏟아낼 수 있는 잉여를 가질 수 있는 환경이 필요한 것은 맞는 말이다. 주변을 돌아보면 개발자가 처한 환경은 기계적인 반복 작업과 다름이 없다. 정해진 명세에 따라 지시된 설계를 구현하고 결과를 테스트하는 작업이 반복된다. 그리고 누군가에 의해 갑작스럽게 바뀐 설계는 야근과 월화수목금금금이라는 이름으로 돌아오게 된다. 그리고 언젠가 이러한 자리는 점점 해외의 저렴한 노동력으로 대체되고 기계에게 밀려날지 모르는 일이다.
 
특히 기업용 애플리케이션 개발은 이런 반복적인 작업을 필요로 할 때가 많다. RIA에서 이야기하는 레고블럭 개념은 상호 호환되고 재사용 가능한 컴포넌트를 이야기하기도 하지만 다양한 조합을 바탕으로 자유로운 창의성을 발휘할 수 있다는 것을 내포하고 있다. 하지만 조직 내에서 이런 창의성이 용납되지 않는 상황이 반복되면서 스스로 지시된 작업의 범위를 벗어나지 않게 만들고 있다. 

(그림 1. 레고 교육 프로그램 - http://www.schooltechnology.org/)

(그림 1. 레고 교육 프로그램 - http://www.schooltechnology.org/)


RIA는 풍부함이라는 의미와는 다르게 비즈니스적인 요구에 의해 제약적으로 활용되고 있다. 물론 다채로운 시도가 전혀 없었던 것은 아니지만 창의적이라는 단어 대신 생산성이라는 단어가 먼저 요구되고 있기 때문에 변화를 두려워하는 존재가 되어버렸다. 그런 상황에서 다양한 디바이스로 인한 환경의 변화는 경쟁상대를 모호하게 만들고 개발자들을 혼란스럽게 만들고 있다.
 
 
하지만 조금 돌려서 생각해보면 개발자들에게는 멋진 아이디어를 구현할 수 있는 새로운 도구가 주어진 것이다. 아무도 하나의 도구만을 강요하지는 않는다. 다양한 도구를 얼마나 우아하게 사용할지는 여전히 개발자의 역할이 될 것이다. 레고 블록만으로도 멋진 아이디어를 표현할 수 있지만 이를 디지털 장비에 연결하고 실제 움직일 수 있는 동력 장치와 연결할 수 있게 도와줄 수 있다면 더 실감나는 표현을 가능하게 할 수 있다.
 
잉여적인 놀이라고만 생각했던 레고 블록은 현실 세계에 영향을 미치기도 한다. LG 전자에서는 해외 시장에 공장 표준화 작업을 설계하는데 있어 레고 블록을 활용한다고 한다(참고자료 5). 예전처럼 모형 제조업체에 의뢰에 오랜 시간을 들여 건축 모형을 만드는 것이 아니라 레고 블록을 활용해 표준적인 자재와 건물을 만들어놓고 다양하게 시뮬레이션 해본다는 것이다. 기사에 따르면 ‘연구원, 의사결정자, 실무자 모두 한방에서 직접 블록을 다루면서 의견을 교환할 수 있게 되어 의사 결정 속도가 전과 비교할 수 없을 정도로 빨라졌다’고 한다.
 
잉여라는 것은 쓸모없는 것이 아니라 아직 그 가치를 발견하지 못한 숨겨진 보화와 같은 존재가 아닐까 싶다. 우리의 삶에 영향을 미치는 잉여에는 어떤 것들이 있는지 알아보자. 

스니크 프리뷰

스니크 프리뷰(sneak preview)는 사전에 계획되지 않은 시사회를 의미하는 단어라고 한다. 최근 방송 프로그램 중에도 파일럿 프로그램으로 만들어서 방영해보고 반응이 좋으면 본격적으로 제작에 들어가는 것과 비슷하다고 보면 될 듯하다. 어도비 MAX 행사는 5일간의 일정이지만 토요일, 일요일 행사는 일부 참가자들이 워크숍 형식으로 진행하는 일정으로 진행되고 본격적인 행사는 3일간 진행이 된다.

최근 몇 년간 진행된 패턴을 보면 첫째 날 저녁에 진행되는 몇 가지 프로그램 중 하나가 스니크 프리뷰 이벤트이다. 플래시에서 iOS로 변환되는 기술이라든지 HTML5 기반의 애니메이션 저작 도구인 EDGE와 같은 기술도 스니크 프리뷰에서 처음 소개된 기술이다. 여기에 소개되는 모든 기술이 찬사를 받는 것은 아니다. 대부분 소수의 개발팀에서 실험적으로 진행되는 프로젝트인 만큼 아이디어는 독창적이지만 실제 제품에 반영하기 어려운 부분도 있고 제품화 과정에서 초기의 컨셉과 달라지는 경우도 있다. 하지만 중요한 것은 개발자의 아이디어가 대중에게 평가받고 이를 기업에서 다시 수용하는 문화를 가지고 있다는 점이다.
 
국내에서도 몇몇 기업에서 이런 시도를 하고 있다. NAVER LAB 아이템 체험이라는 공간은 혁신적인 기술을 실험해보는 공간이라고 설명하고 있다. 일부 서비스는 실제 서비스로 출시되기도 하고 일부 서비스는 종료되기도 하지만 나름대로 다양한 분야에 대한 노력을 엿볼 수 있었다. 게임 개발 서비스 업체인 엔씨소프트의 경우에는 오픈마루라는 조직을 별도로 구성하고 2007년부터 다양한 실험적인 서비스를 만들고 다양한 아이디어를 전파해왔다. 아쉽게도 2010년 조직이 해체되면서 일부 서비스를 제외한 서비스를 모두 종료하기도 했지만 짧은 기간 동안 다양한 시도와 문화를 전파했다.
 
구성원의 잉여적인 활동이 실제 서비스로 이어지고 수익으로 만들어지기를 원하는 것은 당연한 일이지만 이러한 것이 지속되지 못한다면 전체 조직이나 주변 생태계의 힘을 빠지게 하는 요인이 되기도 한다.
 

(그림 2. 아이템 체험 – 네이버 LAB)

(그림 2. 아이템 체험 – 네이버 LAB)


예전에는 이런 서비스가 컨셉으로만 공개되어 실제 체험해볼 수 없는 경우가 많았지만 최근에는 developer preview 라는 이름으로 실제 사용해볼 수 있도록 공개가 되고 있다. 베타 버전 이전 단계이기 때문에 실제 업무에 반영할 수는 없지만 의외로 많은 사용자들이 이를 체험해보고자 희망하고 있다. 새로운 제품을 받아서 테스트해보는 활동이 어떻게 보면 잉여적인 활동임에도 불구하고 이를 즐기고 먼저 접한 새로운 지식을 공유하는데 많은 시간을 투자하고 있다. 얼마 전 build 행사에서 공개된 마이크로소프트의 윈도우8 역시 개발자를 위해 사전 공개되었는데 하룻밤 사이에 50만 건이 넘는 다운로드가 일어났다고 한다. 아직 안정화가 되지 않은 상태라 정상적인 설치가 잘 되지 않음에도 불구하고 하루사이에 다양한 정보를 서로 공유하며 새로운 경험을 시도했다는 것이다. 예전처럼 언론에 발표되는 내용을 가만히 기다리기보다는 직접 경험하고 체험해보고자 하는 욕구가 늘어났다고 볼 수 있으며 기업에서도 이러한 트렌드를 적절하게 활용하고 있다. 

커뮤니티의 쇠퇴

전통적인 개발자 커뮤니티의 쇠퇴는 여러 가지 영향이 있을 것이다. 그 중 몇 가지를 생각해보면 앞에서 언급했던 것처럼 기술을 공유하고 자신의 생각을 토론할 수 있을 만큼의 여유가 사라졌다는 점에서 그 원인을 찾을 수 있다. 그렇다고 절대적인 시간이 부족한 것은 아니다. 퇴근길에 스마트폰을 가지고 커뮤니티에 접속해서 글을 읽거나 올릴 수도 있지만 그럴 만큼의 여유가 없다는 것이다. 그 외에도 좀 더 똑똑해진 검색엔진 덕분에 더 이상 커뮤니티에 의존하지 않아도 정보를 찾을 수 있게 됐다는 점을 찾아볼 수 있다.
 
하지만 그렇다면 다른 커뮤니티도 마찬가지로 쇠퇴해야 하지 않을까? 예를 들어 자전거로 출퇴근하는 사람들(자출사라고 줄여서 부른다)이라는 커뮤니티를 살펴보면 주제 자체는 이미 너무나 고전적인 자전거에 대한 이야기이다. 더 이상 새로울 것이 없으며 별 다른 내용이 없을 것 같은 이 커뮤니티는 매주 5000명 이상의 회원이 가입하고 있으며 하루에 수백 건 이상의 새로운 게시물이 올라오고 있다. 개발자 커뮤니티와 비교해보았을 때 가장 큰 차이는 입문자나 자신과 같은 상황에 빠질 수 있는 이들에 대한 배려이다. 물론 다 그런 것은 아니지만 개발자 커뮤니티에서 검색도 해보지 않고 질문하는 것은 마치 대역죄를 저지른 것 같은 비난을 받는다. 경험이 많은 경우에는 상황에 맞는 키워드를 쉽게 떠올리고 찾아볼 수 있지만 그렇지 않은 경우에는 아무리 시간을 들여도 적절한 키워드를 찾지 못하고 결국 답을 구하지 못하게 된다. 그렇기 때문에 질문을 올리는 것인데 이에 대한 비난을 받게 되면 더 이상 커뮤니티에 참여하기가 힘들어진다. 그리고 기술적인 경험은 일상의 경험에 비해 상대적으로 공개하기를 꺼리는 경향이 있다고 한다. 자신의 대답으로 인해 비난받을 수 있는 가능성 때문이다. 반면에 자출사 커뮤니티의 경우에는 자신의 경험을 즐겁게 공유한다. 매번 같은 질문이라도 새로 참여한 회원들이 다른 시각에서 답변을 달아주고 기존 회원들은 새로운 경험을 얻어간다. 이 커뮤니티에 참여하는 사람들이 아주 잉여로운 상황이라 참여하는 것이 아니라 참여 자체가 즐겁기 때문에 참여하는 것이다.

(그림 3. Make:Korea)

(그림 3. Make:Korea)

  
개발자에게 있어 커뮤니티가 즐거움이 될 수 없을까? egoing님이 운영하는 ‘생활코딩(참고자료 6)’은 커뮤니티에서 즐거움을 찾을 수 있는 대안을 제시하고 있다. 개발자만이 아니라 다양한 분야의 사람들이 참여하고 부담 없이 자신의 이야기를 나누고 있다. 또한 전통적으로 IT 개발자를 위한 출판사로 알려진 한빛미디어에서 출간하는 Make:Korea 시리즈는 직접 체험해볼 수 있는 기술이라는 컨셉으로 개발자만이 아니라 다양한 분야의 사용자들과 즐거움을 공유하고 있다.
 
자바개발자라면 누구나 알고 있는 okjsp의 경우에는 커뮤니티 자체가 하나의 프로젝트로 제공되는 경우이다. 마소에서도 CUBRID 마이그레이션 프로젝트 등 몇 가지 사례가 소개되었으며 새로운 이슈가 있을 때마다 커뮤니티를 위한 프로젝트에 다양한 개발자들이 참여할 수 있는 기회를 제공한다. 

독립개발

2-3년 전만 하더라도 독립개발팀이라는 개념은 무척이나 낯설었고 만들어진 팀도 오랫동안 지속하기 힘들었다. 그래서 ‘돈 없이 오래가는 독립 개발팀 만들기’라는 칼럼이 나올 정도였다. 하지만 이제는 주변에서도 그룹으로 또는 혼자서 개발을 진행하는 옛 동료들을 찾아볼 수 있다. 모두가 잘 나가는 것은 아니지만 조직의 이해관계와 상관없이 비교적 자유롭게 하고 싶은 일을 할 수 있게 된 것이다. 모바일에서 시작된 앱스토어는 PC 시장까지 확대되고 소프트웨어에 적절한 비용을 부담하는 것을 당연하게 생각하게 되면서 독립개발의 영역은 더욱 커질 수 있을 것이다.
 
이렇게 만들어진 환경은 강제적인 단속과 제재가 아니라 적절한 가격체계와 구매 프로세스가 만들어낸 것이다. 얼마 전까지만 해도 음악을 듣기 위해서는 MP3 파일을 다운로드 받아서 플레이어에서 실행시키는 것이라고 생각했는데 스마트폰으로 원하는 곡을 바로 선택해서 듣는 것이 점점 익숙해지고 납득할만한 가격 수준은 사용자들을 더 이상 불법 다운로드로 내몰지 않게 된다.
 
플래시 기반으로 아이패드 앱스토어에서 앵그리 버드를 제치고 1위를 차지해 화제가 되고 있는 머쉬나리움(Machinarium)을 만든 체코의 아마니타디자인은 독립게임 개발업체로 이미 잘 알려져 있다. 마치 동화책을 보는 것 같은 환상적인 이미지를 하나하나 그려내 완성된 게임을 소수의 인원이 만들어내고 있다. 이전과 달리 독립개발팀이 생존할 수 있는 토양이 마련되고 있기 때문이다.
 
머쉬나리움도 PC 기반의 게임에서 태블릿, 게임콘솔로 콘텐츠를 확대해가고 있으며 독립개발팀이라고 하기에는 규모가 커질 수도 있다. 앵그리버드 제작사인 로비오도 이제는 직원이 160여명 규모로 늘어나 독립개발업체라고 보기에는 어려울 것이다. 하지만 독립개발팀이 오래 지속할 수 있는 가능성이 마련되고 사회적인 인프라도 지원되며 실패를 다시 딛고 일어날 수 있는 토양이 마련되고 있다는 것은 모든 개발자에게 희망적인 메시지를 전해주고 있다. 

새옹지마(塞翁之馬)

윈도우 8 버전과 관련해 전해진 여러 가지 이슈 중에서 플러그인 기술(액티브 X)을 배제한다는 소식은 여러모로 충격적이었다. 국내에서도 금융권을 비롯해 아직 액티브 X 대체 솔루션을 가지지 못한 상태에서 어떻게 대응해야 하는지 벌써부터 이야기가 오가고 있다. 특히 플래시 진영에서는 아이폰, 아이패드에 이어 윈도우 8 버전까지 플래시 지원이 중단된다면 웹에서 설 자리가 없는 것이 아닌가 하는 위기감이 확대되고 있다. 물론 윈도우 8 버전에서도 기존 데스크톱 UI를 사용하게 되면 현재처럼 플러그인 기술을 사용할 수 있다. 마이크로소프트에서 메트로 UI를 강조하면서 태블릿 등의 여러 이슈와 맞물려 플러그인 배제 소식이 확대된 것이며 정식 출시 단계에서 이 정책이 어떻게 바뀔지 모른다.
하지만 RIA 개발자들에게는 이러한 여러 가지 징후들이 더 이상 현재의 상태에 안주해서는 안 된다는 신호라고 생각할 수 있다. RIA 애플리케이션을 경험한 개발자들은 다른 분야의 개발자들보다 먼저 다채로운 UI를 경험해보았기 때문에 인터랙티브한 애플리케이션 구현에 한발 더 앞서 있을 수 있다. 자바 개발자에서 RIA 개발로 넘어왔던 분들은 이전과 다른 개발 환경에 얼마나 어렵게 적응했는지를 생각해보면 모바일 개발이나 새로운 웹 개발 환경에 좀 더 쉽게 적응할 수 있을 것이다.
 
또한 기존 RIA 기술을 그대로 새로운 환경에 적응할 수도 있다. 지난달 출시된 투비소프트의 엑스플랫폼 9.2 버전의 경우에는 여전히 액티브 X를 설치해 브라우저에서 사용할 수 있지만 브라우저의 영향을 받지 않고 별도로 배포하고 윈도우상에서 설치할 수 있는 전용 브라우저를 제공하며 필요에 따라 AJAX 컴파일러를 제공해 동일한 화면과 기능을 동적인 AJAX 코드로 변환할 수 있다. 또한 새롭게 추가된 하이브리드 버전은 디바이스 API와 로컬 스토리지를 활용하는 기능을 추가해 기존의 콘텐츠를 모바일 앱으로 배포할 수 있는 기능이 추가됐다.

(그림 4. 엑스플랫폼 V9.2)

(그림 4. 엑스플랫폼 V9.2)

 
각 환경에 맞는 개발 환경을 적용하는 것이 최적의 결과를 만들 수 있겠지만 다양한 모바일 환경과 디바이스를 이전처럼 대응하는 것이 더 이상 적절하지 않을 수 있다. 하이브리드 앱 개발 방법론이 인기를 끌고 있는 이유는 기존 웹/RIA 개발자들이 다양한 디바이스 애플리케이션 개발 환경을 따로 준비하지 않아도 다양한 서비스 플랫폼을 바탕으로 코드를 몰라도 개발할 수 있는 환경을 만들어준다.
 
동영상 서비스 전문 업체인 브라이트커브는 비디오클라우드라는 서비스를 제공해 다양한 디바이스에 동영상을 추가하는 방법을 간단하게 구현할 수 있게 제공하고 있으며 하이브리드 개발 플랫폼인 폰갭은 ‘PhoneGap:Build’라는 서비스로 HTML 코드만 작성하고 해당 서비스에 업로드만 하면 iOS, 안드로이드, 팜, 블랙베리, 심비안, 윈도우폰, 미고, 바다 플랫폼에 대응하는 애플리케이션을 만들어주는 서비스를 제공하고 있다. 얼마 전만 해도 iOS 애플리케이션 개발을 위해 맥북을 임대해주는 서비스도 있었는데 이제는 그럴 필요가 없어진 것이다(물론 앱스토어 등록의 장벽이 있지만 개발단계까지 벽이 없어진것만해도 대단한 일이다).
 
혹자는 이런 개발환경의 진화는 개발자 시장에 초보자들만 양성하고 고급 개발자로 나아가는 것을 방해한다고 한다. 하지만 이런 진화는 개발자만의 위기는 아니다. 어느 분야에든 마찬가지이며 오히려 이런 상황이 그동안 봉인돼있던 자신의 능력을 한 단계 더 올릴 수 있는 기회일지도 모른다.
 
놀이 만들기

마이크로소프트에서 내놓은 키넥트는 단순하게 게임콘솔의 콘트롤러였지만 공식적인 SDK가 나오기도 전에 다양한 분야에서 이를 활용하기 위한 프로젝트가 진행되고 있다.

as3openni(http://code.google.com/p/as3openni/)와 같은 프로젝트도 어도비 플래시나 에어 애플리케이션에서 키넥트를 컨트롤하기 위한 다양한 시도 중 하나이다. RIA 애플리케이션이 마치 영화 속의 한 장면 같은 화면을 스크린 상에 보여줄 수 있었지만 이를 마우스나 키보드만으로 제어하기에는 제약이 있었다. 멀티스크린 기술이 이러한 제약을 뛰어넘을 수 있을까 했지만 아직은 도입하기 위한 비용적인 부담 때문에 어려움이 있었는데 키넥트라는 획기전인 디바이스가 나오면서 개발자들의 잉여력을 마음껏 펼칠 수 있게 됐다(처음 소개된 기술은 아니지만 디바이스의 가격과 휴대성을 최적화시켰다는데 의미가 있다).
 
구글 코드에 등록된 키넥트 관련 프로젝트만 수백 개에 이르지만 아직까지는 이러한 활동은 주류로서가 아니다. 하지만 비즈니스적인 가치를 높이 평가하고 있고 이전에 없던 다양한 기회를 만들어낼 것으로 예측하고 있다. 레고블럭이 장난감에서 비즈니스를 위한 분석 도구로 사용되는 것 이상으로 키넥트가 일상의 일부가 될 것이라 생각하는 이들도 많다.
 
4년 넘게 블로그를 운영하면서 그 자체가 스스로에게는 잉여스러운 활동이었다. 늦은 밤 퇴근 후 또는 주말에 키보드 앞에 앉아서 글을 쓰는 기쁨을 누릴 수 있다는 것이 행복이었고 힘든 시절을 넘길 수 있는 계기가 됐다. 요즘에 들어서는 조금은 일처럼 되어버려서 새로운 잉여스러운 활동을 찾고 있는 중이다. 추천해주실만한 활동이 있다면 이메일로 연락을 부탁드린다. 

참고자료
1. 백괴사전 (내용 없는 백과사전)
2. 영웅 없는 나라 (Human-Computer Symbiosis)
3. 네이버 LAB
4. 오픈마루 블로그
5. LG전자, '레고'로 공장 표준화 작업한다
6. 생활코딩

728x90