IT 관련 서적 중 간혹 프로그래머나 개발자를 다룬 서적을 읽는 경우가 있습니다. 그 중에서 폴 그레이엄의 '해커와 화가'라는 책은 좀 독특합니다(제목 자체부터 좀 독특하지 않나요?). 일단 이 책의 저자인 폴 그레이엄은 리스프 세계의 매우 뛰어난 프로그래머였고, 야후 스토어의 전신인 '비아웹'이라는 스타트업 회사를 설립해 훗날 야후에 비싼 값(^^;;)에 판 다음 지금은 유유자적 화가의 길을 걷고 있는 독특한 이력을 지닌 인물입니다.
컴퓨터 잡지 기자 생활을 하던 시절 간혹 생각했던 것 중에 하나가 대학 시절 제 전공이었던 인문학과 컴퓨팅 분야를 양립할 수 있는 방법이 없을까 하는 고민이 있었는데... 역자도 서문에서 밝혔듯이 이 책이 그것에 대한 하나의 힌트를 제시해 줄 수 있지 않을까 하는 기대감에 읽기 시작했습니다. 물론 원래 생각한 것보다 다소 기대에 미치지 못하고 '이건 좀 아니다' 싶은 부분도 있었지만 나름대로 재미있고 고개를 끄덕이게 되는 시각도 제법 있습니다. 그 중의 하나를 소개할까 합니다.
저자는 "훌륭한 소프트웨어를 만드는 방법 중 하나는 자기 자신의 스타트업 회사(우리 식으로는 '벤처')를 만드는 것이다"이라고 밝히고 있습니다. 그런데 스타트업과 관련해 중요한 문제가 돈 벌어주는 소프트웨어와 내게 흥미로운 소프트웨어 사이에 별로 겹치는 부분이 없다는 점입니다. 따라서 너무나 짜증이 나는 일이라서 누구도 그것을 공짜로 해결할 엄두를 내지 않는 힘겨운 일을 찾으라고 충고하면서 다음과 같은 재미있는 비유를 합니다.
"오프-브로드웨이 무대에서 공연하는 것은 박람회의 한 전시장에서 고릴라 옷을 입고 있는 것보다도 돈벌이가 적다. 소설을 쓰는 것은 쓰레기 처리와 관련된 광고 문구를 작성하는 것보다도 돈벌이가 적다. 그리고 프로그래밍 언어를 만들어내는 것은 어떤 회사의 낡은(legacy) 데이터베이스를 웹 서버에 연결하는 것보다도 돈벌이가 적다"
저자는 이와 같은 경우를 피해갈 수 있는 방법으로 임시직을 갖고 있는 오픈소스 해커의 예를 들긴 하지만, 그것을 단지 일종의 취미 차원으로 국한시킬 뿐입니다. 돈도 많이 벌면서 멋진 소프트웨어도 만들 수 있는 방법은 없는 것일까요? 오픈소스로도 그것이 충분히 가능성이 있지 않을까요? 그리고 국내에서는 과연 누가 그런(이 책에서 많이 언급된 애플과 스티브 잡스와 같은) 선구자적 역할을 해 나갈 수 있을까요(혹은 가능할까요? 그렇다면 과연 무엇을 어떻게?) 등의 생각을 잠시 해보았습니다.
전 세계 소프트웨어 개발 프로젝트의 80% 이상이 원래 계획했던 목표를 다 이루지 못한다고 합니다. 계획했던 목표를 이루지 못하거나 프로젝트 일정이 늘어지는 것은 비일비재하고, 심지어 프로젝트 전체를 통째로 망치는 경우도 생깁니다. 그 곳에 속한 사람들은 또 어떠할까요? 지금까지 배워오고 당연하게 생각했던 것들이 실제 프로젝트에서는 꼭 그렇게만 되지 않는다는 사실에 수없이 좌절하지 않았을까 싶기도 합니다.
사실 누구나 100% 만족하는 소프트웨어 프로젝트는 없을 것입니다. 애널리스트나 아키텍트 입장에서 성공했다고 판단한 프로젝트라고 해도 개발자나 테스터 입장에서는 실패했다고 생각할 수 있고, 그 반대의 경우도 생길 수 있습니다. 여기에 현업이나 고객 입장에서 본다면 성공의 기준은 더 모호해질 뿐입니다.
확실한 것은 ‘기술’보다 ‘사람’이 문제가 아닌가 싶습니다. 제가 알고 있는 소프트웨어 개발 프로젝트에 종사하는 모든 사람들이 이구동성으로 이야기하고 고민하는 것은 공통적으로 사람에 대한 문제였습니다. 그리고 그런 어려움 때문에 늘어나는 것은 담배와 술 그리고 몸무게뿐이라는 자조 섞인 지인들의 이야기를 종종 듣곤 합니다. 결국 중요한 것은 타인과의 소통(커뮤니케이션)이고, 이러한 커뮤니케이션 관리를 어떻게 하느냐에 따라 프로젝트의 성패가 좌우된다고 할 수 있습니다.
PMBOK Guide에서는 프로젝트 커뮤니케이션 관리를 "프로젝트 정보의 시의적절한 생성, 수집, 보급, 저장, 최종 분배를 위해 필요한 과정"이라고 정의하고 있습니다. 즉, 프로젝트 시작부터 끝나는 그 순간까지 커뮤니케이션 관리가 필요하다는 것입니다.
그리고 좀 오래된 자료이긴 하지만 PM Network 99년 8월호에서는 다음과 같은 프로젝트 커뮤니케이션 관리를 위한 5가지 단계를 소개하고 있습니다. 이 5단계가 시간 소비도 어려운 것이 아니며, 누구나 활용 가능한 훌륭한 툴이라고 하는데 과연 그런지는 알아서 판단하시기 바랍니다.
1. 집중해서 들어라 2. 명확하게 생각하라 3. 자유롭게 토론하라 4. 감수성을 개발하라 5. 요구사항에 신속히 응대하라
소프트웨어 트렌드 및 전망 관련 몇몇 리포트를 보면 빠짐없이 나오는 말이 있습니다. 바로 “SW 스택(Stack) 전략”입니다. 비즈니스 영역에서 IT 컨버전스가 강화되기 시작하면서 SW 분야에서도 점차 시스템의 복잡성을 줄이고, SW의 설치 위험과 비용을 낮추기 위해 SW 스택 전략이 거의 대세로 자리매김하고 있는 분위기입니다.
여기서 말하는 스택 전략이란 운영체제에서부터 데이터베이스, 미들웨어, 비즈니스 애플리케이션에 이르기까지 SW 전 제품을 공급할 수 있는 제품군을 갖추고 이들 제품간 융합을 통해 보다 안정적이고 고도화된 시스템을 구축하는 것을 말합니다.
근래 몇 년 동안 IBM, MS, 오라클 등 대형 글로벌 SW 벤더들이 여러 SW 기업들을 인수 합병하면서 SW 스택 전략을 확대해 나가고 있는 것도 바로 이러한 흐름을 주도하기 위한 것일 겁니다.
일반적으로 언급되는 SW 스택의 장점은 이렇습니다. 고객 비즈니스와 최적으로 결합되는 다양한 기술요소가 화학적으로 융합된 솔루션을 제공할 수 있기에 성능, 관리, 통합을 위한 불필요한 투자와 노력 축소되고, 이로 인해 단기적으로 시스템 통합 비용 절감뿐 아니라 장기적으로 운영관리의 효율성 높여 궁극적으로 TCO 절감 효과를 볼 수 있다는 겁니다. 좀 더 이해를 돕기 위해 아래 표를 만들어 보았습니다. 참고하시기 바랍니다.
Best of Breed 시대
IT Convergence 시대
IT기술 제공 방식
SI기업 주도의 시스템통합 서비스 제공
SW 스택을 통한 토탈 엔터프라이즈 솔루션 제공
기술과 비즈니스의 우선성
선택된 기술요소에 맞춰 시스템 최적성 좌우
비즈니스 목표에 맞춰 최적으로 융합된 기술요소 적용
기술 통합의 성격
기술요소의 물리적 연계통합
기술요소의 화학적 융합
고객의
신기술 적용 시점
해외에서 선적용 후 (외국계) SW벤더 통해 국내로 확산시적용 가능
자사 비즈니스와 최적으로 결합되는 솔루션을 다양한 원천기술 기반으로 먼저구현
글로벌 비즈니스 경쟁력에 미치는 결과
글로벌 비즈니스에서 경쟁업체보다 늦게 신기술을 도입함으로써 시장 후발자 입장에 서게 되어 시장장악 힘듦
최신 표준기술을 채택한 최적의 솔루션을 경쟁업체보다 먼저 적용해 time-to-market 실현 가능
TCO 절감 관련
별도의 높은 통합비용과 위험 감수 불구, 유지비용 지속적으로 증가
단기적으로 SW제품간 통합비용 부담 해소, 장기적으로 운영, 유지보수 비용 절감
아무튼 앞서 언급했듯이 SW 스택이 거역할 수 없는 흐름인 것만은 분명한데, 사실 우리네 입장에서 이런 상황이 즐거운 일이 아니라는 사실입니다. 몇몇 대형 기업들이 막대한 자금력으로 특정 분야에서 잘 나가는 SW 기업들을 싹슬이 하다 보니 SW 기업 경쟁력의 양극화가 더욱 심해지고 있기 때문이지요.
여기서 국내 SW 산업의 현실을 살펴볼까요? 국내 SW 시장 규모는 전 세계 시장 대비 1%에 불구합니다. 이웃 일본과 비교해도 1/10 수준이지요. 그나마 그것도 외국계 기업의 점유율이 80% 이상입니다. 패키지 SW 경우에도 세계 100대 기업 중 국내 기업은 전무한 상황이고 연 매출이 10억 이하인 업체가 국내 SW 기업의 70%가 넘는 등 아직 국내 SW 기업의 글로벌 경쟁력이 취약한 게 사실입니다.
이런 와중에 SW 스택 전략처럼 몇몇 대형 글로벌 기업의 영향력만이 더욱 확대되는 이와 같은 흐름은 국내 SW 산업의 발전이나 국내 SW 기업의 글로벌 경쟁력 확보를 더욱 어렵게 하는 것이 아닌가 싶습니다.
최근 국내 최대 소프트웨어 기업인 티맥스소프트가 운영체제 기술 및 CRM, ERP 등 애플리케이션 제품들을 발표하면서 “개방형 SW 스택” 전략을 펼친다고 했습니다. 개인적으로는 이는 어쩔 수 없는 측면도 있다고 판단됩니다. 글로벌 대형 SW 벤더들과 경쟁하기 위해서는 SW 스택을 갖출 수밖에 없기 때문이지요. 마케팅이나 영업 등 기타 다른 역량들은 차치하더라고 최소한의 SW 스택을 위한 기술력과 제품군을 갖춰야 글로벌 경쟁을 시도해 볼 수 있지 않을까요? 안 그런다면 향후 도태되어 망하거나, 인수합병 당하거나 둘 중의 하나일 수 밖에 없는 것이 아닌가 싶기도 합니다.
SW 시장은 초기 선점이 어렵지만 규모의 경제 및 네트워크 효과가 매우 강해 시장 점유가 확대될 수록이 이익이 급증된다고 합니다. 따라서 국내 SW 산업의 국가 경쟁력과 규모의 경제를 확보하기 위한 생태계 조성이 무엇보다 중요하다고 다들 강조하고 있지요. 정말 SW 산업이 중요하다고 생각한다면 단순히 위기의식만을 느껴서만 될 문제가 아니겠지요.
정말 향후에 IBM, 오라클, MS 3개사가 국내는 물론 전세계 SW 시장 100% 석권하는 것이 아닌가 하는 우려가 정말 단지 우려가 아닐 수도 있습니다. 농담 반 진담 반으로 SAP도 MS나 IBM이 인수하는 게 아닌가 하는 말들이 나오니 말입니다.
몇몇 SW 분야에서 국내 시장점유율 1위하는 국내 SW 기업들이 있습니다. 물론 아쉽게도 규모가 큰 운영체제나 데이터베이스 등의 분야는 여전히 외국 업체이지만 말입니다. 꿈 같은 이야기라고 하실지도 모르겠지만 전세계 시장 점유율 1위를 하는 분야가 국내 SW 기업에서 나오는 날을 기대해 봅니다. 위기감이나 패배주의 같은 절망감보단 어떤 상황에서든 희망을 가지는 것이 더 낫다고 저는 생각합니다. -이글은 블로터닷넷 기사로 채택되었습니다.-
몇 해 전 모 IT 업체의 개발자 컨퍼런스에 참석차 미국 출장을 간 적이 있습니다. 그 때 제가 특히 설렜던 것은 이바 야콥슨, 짐 럼버와 더불어 소프트웨어 공학계의 3대 거목이자 UML 개발을 주도했던 그래디 부치를 만나볼 수 있었다는 것이었죠. 개발자도 아닌 제가 경외의 시선으로 그를 바라봤는데, 실제 개발자라면 어떤 심정이었을까요? 당시 같이 갔던 한 개발자의 굉장히 들떠 있었던 모습이 기억이 납니다.
그레디 부치 외에도 국내 개발자들이 존경하는, 일명 스타 개발자들은 대부분은 외국 사람들입니다. 객체지향의 아버지라 불리는 앨런 케이, 자바라는 프로그래밍 언어를 만든 제임스 고슬링, GNU 프로젝트와 자유 소프트웨어 운동을 이끄는 리차드 스톨만, 리눅스라는 운영체제를 만든 리누스 토발즈 등 열거하기도 힘들 정도이지요.
반면 국내의 경우는 어떨까요? V3라는 백신을 만든 안철수, 국내 최초의 TP-모니터 티맥스를 만든 박대연, 워드프로세스 아래아한글을 만든 이찬진 정도를 꼽을 수 있을 것 같습니다. 그리고 이외에 마땅히 스타 개발자라고 언급할 만한 사람을 찾기가 참 힘듭니다. 국내 SW 산업의 열악한 환경만큼이나 스타 개발자들의 존재 또한 희박하지요. 게다가 근래 10년 동안 새로운 스타 개발자가 나오지도 않는 실정입니다.
스타 개발자가 필요한 이유는 그들이 많은 후배 개발자들에게 개발자로서 살아가는데 있어 중요한 동기 부여가 될 수 있기 때문입니다. 일종의‘롤 모델(Role Model)'인 셈이지요. 그들의 일생을 보면서“나 또한 열정을 갖고 열심히 한다면 그들처럼 될 수 있다”라는 희망을 가질 수 있다는 사실은 다른 어떤 조건보다 매우 중요하다고 생각합니다.
저는 획기적이고 경쟁력 있는 SW 기술과 개념을 창조해 내는 힘은 사람이고, 그 사람이 오랜 세월동안 축척해 온 경험에서 비롯된다고 생각합니다. 그리고 SW 산업에서 이런 사람을 키우기 위해서는 분야별로 많은 스타 개발자가 나오고, 그들의 노하우가 후배 개발자들에게 잘 전달되는 시스템이 갖춰져야 하겠지요.
SW 개발자 양성을 위해 그동안 여러 제도적 장치나 각종 교육 프로그램이 마련되고 있지만 궁극적으로 개발자 개인이 가져야 할 기본적인 자세를 확립하기 위해서는 스타 개발자의 존재감이 필요합니다.
예를 들어 많은 이들이 개발자의 중요한 덕목으로 '끈기’와 ‘창의력’을 말합니다. 끈기란 체력과 집중력을 갖춰야 한다는 것으로 프로그래밍을 하다가 원인을 알 수 없는 문제에 봉착했을 경우 인내심을 갖고 이를 해결할 수 있는 능력을 키워야 한다는 의미이며, 창의력이란 번뜩이는 아이디어라는 것입니다. 그리고 끈기와 창의력은 단순히 학교나 학원의 교육 과정을 통해 얻을 수 있는 것이 아니라는 사실이지요.
제대로 된 개발자 한 명을 양성하는 것이 획기적인 기술 하나를 만드는 것만큼 어렵다고 한다면 지나친 비유일까요? 오히려 전자가 더 어렵고 드물 수 있지 않을까요? 국내에서도 앞서 언급한 앨런 케이, 제임스 고슬링, 리차드 스톨만, 리눅스 토발즈 등과 같은 수십 년의 노하우를 지니고 새로운 것을 창조해 내는 스타 개발자들이 많이 나오길 기대해 봅니다. 그리고 그들이 더 많은 미래의 스타 개발자를 위한 초석이 되길 바라고요. 그리고 이를 뒷받침 하는 개발자 문화와 제도적 장치를 마련하기 위해 무엇을 어떻게 해야 할지 진지한 고민과 실천이 필요하지 않나 싶습니다.
유명한 미드(미국드라마) 중에 ‘X-파일’이란 것이 있습니다(개인적으로 전 시즌을 다 본 유일한 미드이기도 합니다). 이 미드는 FBI 요원인 주인공 멀더가 어린 시절 자신의 여동생이 외계인에 납치된 것이 정부의 음모에서 비롯됐다고 믿고, 동료인 스컬리와 함께 그 음모를 파헤치면서 감추어진 진실을 찾아나가는 것이 주요 내용입니다.
이렇게 X-파일에 나오는 외계인의 존재나 지구 식민화 정책 등과 같은 거대한 음모이론은 영화 '컨스피러시(원제 자체가 '음모이론'이다)'에 와서는 우리 실생활에 더 밀접하게 다가옵니다. 이 영화의 주인공 제리(멜 깁슨)는 우리 삶에서 벌어지는 모든 사건들이 음모에서 비롯됐다고 믿고 있으며, 실제로 자신도 모르는 사이 그런 음모이론에 관여되어 있습니다.
이렇게 음모이론은 단순히 미드나 영화 속에서만 존재한 것이 아니라 현실 사회에서도 상당히 신빙성 있는 것처럼 다가옵니다. 실제로 이전에 한 설문조사를 보니 미국인의 절반 가까이가 (어떤 종류이든) 음모이론을 믿는다고 답변했더군요. 로스웰사건, 케네디 암살 그리고 최근의 9.11 테러까지 그 배후에는 음모가 도사리고 있고 정부는 무언가 밝힐 수 없는 진실을 감추고 있다는 것입니다. 비단 미국뿐만 아니라 국내에서도 각종 정치적인 비리 사건이 터질 때마다 그 실체적인 진실을 찾아야 한다고 하지만 결국엔 각종 음모만 난무한 체 흐지부지 끝나는 경우가 많습니다. 게다가 언론에서는 진실에는 관심 없고 이런 음모론을 확대 재생산에만 여념이 없다는 인상을 주기도 합니다.
아무튼 음모이론이 생기는 이유는 정보의 공유가 자유롭지 못하고 특정인 혹은 집단이 그것을 독점하고 있기 때문입니다. 이런 정보소통의 불균형, 다시 말해 정보를 가진 쪽과 이 정보를 알고 싶어 하는 사람들의 욕망 사이에서 음모이론이 생기는 것입니다.
그렇다면 음모이론의 문제는 무엇일까요? 음모론이 음모론을 낳고, 이렇게 음모론만 판치게 되면 정작 알고 싶고, 알아야 하는 진실은 사라진다는 것입니다. 그리고 사실 여부와 관계없이 마치 음모이론이 진실인 것처럼 믿게 된다는 데 있습니다(음모이론은 대부분 그 내용이 흥미진진해서 사실이 아니더라도 그렇게 믿고 싶게 만듭니다). 또한 음모이론은 그것이 거짓이라는 사실을 증명한다는 것이 상당히 모호할 뿐만 아니라 설사 그렇다 해도 '아님 말고' 식으로 얼렁뚱땅 넘어가면 그만입니다.
뜬금없이 음모이론을 언급한 이유는 (몇몇 예외적인 경우는 있을 수 있겠지만) 기본적으로 정보의 공유는 자유로워야 한다는 것을 말하고 싶어서였습니다. 그리고 그것이 특정 집단이 아닌 공공의 이익과 발전을 위해 쓰여야 된다는 점이죠.
웹2.0에 대해 말하면서 항상 뒤 따라오는 키워드가 ‘참여, 공유, 개방’입니다. 오픈API, 매쉬업, 블로그, 소셜네트워크 등 웹2.0을 위한 다양한 기술이나 서비스들도 결국 정보의 자유롭고 발전적 유통을 보장하기 위한 수단일 것입니다. 거창하고 머리 아픈 철학적 담론일지도 모르겠지만 개인적으로 웹2.0 시대란 ‘끊임없는 진실의 추구’라는 인간의 근원적인 욕망과 이를 해결하기 위한 사용자의 권리를 되찾는 과정이라고 말하고 싶습니다. 그리고 여기서 자유란 GNU 프로젝트에서 말하는 것처럼 “구속받지 않는다는 의미에서의 자유'를 말하며, 이러한 '자유의 보장이 결국 인류의 공존과 공영에 보다 근접한 실용적인 이상주의라는 것”이라는 점입니다.
마지막으로 가끔은 웹2.0 혹은 다가 올 또 다른 IT 패러다임이 담고 있는 시대정신에 대해 생각해 볼 필요가 있지 않을까 싶습니다.
오늘 IT 관련 뉴스를 살펴보니 한글유튜브 사이트의 공식적인 오픈 및 서비스를 시작한다는 소식이 눈에 띄었습니다. 기사에 따르면 스트브 첸 유튜브 공동창업자겸 CTO 말을 인용해 한글유투브는 단순한 영문사이트의 한글화가 아닌 진정한 현지화를 하겠다는 의지를 표현하기도 했습니다. 국내 사용자들 입맛에 맞게 하기 위해 국내 9개 업체와 제휴를 맺고 한글유투브를 통해 해당 콘텐츠를 제공한다고도 합니다. 또한 구글코리아 사장은 한글유튜브을 통해 한류가 아시아를 넘어 세계로 나아가는 계기가 되길 바란다는 소감도 밝혔네요.
한글유튜브가 오픈했다는 소식에 과연 국내 UCC 업체들의 반응들은 어떨까 궁금했는데요. 개인적으로 크게 걱정하거나 긴장하지는 않을 것 같습니다. 구글코리아가 생긴 이후 한글유튜브 오픈은 이미 예견됐던 일이었으니 말이죠(사실 예정보다 좀 늦어졌죠). 또한 구글코리아가 아직까지 국내 검색시장 점유율이 1.4% 불과하니 한글유튜브도 시작이야 거창하게 했지만 결과는 크게 다르지 않을까 싶습니다.
구글이든 유튜브든 한국 시장에서 어떻게 비즈니스를 전개해 나갈지는 더 두고 봐야겠지만 한글유튜브를 살펴보면서 한 가지 우려스러운 점이 있어 이야기하고자 합니다.
사이트를 살펴보다 보니 구글코리아에 한글유튜브 사이트를 모니터링하는 사람들이 과연 몇 명이나 될까 의구심이 들었습니다. 아침에 채널 쪽을 살펴보다가 몇몇 댓글을 보고 놀라지 않을 수 없었는데요. 성인사이트에서나 볼 법한 하드코어류의 음란물이 쎔네일 형태로 버젓이 올라오고 있더군요. 그리고 문제는 이것이 상당히 오랜 시간 동안 방치됐다는 것입니다(제가 확인한 게 아침 9시쯤이고 점심 전후에도 계속 있었으니 말이죠). 구글코리아에서 과연 제대로 조치를 하고 있는지 궁금하지 않을 수 없더군요. 기술적으로 제가 잘 모르겠지만 썸네일 자체를 자동적으로 필터링할 수는 없나 하는 생각도 들었습니다(참고로 화면 캡처한 것을 증거 자료로 올릴까 하는 생각도 했지만 수위가 너무 높아 올리지는 않았습니다. 아래 모자이크 처리된 사진은 조인스닷컴 기사에서 가져온 것입니다).
얼마 전 구글에서 검색된 개인정보유출로 인해 피해를 입은 고객이 구글코리아에 항의를 했더니 본사로 직접 연락하라는 답변을 들어 황당해 했다는 뉴스를 접한 적이 있습니다. 구글이나 유튜브가 한국에서 성공을 하든 안하든 개인적으로 상관은 없지만 이와 같이 음란물이나 개인정보유출 문제에서 만큼은 심각성을 갖고 적극적으로 대처했으면 하는 바람입니다. 비즈니스도 좋지만 사람의 영혼(특히 어린이들의 영혼)을 파괴할 수 있는 이런 음란물 문제를 소홀히 여겨서는 안 되지 않을까요?
UCC 사이트를 자주 이용하는 제 어린 조카가 한글유튜브에 안 들어갔기를 바라면서 보낸 하루였습니다.
오래 전부터 알고 지냈던 한 개발자분은 지난 컴퓨팅 역사에서 마이크로프로세서와 웹의 출현과 같은 사건은 예측할 수 없었다고 하면서 "기존 패러다임의 연장을 기반으로 한 예측은 항상 틀렸다. 상황은 고정적이지 않으며 격렬한 경쟁과 통제할 수 없는 변수들 사이에서 변화가 일어난다"라고 말한 적이 있습니다. 그리고 이와 같이 미래를 예측하기 어렵고 심지어 불가능한 상황에서 개발자들은 어느 정도의 낙관적인 자세가 필요하다고 덧붙였습니다. 그 말을 듣고 저는 객체지향의 아버지이자 그 시작이라 할 수 있는 ‘스몰토크’라는 프로그래밍 언어를 만든 앨런 케이의 다음과 같은 말이 생각났습니다. 말처럼 쉬운 일은 아니지만 정말 멋진 말이지 않나요? 가끔 아는 개발자분들을 만나 개발자의 미래에 대한 이야기를 할 때 저는 꼭 이 말을 언급하곤 합니다.
"미래를 예측하는 가장 좋은 방법은 미래를 직접 만드는 것이다"
이전 글에서 미래가 결정된 것은 아무 것도 없다고 했습니다. 만약 인간의 본질이 결정돼 있다면 개인은 다만 그 결정에 따라 살아가기만 하면 되겠죠. 만일 개발자로 살아가면서 어쩔 수 없이 생계를 위해 개발해야 한다면, 이와 같이 결정에 따라 살아가기만 하면 됩니다. 그리고 어쩌면 그것이 편할 수도 있을 것입니다. 하지만 본질은 결정돼 있지 않기 때문에 인간 한 사람 한 사람의 자각적인 생활방식이 중요합니다. 여기서부터 개발자에겐 “자유”가 주워집니다. 이것은 축복 받은 선물이면서도 반대로 무거운 짐이 될 수 있습니다. 왜냐하면 현실과 개발자의 자유는 늘 상충되기 때문이지요.
'현실을 넘어 미래를 직접 만드는 개발자’란 무엇일까요? (이전 글에서도 강조했지만) 그것은 바로 자유로운 정신을 바탕으로 프로그램을 창조하는 개발자라고 저는 생각합니다. 하지만 이는 극히 소수일 것입니다. 대부분은 현실적인 결정에서 자유로울 수 없기 때문이지요. 오랜 전부터 한국 개발자의 정년이 35세라고 회자화되는 것은 단지 정신적이나 체력적 한계 때문만은 아닐 겁니다. 그것은 왜곡된 국내 개발 현실과 자기 자신에 대한 부조리한 감수성 때문일 것입니다. 그리고 많은 개발자들은 일정 수준의 나이가 되면 더 이상 개발자로 남지 않고, 보다 안정적인 관리자의 길을 택하기도 합니다. 그래서 영원한 개발자로 남는다는 것은 그만큼 고결하면서도 드물기 마련입니다.
만약 생계 때문에 지금의 상황을 바꿀 수 없는 위치에 있다고 한다면 어떻게 해야 될까요? 그 자체에 의미를 부여해야 합니다. 다시 말해 그 내부에서 나름대로의 가치를 찾아야 할 것입니다. 일본의 지하철에 얽힌 이야기를 하나 들어보겠습니다. 평소에 만원인 지하철에 늘 불만이었던 승객들이 어는 날 그 지하철 회사의 주식을 사게 되면서 지하철이 만원일 때마다 그렇게 행복하고 즐거울 수가 없었다고 합니다. 그 전까지 지하철의 승객들은 수동적인 노예에 상태였지만 지금은 주인으로서 능동적인 상태 전환됐기 때문이지요. 이제는 그 지하철에서 벌어지는 모든 일이 나의 일이 되는 것입니다. 주어진 상황에서 최대한 능동적으로 대처하는 것도 개발자로 살아가는데 있어 나름대로 의미가 있을 것입니다.
다시 프로메테우스의 이야기를 하고자 합니다. 불을 도둑맞은 제우스는 복수를 결심하고, 판도라라는 여성을 만들어 프로메테우스에게 보냅니다. 이때 동생인 에피메테우스(‘뒤에 생각하는 사람’이라는 뜻입니다)는 형의 제지에도 불구하고 그녀를 아내로 삼습니다. 이로 인해 판도라의 상자가 열리게 되고, 여기서부터 인류의 불행이 비롯됐다고 합니다. 하지만 판도라 상자에서 나오지 않은 것이 있으니 그것이 바로 ‘희망’입니다. 이는 (물론 어느 누구에게나 마찬가지겠지만) 불행한 현실임에도 불구하고 개발자로서 살아가는 이유와 가능성을 제시해 주는 중요한 신화의 한토막일 것입니다.
지금까지 ‘한국 개발자를 위한 단상’이라는 주제로 4회에 걸쳐 여러 이야기를 해 보았습니다. ‘단상’의 사전적 의미처럼 정말 ‘생각나는 대로의 단편적인 생각’을 풀어냈던 것 같습니다. 하지만 나름대로 ‘개발자로서 삶을 살아야할 가치가 있느냐 없느냐’하는 물음에 대한 어느 정도의 답은 한 것 같습니다. 정말 중요한 것은 백 마디 말이나 주장보다 개발자 각자가 찾은 답을 갖고 실천을 하는 것이 아닐까 싶습니다. 한 개발자 커뮤니티 게시판에서 봤던 짧은 경구를 마지막으로 글을 마치고자 합니다.
이번 글을 쓰면서 어쩌면 한국 개발자들은 자기 자신도 모르게 노예로 살아가고 있는지도 모른다는 생각을 했습니다. 국내 IT 환경에서, 특히 SI 중심의 SW 환경에서 개발자들이 처한 현실을 본다면 ‘노예’라고 표현한 것이 결코 틀린 이야기만은 아닐 겁니다. 그들은 항상 주요 의사결정에 배제되어 왔고, 처우나 대우는 여전히 제자리걸음이며, 새롭게 포장된 기술에 허덕이면서 도대체 자기 자신이 무엇을 하고 있는지 조차 모르는 경우가 허다하기 때문입니다.
그리고 이러한 현실을 목격하고 겪으면서도 그것을 해결하기 위해 적극적으로 나서는 경우도 드뭅니다. 예를 들어 한때 IT 개발자들이 연합하여 노동조합을 결성하고자 하는 시도도 있었으나 뚜렷한 성과를 보지는 못한 듯 했고, 개발자 커뮤니티나 오픈소스 프로젝트도 소수의 몇몇이 애를 쓰고 있지만 발전적인 형태로 나아가지 못하고 있으며, 개발자나 IT 업계의 약자를 위한 시민단체와 같은 이익단체가 있는 것도 아닙니다. 결국 이러한 상황에서 개발자들 스스로 프로젝트라는 이름의 공사판에 속한 막노동자로 자신을 비약하는 이야기를 종종 듣곤 합니다.
이전에 어느 개발자 블로그에 올라온 카툰을 본적이 있습니다. 새벽 노동시장에 봉고차 한 대가 서 있고, 고용자로 보이는 한 사람이 드럼통에 불을 째고 있는 사람들에게 “자바 2명!”이라고 외치는 모습입니다. 이 한 컷의 카툰에 많은 이들이 공감했던 기억이 납니다. 부조리한 현실보다 이러한 현실을 자포자기하는 심정으로 내버려는 두는, 혹은 그럴 수밖에 없다고 여기는 상황. 그것이 현실보다 더한 개발자의 슬픔이 아닌가 싶습니다.
반면 한편에서는 실력 없이 대우만 잘 받으려는 개발자와 자기계발에 대한 의지가 없는 개발자도 의외로 많다고 하는 이들도 있습니다. 또한 자기 역량을 키우는 일임에도 힘들고 돈이 안 된다는 이유로 거들떠보지도 않는 개발자가 있다고 합니다. 물론 돈 되는 일을 해야 하는 것은 자본주의 사회에서 당연한 일이겠지만 저는 대부분의 개발자들이 단지 돈 때문에 일하지는 않는다고 생각합니다.
프랑스의 현대 철학자인 질 들뢰즈는 "존재하는 모든 것은 자기 자신의 고유한 역량을 갖고 있고, 그 역량을 키우려고 노력한다. 그것이 바로 삶이다. 삶의 기쁨은 그 역량이 커지는 느낌이고 슬픔은 그 역량이 작아지는 느낌이다"라며, "창조란 무엇보다도 '기쁜 삶의 창조'이다. 그리고 창조는 스스로만이 할 수 있는 일이다"라고 말했습니다. 이와 같이 저는 개발자로서의 기쁜 삶을 위해 어떤 식이로든 자기의 역량을 키워야 한다고 봅니다.
자기 자신을 속박하는 노예가 아닌 주인으로서, 단순하게 코딩만을 하는 테크니컬 노동자가 아닌 자유롭고 모든 사람을 이롭게 하는 프로그램을 만드는 창조자로서 개발자가 많아져야 합니다. 들뢰즈가 말한 기쁨은 결코 물질적인 것에만 있는 것은 아닐 것입니다. 자기가 만든 프로그램으로 사람들이 '기쁜 삶'을 영위해 나가고, 또한 그것을 공유하고 나누면서 또 다른 기쁜 삶을 창조할 때가 바로 진정한 기쁨을 누릴 수 있을 겁니다. 오래 전에 만났던 한 유명한 개발자 한 분은 몇 날 며칠 해결하지 못하고 전전긍긍하던 문제를 어느 순간 해결했을 때 가슴 속 밑바닥에서부터 올라오는 주체할 수 희열 때문에 동네를 뛰어다녔다고 합니다. '유레카'를 외치면서 로마 시내를 벌거벗고 뛰었던 아르키메데스처럼 말이지요.
물론 새로운 기술을 받아들이고 무언가를 창조한다는 것은 매우 어려운 일이라고 말할 수도 있을 것입니다. 하지만 Java를 만든 제임스 고슬링은 어느 강연에서 한 참석자가 "Java를 배우는 것이 어렵습니다. 어떻게 빠르고 쉽게 배울 수 있을까요?"라는 질문에 "저는 당신이 그렇게 어렵다고 느끼는 Java를 개발한 사람입니다"라고 대답했다고 하더군요.
우리가 매일 같이 느끼는 새롭고 놀랄만한 기술들은 사실 기존에 정립한 개념과 기술에 많은 신세를 지고 있습니다. 즉, 우리는 앞선 사람들의 수많은 노력으로 인해 이전보다 더 편리한 환경에서 개발하고 있다는 것입니다. 그런 면에서 어쩌면 우리는 행운아일 수도 있습니다.
“내가 세상을 좀 더 멀리 볼 수 있다면 이는 단지 내가 거인들의 어깨 위에 서있었기 때문이다” - 아이작 뉴튼
우리는 거인의 어깨 위에 서 있는 혜택 받은 자임을 생각해야 하고, 그 어깨가 생기기까지의 과정을 주의 깊게 바라본다면 새로운 무언가를 받아들이고 창조하는 것이 그렇게 어려운 일만은 아닐 것입니다(그렇다고 쉽다거나 만만하다는 것은 아닙니다). 이제 우리의 역할은 미래의 누군가를 위한 거인의 어깨가 되는 것이 아닐까요? 미래가 결정된 것은 아무 것도 없습니다. 그러니 개발자로서 자신감과 자존심을 가질 필요가 있습니다. 미래를 여는 열쇠는 찾는 자의 몫입니다. 미래의 키 메이커는 바로 나이자 동시에 우리입니다.
* 글을 다 쓴 후 포스팅하기 직전 서두에 언급한 ‘노예’라는 표현이 오해의 소지가 있을 수 있겠다는 생각이 문득 들었습니다. 전체적인 글을 읽어보시면 아시겠지만 결코 현재의 개발자들을 비하하기 위해 사용한 표현이 아닙니다. 단지 이번 글을 쓰면서 헤겔의 “정신현상학”에서 나오는 ‘주인과 노예의 변증법’이 떠올라 그 개념을 좀 차용해 보았던 것입니다.
지난 글에서는 개발자가 느끼는 부조리한 감수성에 대해 언급했습니다. 지금부터는 이러한 상황을 극복할 수 있는 방법에 대해 3회에 걸처 말하고자 합니다. 미리 말씀드리자면 이는 어디까지나 개인적인 생각입니다. 그리고 앞서 이미 언급했듯이 여기서는 현실적인 해결 방안보다 개발자가 갖춰야할 태도에 더 집중했기에 다소 추상적이고 모호할 수도 있을 것 같습니다.
부조리한 감수성의 심각한 점은 그것이 오래 지속되면 대표적인 실존주의 철학적였던 키에르케고르가 “죽음에 이르는 병”이라 일컬은 ‘절망’을 부르기 때문입니다. 개발자에게 있어 절망이란 단적으로 말하면 ‘개발자로서의 삶을 포기하는 것’을 의미합니다. 저 또한 IT 업계에 종사하면서 뛰어난 재능과 능력이 있음에도 스스로 개발자의 길을 벗어나 다른 길로 떠난 이들을 종종 보곤 했습니다. 그리고 그럴 때마다 어떤 결정적인 이유로 그런 선택을 했는지 모르겠지만 매우 안타까운 심정이 들었습니다.
그리스 신화에 프로메테우스라는 인물이 나옵니다. 그는 주신인 제우스가 감추어 둔 불을 훔쳐 인간에게 내줬고, 이로 인해 코카서스의 바위에 쇠사슬로 묶입니다. 그리고 날마다 낮에는 독수리에게 간을 쪼여 먹히고, 밤이 되면 간은 다시 회복돼 영원한 고통을 겪게 됩니다. 그 또한 부조리한 감수성을 느낀 존재입니다. 그의 간을 쪼여 먹는 독수리는 부조리한 현실이고, 포박 당한 쇠사슬은 존재 이유(개발자에겐 개발자로서 삶의 이유일 것입니다)의 부재입니다.
저는 프로메테우스를 통해 개발자로서 겪는 부조리한 현실과 감수성을 극복하는 방법을 찾을 수 있지 않을까 싶습니다. 프로메테우스가 겪은 반복되는 고통은 그가 신에게 등을 돌리고 인간 편에 서서 인간에게 맨 처음 문명을 가르쳐줬다는데서 비롯됩니다. 그리고 그 바탕에는 프로메테우스의 첫 번째 상징인 ‘휴머니즘’이 있었습니다.
개발자 또한 그래야만 하지 않을까요? 밤샘과 야근이 매일같이 반복되는 현실은 정말 참을 수 없는 고통입니다. 하지만 그럼에도 불구하고 왜 그들은 개발에 대한 열정을 갖고자 하는 것일까요? 그러한 고통에는 프로메테우스와 같이 ‘인간에 대한 순수한 애정’이 마음 깊은 곳에 존재하기 때문입니다. 만약 개발자가 만드는 프로그램이 단순히 회사에서 주어진 일이 아니라면, 다시 말해 개발자가 평소 느끼고 생각하는 것들이 자신이 만든 프로그램을 통해 형상화되고, 그것이 모든 사람들이 이롭게 쓰인다는 것이라면 어떨까요? 그렇다면 프로메테우스가 그랬던 것처럼 개발자가 느끼는 고통조차 행복할 수 있지 않을까요?
개발자들이 만드는 프로그램(Program)의 Pro는 '미리, 먼저(before)"라는 의미이고, gram은 '쓰다(write)‘를 뜻한다고 합니다. 어원적으로 ‘미리 쓰다’라는 의미를 갖고 있는 것이지요. 공교롭게도 프로메테우스는 ‘먼저 생각하는 사람’을 뜻합니다. 저는 개발자로서 ‘살아야할 가치가 있느냐 없느냐’ 하는 물음의 대한 1차적인 해답은 행복한 프로메테우스의 모습에서 찾을 수 있다고 말하고 싶습니다. 즉, 리눅스를 만든 리누스 토발즈의 다음과 같은 말에서 저는 행복한 프로메테우스로서 개발자의 행복한 모습을 봅니다.
국내 개발자들이 처한 ‘부조리한 현실’은 오랫동안 많은 사람들을 통해 공론화 되어 왔습니다. 잦은 야근과 밤샘, 열악한 처우, 영세성에 탈피하지 못하고 있는 SW 업계, 이공계 기피 현상, 잘못된 개발환경과 관행, 개발자들에 대한 사회적 몰이해 등 그동안 여러 문제들이 제기되어 왔고, 나름대로 이를 해결하기 위한 대안도 있어 왔습니다. 하지만 여전히 이러한 문제들은 현재진행형이며, 몇몇 개발자 커뮤니티나 블로그를 살펴보면 앞으로가 마냥 핑크빛만은 아닌 것 같습니다. 개인적으로는 지금까지 문제 해결을 위한 노력이 부족했다기보다 국내 개발자들이 처한 현실 자체가 엉킨 실타래처럼 풀기 어렵고, 오히려 풀려고 할수록 더 엉키는 형국이 아니었나 싶습니다.
한국 개발자가 처한 현실에 대한 문제는 이미 여러 매체를 통해 많이 언급됐기에 새삼스레 다시 반복되는 이야기를 하고 싶지는 않습니다. 여기서는 개발자들이 겪는 현실적인 문제보다 그로 인해 개발자가 느끼게 되는 ‘부조리한 감수성’에 대해 이야기하고자 합니다. 다시 말해 개발자라는 한 개인이 품은 생각에 초점을 맞출 생각입니다.
“내가 생각하고 느끼는 것은 곧 다른 사람들로 정도의 차이가 있지만 동일하게 느낀다. 그것이 바로 보편이라 불리는 것이다”라는 말이 있습니다. 따라서 현실에 대한 문제를 언급하기에 앞서 개인의 문제를 조명해 보는 것도 의미 있는 일이라 생각합니다. 그리고 어쩌면 그 속에서 현실 문제를 해결할 수 있는 좋은 해답을 찾을 수도 있을 것입니다.
본격적인 이야기에 앞서 먼저 여기서 말하는 ‘부조리’란 도대체 무엇일까요? 사전적으로는 ‘이치에 맞지 않다’라는 의미입니다. 많은 이들이 말하는 국내 개발자들이 처한 현실은 이런 사전적 의미에서의 부조리한 현실일 수 있습니다. 하지만 부조리한 감수성은 조금 다릅니다. 그것은 (좀 어려운 표현이지만) 실존철학에서 말하는 ‘세계에 대한 인간의 근원적인 태도’를 말합니다.
아무튼 개발자가 느끼는 부조리한 감수성은 매우 다양합니다. 물론 앞에서 언급한 몇몇 현실적인 문제에서 비롯되는 경우도 있습니다. 하지만 그것이 전부는 아닙니다. 부조리한 감수성은 지극히 개인적입니다. 다른 사람에게는 아무렇지도 않은 문제가 한 개인의 입장에서는 고통스러운 어려움일 수도 있기 때문입니다.
예를 들어 가난이라든가, 이성이나 가족 문제, 자신의 능력에 대한 회의, 정체성의 부재 등 한 개인으로서 겪는 개발자의 고민은 헤아릴 수 없습니다. 오히려 흔히 말하는 사회적인 문제보다 개인적으로 느끼는 사소한 것이 개발자로 살아가는데 더 큰 고통일 수도 있습니다. 왜냐하면 사회적 문제는 공론화되고 누구나 공감하고 이해할 수 있지만, 개인적 차원의 문제는 아무도 알 수도 없으며 이해할 수 없기 때문입니다. 아무에게도 밝힐 수 없는 남모를 고민과 고통은 누구나 있을 테니 말입니다.
참으로 진지한 철학적인 문제는 오직 한가지뿐이다. 그것은 인생이 살만한 가치가 있느냐 없느냐를 판단하는 것이다 -알베르 카뮈, '시지프 신화‘ 중에서
이 말은 개발자에게도 선행돼야 할 참 중요한 문제입니다. 그 외의 것들, 예들 들어 개발자가 되기 위해서 무엇을 어떻게 해야 되는지, Java를 배울지 C를 배울지, 개발자의 존재는 무엇인가 등의 물음은 나중 문제입니다. 왜냐하면 먼저 삶의 가치로서 개발자에 대한 근본적인 물음에 대한 답을 하지 않으면 안 되기 때문입니다. 즉, 개발자로서 과연 살만한 가치가 있는지를 먼저 생각하지 않으면 안 되는 것입니다.
K라는 사람이 있다. 그는 패키지 소프트웨어를 개발하는 벤처 회사의 개발자다. 그는 오늘도 어김없이 새벽에 일어나 만원 지하철에 시달리면서 회사에 출근한다. 하지만 마음은 편하지 않다. 출근하는 동안에도 다음 주까지 마무리해야 하는 프로젝트 생각으로 머리가 아플 지경이다. 어젯밤도 어제 해결 못한 문제를 고민하느라 뜬눈으로 밤을 샜다. 한편으로는 애인과 헤어질 것 같아 걱정이다. 잦은 밤샘과 늦은 퇴근, 휴일도 반납하면서까지 일 한지 벌써 몇 개월. 데이트할 시간조차 없다. 애인의 얼굴은 마지막으로 본 것이 언제인지도 기억이 안 날 정도다. 물론 처음에는 애인이 자신의 처지를 이해했지만, 지금은 점점 지쳐 같은 것 같았다. 벌써 전화로 심하게 다투기를 여러 번. 출근 후 며칠째 반복하고 있는 디버깅 작업을 한다. 아무 생각이 없어지는 것 같다. 사장은 언제나 "이 프로젝트만 무사히 마치면 모든 것이 잘 풀릴 것이다. 그러니 조금만 더 참고 고생하자" 라는 말만 되풀이한다. 하지만 그는 회사가 잘되고 있는지 아닌지 잘 모른다. 단지 월급이나마 꼬박 나왔으면 하는 것이 작은 바람이다. 그래야만 어려운 집안에 조금이나마 도움이 될 수 있기 때문에. 하지만 다시 그는 반복되는 일상으로 돌아간다.
앞의 글은 개발자의 여러 일상을 ‘K’이라는 인물을 통해 짧게 구성해 본 것입니다. 개발자 또한 다른 사람들과 마찬가지로 반복되는 일상 속에 놓여 있습니다. 그리고 이 일상을 지탱해준 것은 '습관'입니다. 매일매일 반복되는 코딩과 디버깅 작업, 이러 저러한 고민과 미래에 대한 막연한 불안감 등 그것은 마치 아침에 일어나면 양치와 세수를 하는 습관처럼 어제도 그랬고 오늘도 그렇고 앞으로도 똑같다고 여겨집니다.
그러나 어느 순간 ‘왜 내가 개발자로 살아가야 되지?’라는 의문에 봉착합니다. 그것은 갑작스럽게 다가옵니다. 처음에는 프로그래밍이 재미있고 즐거웠습니다. 그리고 이 일이 내 삶의 전부인 것처럼 느껴졌습니다. 그리고 내게 닥친 현실이 어려워도 나름대로 견딜 만 했습니다. 하지만 이런 의문이 드는 순간 그는 현실과 단절된 상태에 빠집니다. 다시 말해 그는 자신이 처한 현실을 이해할 수 없고 받아들일 수도 없으며, 심지어 자신의 존재 이유조차 알지 못하는 상태에 빠지는 것입니다. 그리고 이러한 의문이 드는 순간이 바로 ‘부조리한 감수성’입니다. 그리고 그 순간 모든 것이 시작됩니다. (계속)
* 참고로 여기서 중요하게 언급한 ‘부조리한 감수성’에 대한 내용은 프랑스 작가이자 사상가인 알베르 카뮈의 유명한 저서 ‘시지프 신화’를 보시면 자세히 알 수 있을 것입니다. 이 글 또한 그 책의 신세를 많이 지고 있습니다.