TECH M
TECH M
개발자를 위한 희망백서
(임백준(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관리자 혹은 경영인이라면 이 책을 순서와 관계없이 자유롭게 읽어보면서 여러 주제들에 대한 저자의 탁월한 식견을 찬찬히 음미해 보면서 모종의 자극을 받을만한 가치가 충분이 있다고 본다.
-
'전자정부 名家' LG CNS, 1200억 '행복e음' 사업 수주로 자존심 회복할까공공 소프트웨어(SW) 사업의 강자 LG CNS가 올해 공공시장 첫 '대어'로 꼽히는 보건복지부 차세대 사회보장정보시스템(행복e음) 구축 사업에 출사표를 던졌다.17일 업계에 따르면 LG CNS는 이날 행복e음 사업 재입찰에 제안서를 제출했다.행복e음 사업은 지난 2009년 복지부가 각종 사회복지 급여 및 서비스 지원 대상자의 자격과 이력에 관한 정보를 통합 관리하기 위해 구축한 시스템을 현대화 하는 사업이다. 올해부터 3년간 약 1220억원이 투입된다.이 사업은 지난 3일 첫 입찰 공고를 마감했으나 무2020-03-17 16:54:47테크M 남도영 기자
-
네이버 vs 카카오, 포털-메신저 이은 3라운드... 링은 '콘텐츠'#수천억 자금으로 뭘 만들까#넷플릭스 잡을 수 있을까#톡TV-네이버TV 경쟁 볼만할 듯국내 대표 인터넷 맞수 기업 네이버와 카카오의 세번재 경쟁 무대 막이 올랐다. 포털과 메신저 플랫폼에서 치열하게 경쟁해온 두 기업의 3라운드 링은 '콘텐츠'다. 이미 양사는 콘텐츠 자회사에 수천억원의 자금을 쌓아놨다. 올해부터 본격적으로 콘텐츠 양산에 돌입한다. 콘텐츠 주도권 경쟁의 전초전은 이미 시작됐다.◆실탄 마련한 카카오M, 직접 콘텐츠 제작 개시카카오는 지난 16일 콘텐츠 자회사 카카오M이 3자 배정 유상증자2020-03-17 15:53:45테크M 허준 기자
-
[템 사이트] 게임 하면 유니티! 2020년 기대되는 유니티 기반 게임은?연일 쏟아지는 신작 소식이 게이머들을 설레게 하고 있습니다. 남다른 스케일을 자랑하는 게임업체들의 대형 신작은 물론 독특한 게임성을 내세운 게임까지, 게이머들의 다양한 취향을 만족시킬만한 다양한 신작게임들이 많습니다.오늘은 특히 유니티 엔진을 기반으로 한 신작 게임들을 엄선해서 소개할까 합니다. 유니티는 이미 전세계 수백만명의 게임 개발자들이 사용하는 유명한 게임엔진입니다. 최신 버전의 엔진 '유니티 2019.3' 업데이트를 통해 260가지가 넘는 개선사항과 신규 기능이 포함돼 진일보한 고성능 그래픽과 최적화 기2020-03-17 15:30:39테크M 허준 기자