바로가기 메뉴
본문 바로가기
대메뉴 바로가기

TECH M

개발자를 위한 희망백서

2016-05-31신정수 인성정보 공동창업자·사외이사

임백준(2016). 「대살개문(대한민국을 살리는 개발자 문화)」. 한빛미디어.

(임백준(2016). 「대살개문(대한민국을 살리는 개발자 문화)」. 한빛미디어.)


미국에서 활동하고 있는 프로그래머 임백준의 수년간 칼럼들을 모은 <대살개문>이란 책은 그 제목부터 호기심을 불러일으킨다.

이는 위기에 빠진 IT ‘대’한민국을 ‘살’리는 ‘개’발자 ‘문’화를 만들어보자는 거창한 사명감의 표현이다. 저자는 인기 팟캐스트 <나는 프로그래머다>의 방송 호스트로도 활약하고 있으며 프로그래머들을 위한 수많은 내공 있는 책들을 출간한 바도 있다.

우선 저자는 한국의 개발 프로젝트들의 문제점들을 비판한다.

지금까지 관행이라는 이름으로 하청에 하청이 꼬리는 무는 행태나, 개발인건비 단가 계산과 더불어 턱없이 낮게 책정되는 프로젝트 가격, 촉박한 마감 기한과 맞물려 밤새워 몸으로 삽질해야하는 고달픈 개발자들,... 고객사의 안하무인격 ‘갑질’ 관행으로 인해, 덜컹거림 없이 조용한 물처럼 흘러가는 개발 프로젝트란 아예 존재하지 않는다고 꼬집는다.

해외 프로그래머로서 이런 어두운 내용들을 이야기로만 듣다가 본인이 직접 겪은 한 국내 개발 프로젝트에서의 아픈 체험도 소개한다.

사용자 요구사항을 담은 문서는 잡다한 ‘복사&붙여넣기’의 콜라주 수준이어서 처음에 놀라서 눈물을 흘릴 뻔까지 했단다.

또한 원래에는 포함되지 않았던 기능이 마구 추가되고 복잡하게 변경 되며 결국 일의 범위가 처음 생각보다 거의 두 배로 확대되고 마는 상황에 큰 충격을 받았던 모양이다.

저자는 대한민국의 소프트웨어 업계를 일종의 ‘갈라파고스’로 본다.

재능과 열정을 가진 사람들이 마구 모여들고, 자본들이 대박을 좇아 분주히 돌아다니고, 기상천외한 아이디어들이 풍성하게 나도는 해외 소프트웨어 업계와는 철저히 괴리되어 있는 외딴 섬이라는 것이다.

프로그래머들은 박봉과 야근, 3D 중노동에 자부심을 느끼기는커녕 가정이 깨지거나 건강을 잃지 않으면 다행이라는 인식까지 퍼져 있다.

그럼 어떻게 이런 고질적 관행, 어두운 개발자 문화를 개선할 수 있을까? 저자는 한마디로 ‘실패할 권리’가 키워드라고 본다.

아이디어를 가진 능력 있는 개발자들이 두려움 없이 도전할 수 있는 조건의 부재를 핵심 문제로 보는 것이다. 실패는 흙이요, 물이요, 햇볕이다. 실리콘밸리 혹은 이스라엘은 이런 실패를 두려워하지 않는 벤처기업들이 득실대는 곳이다.

이런 문화를 위해 필요한 것은 두 가지인데, 하나는 사회적 안정장치 마련이며 다른 하나는 개발자 중심의 문화 조성이라고 보았다.

전자는 정부의 역할이 요구되며, 후자는 기업의 권력구조와 관련이 있다. 특히 기업에서는 개발과 관련하여 시니어 프로그래머를 결정 주체로 만들어주어야 한다고 주장한다. 일정 나이가 되면 대부분 코딩에서 손을 놓고 관리자가 되는 것은 프로그래머가 회사 권력에서 소외되는 분위기 탓으로 본다.

이 책에는 컴퓨터 프로그램의 개발환경 트렌드에 대한 소개 글들도 많다.

오래 전 컴퓨터가 처음 등장할 때는 그저 거대한 계산기에 불과했다. 그 다음에는 프로그램을 짜 넣으면 시키는 대로 하나씩 일을 하는 범용기계가 되었다. 이때는 생각은 프로그래머가 하고 기계는 실행만 했다. 그런데 앞으로는 프로그램이 아니라 인간이 자연스런 글이나 말을 통해 컴퓨터에게 일을 시키면 컴퓨터가 스스로 생각해서 일을 하는 인공지능 시대가 다가올 것으로 전망한다.

금년 봄 샌프란시스코에서 사흘간 열렸던 세계 개발자들을 위한 마이크로소프트 빌드 2016 행사에서도 인공지능이 화두였다. 사티야 나델라 CEO는 기조연설에서 'Conversation as a platform'을 들고 나왔다. 여기서 conversation은 인간과 인공지능, 또는 인공지능과 인공지능 사이의 (대결이 아닌) 대화의 시대를 연다는 의미이다.

MS는 우선 인지서비스(cognitive service) API를 통해 음성 인식, 언어 인식, 이미지 인식, 자연어 처리, 검색 서비스 등을 활용하는 응용 프로그램 '봇(Bot)' 개발을 장려한다. 구글이나 IBM도 이 같은 전략을 가지고 있다.

한편, 최근에는 무어의 법칙이 무한정 계속될 수는 없는 상황에 이르러 CPU코어를 여러 개로 병렬 처리하는 시스템들이 나타난다. 따라서 소프트웨어도 멀티코어에 맞는 새로운 패러다임이 요구되고 있는 바, 이것이 바로 '함수형 프로그래밍'이다.

오랜 기간 절차적 프로그래밍에 익숙했던 개발자들이 처음 C++이나 자바 같은 객체지향 프로그래밍을 만났을 때 클래스, 오브젝트, 상속 같은 추상적 개념들이 부담스러웠던 것처럼, 이제 객체지향 패러다임의 프로그래머들도 추상적이고 수학적인 함수형 패러다임의 등장에 꽤나 당혹스러울 것으로 본다.

보통 자바 개발자라면 차세대 JVM 언어로 자리 잡은 스칼라를, C# 개발자라면 CLR에서 작동하는 F#를 이용하여 함수형 코드를 공부하면 좋단다. OOP+FP를 통해 모듈의 재사용성과 동시성 처리가 좋아지며 코드가 훨씬 간결해진다고 한다.

하지만 higher-order function, lambda, algebraic type, functor, currying, monad, category theory,...이런 수학적, 추상적 개념들을 새로 배워야 하는 부담이 있다. 어찌 보면 사고방식 자체의 변화가 요구된다고 한다.

프로그램 언어뿐 아니라 데이터베이스만 하더라도 퍼포먼스를 위해 자꾸 심도 깊게 변화한다. 계층형DB 이후 DB2, SQL 등의 관계형DB가 오랜 기간 자리 잡더니, 이제 빅데이터 시대의 새로운 패러다임인 NoSQL, 그래프 DB, 배열(row) DB, 하둡 등의 환경이 쏟아져 나온다.

한편 MIT 교수이자 잉그레스(Ingres) 개발자로 RDB분야 권위자인 마이클 스톤브레이커(Michael Stonebraker)의 경우, 메모리를 활용하되 버퍼풀 단계를 제거하는 '인 메모리 DB' 방식의 NewSQL이 향후 대세가 될 것이라고 주장한다.

이 책은 이런 팩트 위주의 진지한 이야기만 하는 것은 아니다, 이를테면 우리가 만나는 프로그래머들을 4가지 색으로 분류하는 것이 흥미롭다.

파랑은 프로그래밍 재능이 탁월하며 노력까지 기울이는 케이스로 10% 정도가 이에 해당한다고 본다.

노랑은 특별한 재능은 없어도 새로운 기술에 대한 관심을 가지고 좋은 책을 찾아 읽는 노력파로 30%가 이에 해당한다.

빨강은 재능은 타고났으나 의무적 일만 하는 스타일로 10% 정도이다. 그 나머지 50%는 검정으로 성취감도 의욕도 없는 프로그래머인데, 이들이 지향해야 할 색은 노랑인 셈이다.

개발자를 위한 ‘아는 척’ 매뉴얼 칼럼도 재미있다.

아는 척을 잘 하는 것은 개발자에게 실력의 일부라고 주장하는 저자는 자기가 한 말에 책임을 지기위해 남몰래 공부를 더 한다는 측면에서 이는 ‘좋은 부작용’이라는 표현도 쓴다. 예를 들면, 동시성 프로그램을 이야기하면서 클로저의 STM과 스칼라의 액터를 언급하면서 살짝 미간을 찌푸려주면 아는 척의 완성도가 올라간단다.

그래도 얼랭의 액터가 더 쓸 만하다는 이야기까지 하면서 자리를 뜨면 화룡점정이고...

분산DB와 CAP 이론을 이야기하다가 Paxos 알고리즘에 이르러 MIT 람포트 교수의 논문에 기초한다는 멘트를 날리면서 시선을 먼 곳 플라타너스 나무 잎사귀에 두면 더 이상의 저항은 없다는 문학적 표현은 실로 압권이다.

이 책은 프로그램 관련 여러 주제에 대한 저자의 지난 칼럼들을 모은 것으로 그 풍요로운 내용들을 여기에서 일관성을 가지고 빠짐없이 소개하기에는 무리가 있다.

어쨌든 대한민국 프로그래머나 IT관리자 혹은 경영인이라면 이 책을 순서와 관계없이 자유롭게 읽어보면서 여러 주제들에 대한 저자의 탁월한 식견을 찬찬히 음미해 보면서 모종의 자극을 받을만한 가치가 충분이 있다고 본다.

 

(주)테크엠주소 : 서울시 강남구 테헤란로2길 27, 10층 (역삼동, 비젼타워)대표이사.발행인 : 김현기편집인 : 허준개인정보보호책임자 : 김현기청소년보호책임자 : 허준
사업자등록번호 : 553-81-01725대표전화 : 070-4513-1460보도자료 및 제보 : press@techm.kr