은밀한 설계자들

IT 2020. 9. 7. 08:22

- 뉴스피드는 불안정하고 때론 충격 적이었지만, 수많은 사용자를 끌어들일 만한 매력을 갖추고 있었다. 페이스북 친구의 소소한 일상을 보여주는 서비스였을 뿐이지 만 그 영향은 결코 작지 않았다. 피드를 확인해 여러 새로운 소식을 보면서, 페이스북 친구의 삶에서 일어나는 일들을 어렴풋이 그려 볼 수 있게 되었다. 뉴스피드 서비스가 발표된 다음 날, 생비와 개 발팀은 페이스북 사용자들이 이전보다 거의 2배나 많은 시간을 페 이스북에서 보낸다는 것을 발견했다.
- 뉴스피드 때문에 미국인의 하루 평균 페이스북 사용시간이 35분 늘어났다. 이유는 간단했다. 피드 구현에 사용된 순위 알고리즘 덕 분에 사용자가 흥미를 가질 만한 정보가 좀 더 많이 제공되었기 때문이다. 뉴스피드 프로그램은 사용자에게 보여줄 새로운 정보를 좀 더 잘 찾기 위해 사용자의 '좋아요' 누르기, 다른 SNS에 '공유하기', '댓글 달기 등 사용자가 페이스북에서 했던 모든 일을 주의 깊 게 관찰한다. 이는 물론 사업을 성공적으로 이끌기 위한 것으로, 페이스북은 2017년에 광고로만 약 400억 달러를 벌었다. 그러나 모든 사람의 관심을 한 방향으로 모은 탓에 사회적인 토론을 막는 부작용도 야기했다. 누군가 잘못된 정보를 만들어 소문을 내고자 했을 때, 뉴스피드는 정말 효과적인 도구였다. 2016년 말 미국 대선이 끝나고 트럼프가 권력을 잡았을 때, 기자들은 독버섯 같은 사 람들, 예를 들어 백인 우월주의자나 자극적인 허위 정치기사로 사람을 끌어모으는 사람들이 피드를 사용해 정치적인 소동을 일으킬만한 이야기들을 퍼트린다는 사실을 알게 되었다. 또한 사용자가 '좋아요'를 선택한 일들과 잘 어울리지 않는 정보 대부분이 제거되도록 피드가 설계된 탓에 미국 내부의 편 가름이 매우 심해질 수 있다는 심각한 문제도 있었다.
- 'Hello, World!'라는 문구는 1972년 젊은 컴퓨터 과학자 브라이언 커니핸Brian Kernighan이 쓴 프로그래밍 언어 B의 매뉴얼에서 맨 처 음 등장했다. 그는 프로그래밍 언어 B로 쓸 수 있는 가장 간단한 프로그램을 보여주고 싶었고, 인사말 메시지를 화면에 출력하는 'Hello, World!'가 딱 맞다고 생각했다. 커니핸의 이야기에 따르면, 그는 병아리 한 마리가 껍질을 깨고 나오며 'Hello, World!'라고 말 하는 만화를 재미있게 봤다고 한다. 그래서 그는 짧은 메시지를 화면에 보여주는 아주 간단한 B 코드를 썼다. 커니핸의 재치 만점 아이디어는 프로그래머들 사이에서 큰 인기를 끌었으며, 이후 250여개가 넘는 모든 프로그래밍 언어의 매뉴얼은 'Hello, World!'라는 주문으로 시작한다.
- 프로그래머들은 'Hello, World!' 라는 단순한 문구에 수많은 의미를 부여한다. 특히 이 문구는 “태 초에 말씀이 계시니라” 라는 종교적인 믿음을 떠올리게 한다. (특 히 교회에 다니는 프로그래머들이 이런 생각을 매우 좋아한다. 독실한 신자로 게임 〈미스트MYST)의 공동 개발자인 로빈 밀러Robyn Miller는 멋진 게임 캐릭터 등을 만들면, 종종 프로그래밍을 잠시 멈추고는 혼잣말로 “보기좋군”이라고 말한다. 하지만 'Hello, World!'에 이런 멋진 면만 있는 것은 아니다. 통제할 수 없는 괴물을 만든 탓에 괴물에게 사랑하는 연인을 잃었던 프랑켄슈타인 박사나 말을 듣지 않는 빗자루 때문에 고생한 영화 속 마법사의 제자The Sorcerer's Apprentice 처럼 통제를 벗어난 프로그램을 만들어 예상 못한 부작용을 일으킬 수도 있다. 이처럼 프로그래밍에는 좋은 면과 나쁜 면이 있다. 예를 들어 뉴스 피드는 암에 걸린 친구의 소식을 전해 친구의 건강에 관심을 갖게 할 수 있는 반면, 터무니없는 음모론을 퍼뜨리는 데 사용될 수도 있 다. 마법과 프로그램 사이의 이런 관계 때문인지 1980년대 초반 컴 퓨터에 푹 빠진 10대 청소년들은 판타지와 주사위 확률을 결합한 던전 앤 드래곤 게임이나 톨킨의 작품에 등장하 는 마법사를 익숙하게 받아들였다. 1960년대 프로그래머들은 컴퓨터 사용자 눈에 띄지 않고 일정 속도로 실행되고 있는 코드와 백그라운드 안에서 계속 실행시킬 수 있는 형태의 코드를 만들고는 악령이나 초자연적인 존재를 뜻하는 '데몬daemon'이라고 불렀다. 컴퓨터 과학자인 레리 월Larry Wall은 ‘펄' 이라는 컴퓨터 프로그래밍 언어를 만들고 '축복Bless' 이라는 함수를 포함시켰다. 프로그래머 데니 힐리스Danny Hilis는 “수백 년 전 뉴잉글랜드New England에서 내 직업에 대해 사람들에게 정확히 설명했다면, 나는 화형에 처해졌 을 것이다”라고 말하기도 했다. 프로그래밍에서 느껴지는 마법 같은 느낌은 매우 매력적이고 흥미진진해서 많은 경우 이상적인 생각과 잘 어울린다. 그래서일까? 마치에이 세글로프스키 Macisi Centowski가 말했듯, 특히 뛰어난 실력을 가진 젊은 프로그래머들은 프로그래밍을 하며 급격히 거만해 곤 한다. 이들은 자신들이 뛰어난 분석능력을 가지고 있기 때문에 특별한 훈련을 받지 않았음에도 어떤 시스템이든 완벽하게 이해할 수 있다고 자신한다. 또한 인위적으로 만들어진 소프트웨어 세상 에서 거둔 성공을 통해 자칫 무모할 수 있는 자신감을 갖게 된다. 혹은 1976년에 컴퓨터 과학자 요제프 바이첸바움Joseph Weizenbaum 이 말했듯이 권력은 부패한다는 영국의 정치가 액톤John DalbergActon 경의 통찰이 누구나 손쉽게 전지전능한 힘을 가지는 환경에서는 통하지 않는다는 사실에 놀라게 됩니다.
- 1950년대 세계 최초의 프로그래 머 가운데 몇몇은 여성들이었다. 또한 최초의 컴파일러 Compiler(소스코드를 컴퓨터가 이해하도록 번역해주는 프로그램 ? 옮긴이)를 개발 한 그레이스 호퍼 Grace Hopper나 프로그래밍 분야에 지대한 영향을 끼친 프로그래밍 언어 스몰토크Smalitalk 를 공동 개발한 아델 골드버 그 Adel Goldberg 등 뛰어난 업적을 이룬 여성 프로그래머들도 있었다. 1983년에는 컴퓨터 과학 전공자 가운데 약 37.1%가 여성이었으나, 2010년에는 절반도 채 되지 않는 17%까지 떨어졌다.27 (대학뿐만 아니라 실제 기업에서도 그 비율은 비슷했다. 2015년의 조사결과에 따르면 구글, 마이크로소프트 같은 고연봉 직장의 여성 엔지니어 비율은 전 체의 20%가 채 되지 않았다.28) 인종구성도 별반 다르지 않았다. 스타 트업만 살펴봐도 금방 알 수 있듯이, 엔지니어들은 주로 백인과 아시아인이다. 흑인과 라틴계 프로그래머들 비율은 미국 전체를 통틀어 한 자릿수에 불과하며, 실리콘밸리 최고 수준의 회사들로 한정하면 불과 1~2% 정도로 매우 낮다. 프로그래머의 개인 능력이 가장 중요하다고 여겨지는 소프트웨어 산업에서 이런 결과가 나온 것은 상당히 모순적이다.
- 오늘날 사람들이 들으면 깜짝 놀랄 일이겠지만, 1960년대 윌크스가 일했던 MIT 링컨 연구소에서 는 전문 프로그래머 대부분이 여성이었다. 당시에는 많은 사람들 이 남성보다는 여성이 프로그래밍 업무에 적합하다고 생각했다. 그 이전에도 그랬다. 제2차 세계대전 동안, 영국 블레츨리 파크에서 암호해독을 위해 사용한 몇몇 실험적인 계산기계들은 여성들이 다뤘다. 미국에서 탄도미사일의 궤적 계산에 사용된 애니악ENIAC 컴퓨터의 첫 번째 프로그래머들 역시 여성들이었다. 윌크스는 남녀의 성에 따라 업무 구분이 있다는 사실을 알아차렸다. 남성 프로그래머가 없던 것은 여러 가지 이유가 있었겠지만, 그중 하나는 1960년대 컴퓨터 관련해서 가장 매력적이고 인정받 는 일이 하드웨어 제작이었기 때문이었다.
- 개방과 공유를 실천했던 MIT 해커그룹이었지만, 이들은 소프트웨어 분야에서 여성을 몰아내기 시작한 첫 번째 세대기도 했다. 윌크스가 활동하던 때와 달리 MIT 해커그룹은 철저히 남성 중심이었다. 해커들의 말투는 허풍스럽기 그지없었고, 생활은 독신남 같았다. 그들 스스로도 이야기했듯이, 해커가 아닌 사람들과 지내는 일 에는 전혀 관심이 없었다. 무엇보다도 자신들을 소중한 프로그램에 모든 것을 바친 일종의 성직자라고 생각했다. “심지어 프로그램이 그들의 성생활까지 대신했어요.” 레비가 말했다. 그린블래트 는 너무 지저분한데다 씻지 않기로 유명했다. 얼마나 더러웠는지 YMCA에서 쫓겨난 일도 있었다. 남자 해커들이 연구실에서 밤을 지새우거나 잠을 자면서 연구실은 점점 남자 기숙사처럼 변했다. MIT 해커들은 임시로 이것저것 손대곤 했는데, 이런 행동은 컴 퓨터를 사용해 중요한 연구를 해야 하는 MIT 컴퓨터 과학자들과 충돌을 일으켰다. MIT 해커 때문에 고생했던 대표적인 인물로 훗 날 미국 항공우주국 나사NASA에서 핵심 시스템을 설계해 아폴로 우주선의 안전한 달 착륙에 기여한 마거릿 해밀턴 Margaret Harmiton 이 있다. 그녀는 당시 MIT의 젊은 프로그래머였다. 하루는 날씨 시뮬레이션 모델을 실행하려고 했으나 자꾸 문제가 생겼다. 고생 끝에 몇몇 해커들이 자신들의 목적에 맞게 어셈블러 프로그램을 수정한 뒤 다시 원래대로 고쳐놓지 않았기 때문이라는 것을 알아냈다. 해커들은 단순히 예쁘게 생긴 셀룰러 오토마타cellular Automata(미국 수학자 스타니스와프 울람과 존 폰 노이만이 고안한 이산적 동적 시스템으 로, 동역학계를 해석하는 방법 - 옮긴이)를 이리저리 손대며 시간을 보낼 생각이었던데 반해, 그녀는 날씨 연구를 수행하고 있었다. 해밀턴 입장에서는 매우 화나는 일이었지만, 해커들은 자신들의 행동이 다른 사람에게 미치는 영향 따위에는 별 관심이 없었다.
- 1990년대 에버링험을 포함한 넷스케이프의 프로그래머들은 웹서핑을 하는 사람들이 원하면 코드도 직접 볼 수 있으면 좋겠다고 생각하고, 웹페이지 소스코드를 볼 수 있는 기능을 추가했다. 넷스케이프 웹브라우저에서 이 기능을 사용하면 현재 보고 있는 웹페이지의 소스코드를 볼 수 있 는 새로운 창이 나타난다. 얼마 지나지 않아 사람들은 페이지 소스 보기' 기능을 선택해 눈앞에 보이는 새로운 세상이 어떻게 만들어졌는지 살펴보기 시작했다. 이 기능은 좀 더 빠르고 훨씬 넓게 알려졌다는 점만 빼면 베이 직 프로그래밍 언어 덕택에 가능했던 프로그래밍 혁명과 꽤 비슷했다. 1980년대 에버링험을 비롯해 프로그래밍에 관심 있는 초보 프로그래머들은 공부하거나 배울 때 사용할 수 있는 베이직 코드를 구하는 데 상당히 많은 시간을 소비했다. 전자게시판에서 베이 직 코드를 다운로드 받거나 혹은 소스코드가 인쇄된 컴퓨터 잡지 나 책을 사야 했다. 무언가 새로운 것을 배우려면 넘어야 할 어려움 이 많았다. 그러나 웹에서는 이러한 시간이 '0'으로 줄었다. 웹 사용자는 누구나 자신이 방문한 모든 웹페이지의 모습과 동작을 기술한 소스 코드를 볼 수 있었다. 인터넷은 프로그래밍 가이드북을 잔뜩 모아 놓은 도서관이 되었다. 게다가 소스코드 일부를 잘라 새로운 파일로 저장한 뒤, 코드를 바꿔가며 실행해 어떤 일이 일어나는지 볼 수 도 있었다. 새롭게 작성한 코드와 코드 실행결과물인 웹페이지가 만족스러우면, 지오시티 GeoCities 같은 웹호스팅 서비스를 사용해 인터넷에 올릴 수도 있다. 베이직 덕분에 프로그래밍은 세상과 동떨어져 있던 상아탑에서 나와 10대 청소년들의 방으로 퍼져나갈수 있었다. 웹은 여기서 한발 더 나아가 프로그래밍을 누구나 접근할 수 있는 열린 공간으로 이끌었다.
- 80년대 초, 에버링험이 VIC-20을 처음 본 이후 프로그래밍 세계는 여러모로 크게 변했다. 매리 앨런 윌크스, MIT의 해커들, 10대 소년 에버링험 등 1~3세대 프로그래머들에게 프로그래밍 은 재미있어서 한 일이었다. 이들 관점에서 프로그래밍에는 자신이 생각한 어떤 일이든 기계가 하도록 만든다는 원초적인 지적 도전정신이 깔려 있었다. 그러나 크리거 세대는 달랐다. 이들은 넷스 케이프, 야후, 구글과 같은 회사를 세워 엄청난 부자가 된 사람들과 그들의 막대한 사회적 영향력을 경험한 첫 번째 세대였다. 누구나 인정하듯 정치, 법률, 기업의 힘은 막강하다. 그러나 정말 로 여러분이 속해 있는 사회를 바꾸고 싶다면 프로그래밍을 해라. 〈해커스Hackers〉, 〈네트The Net) 혹은 매트릭스> 같은 영화를 본 것은 문제가 되지 않는다. 해커는 더 이상 사회에서 따돌림 당하는 괴짜 컴퓨터 전문가가 아니다. 오히려 일반 사람은 꿈도 꾸지 못할 강력 한 힘을 휘두를 수 있는 슈퍼히어로들이다.
- 실리콘밸리에 엄청난 규모의 돈이 몰리면서 새로운 부류의 프로 그래머가 나타나고 있다. 2000년대 후반, 구글이나 페이스북이 인수할 만한 것을 만들어 단번에 큰돈을 번 인스타그램 같은 회사가, 성공을 원하는 사람들의 주목을 끌었다. 이들은 한때 빨리 부자가 되기 위해 월스트리트에 취직했다. 그러나 2008년 금융위기 후에는 다른 곳으로 눈을 돌렸는데, 바로 실리콘밸리였다. 이들이 '브로그래머brogramme'다. 브로그래머는 자신들이 작성한 코드의 영향력 에는 신경을 썼으나, 정작 프로그래밍이 주는 지적인 흥분감에는 별 관심이 없는 경우가 많았다. 이들에게 프로그래머라는 직업은 권력을 향한 하나의 길일 뿐이었다. 결과적으로 실리콘밸리 문화에 대한 브로그래머의 기여도에 비해 프로그래밍에 대한 기여도는 높지 않았다.
- 오늘날 대기업에서 소프트웨어를 개발할 때 많은 경우 프로그래 머가 모든 것을 결정하도록 하지 않는다. 소프트웨어의 주요 기능을 결정하는 사람들은 프로젝트 매니저로 이들은 디자이너, 사용자 인터페이스 설계 전문가 등과 함께 일한다. 프로젝트 매니저는 소프트웨어 설계를 프로그래머에게만 맡겨둘 경우, 자칫 현실과 동떨어져 프로그래머만 사용할 수 있는 이상한 소프트웨어가 개발될 수 있다는 사실을 잘 알고 있다.
- 이런 문제는 프로그래머가 제멋에 겨워 일하는 것을 좋아하기 때문이기도 하다. 예를 들어 프로그래머는 컴퓨터를 다루거나 간 단한 일을 처리하는 짧은 스크립트나 프로그램을 작성할 때, 대화 상자보다는 깜빡이는 커서가 있는 텍스트 기반의 화면에 명령어를 직접 쓰는 방식을 좋아한다. 즉, 프로그래머는 컴퓨터에게 좀 더 직접적으로 명령을 내리고 결과를 얻고 싶어 한다. 왜일까? 여러 이유가 있겠지만, 다음과 같은 기능적인 이유 때문이다. 먼저 컴퓨터에게 정확히 당신이 원하는 일을 가장 효과적이면서도 유연성 있 게 지시하는 방식이기 때문이다. 그다음은 컴퓨터 기술에 익숙하 지 않은 일반인들을 상대로 자신의 우월함을 보여줄 수 있기 때문이다. 마지막으로 일단 명령어 방식에 익숙해지면 마우스, 커서, 아이콘 등 소위 '사용자 친화적'인 사용방식은 느리고 유치해 보이 기 때문이다. 그런데 사용자 친화적' 이라는 말은 역설적이게도, 실제 사용자를 이해하는 누군가가 프로그래머로부터 소프트웨어를 디자인할 수 있는 권한을 가져오기 전에는 대부분의 소프트웨어 가 '사용자 적대적인’, 즉 사용자에게 불편했음을 의미한다. 사용자 친화적인 소프트웨어 디자인은 프로젝트 매니저, 디자이너, 사용자 인터페이스 전문가의 역할이다. 이들은 프로그래머 관점에서 소프트웨어의 작동 방식을 이해하고, 사용자를 모아 이야기를 들 으며 사용자의 관점에서 프로그래머가 만들 소프트웨어의 모습을 정의한다.
- 프로그래머들은 일반적으로 한 줄씩 혹은 '한 함수’씩 확인하며 전체 프로그램을 서서히 완성한다. 그러나 2004년의 코헨은 달 랐다. 그는 먼저 서로 멀리 떨어진 비트토렌트 사용자 사이의 여러 타이밍 문제들을 머릿속으로 따져보며 고민했다. 이런 몇 시간의 고민이 끝나면, 앉아서 프로그램을 쏟아내기 시작했다. 그리고 이 프로그램은 옆에서 누가 코드를 불러주기라도 한 듯 완벽했다(사실 코헨은 자신을 모차르트와 비교했다). 3개월 된 아이에게 모유 수유를 하며 부엌에 들어온 그의 아내 제나는 이런 사실을 확인해줬다. "그는 하루 종일 집 안팎 이곳저곳을 어슬렁거리며 돌아다녀요. 그러다 갑자기 컴퓨터로 달려가 프로그램을 쏟아내죠. 그리고 그 프 로그램은 한줄 한줄이 깔끔해요. 버그 하나 없는 완벽한 프로그램 이죠!” “컴퓨터밖에 모르는 나의 사랑스러운 큰 아기.” 그녀는 코헨이 사랑스러운 듯 그의 머리를 가볍게 두드리며 말했다. 실제로 코헨은 아스퍼거 증후군Asperger's syndrome을 앓았다. 나는 처음 그 사실을 들었을 때 상당히 놀랐다. 그가 다소 과장되게 행동하고 무슨 주제든 장황하게 이야기를 늘어놓기는 했지만, 오히 려 나는 그의 행동이 정말 좋았을 뿐만 아니라 유머도 있고 매력적이라고 생각했기 때문이다. 게다가 그는 주변 사람들의 기분을 매우 잘 알아차렸다. 그러나 이런 모습은 일반인처럼 행동하기 위한 그의 꾸준한 노력 덕분이었다.
- '좋아요’ 서비스는 페이스북에게 사 용자를 모니터링할 수 있는 새로운 강력한 수단이 되었다. '좋아요' 서비스가 인기를 얻자, 페이스북은 관련 코드를 공개해 다른 웹사 이트 게시물에도 '좋아요' 버튼을 붙일수 있도록 했다. 얼마 지나 지 않아, 인터넷 웹사이트에는 '좋아요' 버튼이 넘쳐나기 시작했다. 그런데 이 버튼은 단순히 '좋아요’ 서비스의 역할만 하는 것이 아니 었다. 만약 여러분이 페이스북 사용자고 페이스북 서비스에 로그 인한 상태라면, '좋아요' 버튼이 있는 웹사이트를 방문할 때마다 페 이스북은 여러분이 어떤 웹사이트를 방문했는지 알게 된다. '좋아요' 버튼을 누르지 않아도 말이다. 사실상 페이스북은 자신의 고객 들이 인터넷 세상에서 어느 곳을 어떤 형태로 방문하는지 끊임없이 파악할 수 있는, 간단하지만 강력한 수단을 확보한 셈이었다. 몇 년 후 '좋아요' 서비스 개발자인 로즌스타인과 펄만은 페이스북을 떠났다. 로즌스타인은 생산성 높은 작업 공간 제공 서비스인 아사나Asana를 만들었다. 펄만은 여러 회사를 세우기도 하고 새로 이 예술가 활동도 시작했다. 시간이 지날수록 두 사람 모두 좋아요 서비스의 부작용에 안타까워했다. “저도 때론 '좋아요' 서비스에 중독된 것은 아닐까 하는 생각이 들곤 해요. 제가 만든 서비스인데 말이죠.” 로즌스타인은 IT 전문 매체인 〈더 버지The Verge)와의 인터뷰에서 말했다.44 그는 자신이 소셜미디어 알림 서비스에 점점 신경 쓴다는 사실을 깨달았다(그는 소셜미디어 알림 서비스를 '가짜 행복을 담은 딩동'이라고 불렀다). 로즌 스타인은 우리가 하루 평균 2,617번씩 스마트폰을 터치해 사용할 만큼, 우리가 사용하는 앱이 사용하지 않고는 못 배기게 중독성이 있다는 것을 알았다.45 펄만은 일종의 거래처럼 서로 주고받는 '좋아요'에 대해 걱정했다. 그녀는 SF TV 드라마 〈블랙 미러〉에서 '추 락 Nosedive'이라는 제목의 에피소드를 보았다고 한다. 이 드라마에 등장한 젊은 여성은 사람이 다른 사람과의 만남에 대해 평점을 매 기는 사회에 살고 있다. 드라마 속 젊은 여성은 거울을 보며 연습한 과장된 표정을 사진으로 찍어 소셜미디어 서비스에 올리기도 하 고, 상대방이 자신에게 낮은 평점을 주지 않도록 계산대 직원에게 과장된 칭찬을 늘어놓는다.
- 밀을 2배 빨리 수확해야 한다고 가정해보자. 방법은 간단하다. 밀수확 인력을 2배로 늘리면 된다. 그러나 프로그래밍은 통찰력이 필 요한 일로 밀 수확보다는 시를 쓰는 일에 가깝다. 다시 말해 프로그 래밍 과제의 해결책은 많은 사람들의 땀방울에서 나오기보다, 통찰력과 영감을 갖춘 한 사람의 순간적인 깨달음에서 나오기 쉽다. 결론적으로 프로그래밍은 일반 노동과는 정반대다. 어려운 프로그래밍 과제를 해결하기 위해 좀 더 많은 프로그래머를 투입하는 일은 회의와 의사소통 부담을 증가시켜 과제 해결을 더욱 어렵게 만든다. 브룩스는 이런 현상을 다음과 같이 간결하게 정리했다. “지연되고 있는 소프트웨어 과제는 인력을 투입하면 투입할수록 더욱 늦어진다. 이에 최근 들어 세계 곳곳의 프로그래머들은 이런 사실을 자신 있게 인용하며 그저 그런 프로그래머가 아닌 절대 능력의 프로그래머를 채용하는 일이 매우 중요하다고 주장한다. 또한 소프트웨어 개발 과제의 이런 특징은 최고 학교를 졸업한 최고 학생들이나 스타트업의 인재를 영입하기 위해 각종 혜택을 제공하는 인재전쟁이 1990년대부터 시작돼 오늘날까지도 이어지고 있는 이유기도 하다. 10X라는 문구는 첨단 기술 세계의 뛰어난 프로그래머들에 게 자신들에 대한 논리적이고, 정량적이며, 정확한 느낌을 심어주 었다. 물론 다른 산업에도 뛰어난 인재에 대한 개념은 있다. 그러나 소프트웨어 산업에는 한 명의 뛰어난 프로그래머가 평범한 프로그 래머보다 얼마나 뛰어난지 보여주는 실제 측정값인 '숫자'가 있다. “뛰어난 프로그래머가 평범한 프로그래머보다 몇 배의 연봉을 받 기는 하지만, 뛰어난 프로그래머가 작성한 프로그램은 평범한 프로그래머가 작성한 프로그램보다 1만 배쯤 가치가 있다. 빌 게이 츠Bill Gates의 말이다.
- '포토샵Photoshop'은 2명의 형제가 개발했다. 마이크로소프트의 시작을 알린 '베이직'은 빌 게이츠가 고교 선배이 폴 앨런Paul Allen, 하버드 대학교 1학년 몬테 데이빗도프Monte Davidoff 와 함께 초기 베이직을 새롭게 고쳐 만든 것이다. 초창기 블로그 소프트웨어인 라이브저널은 브래드 피츠패트릭이 만들었다. 구글의 모태가 된 '혁신적인 검색 알고리즘'은 학생이었던 래리 페이지Larry Page와 세르게이 브린Sergey Brin이 만들었다. 유튜브'와 '스냅챗’은 3명이 개발했다. '비트토렌트’는 전적으로 브램 코헨의 작품이었고, '비트코인’은 소문에 의하면 익명의 프로그래머 사토시 나카모토Satoshi Nakamoto가 만들었다. 존 카멕John Carmack은 FPSFirst-person shooter(1인칭 슈팅게임) 비디오 게임이라는 수십억 달러시장의 탄생에 기여한 '3D 그래픽스 엔진 3D graphics engines'을 만들었다. 안드레센에 따르면 이렇게 적은 수의 사람들이 엄청난 결과를 만들 수 있었던 이유는, 새로운 앱 등을 개발할 때 정신적 공동체가 한 두 사람의 고립된 머릿속에서 훨씬 효과적으로 세워지기 때문이다. 10X'의 생산성은 그 정신 공동체 속에 들어가 머물며 복잡한 문제나 목표를 구체화하는 뛰어난 능력에서 나온다. “만약 그들이 잠들 지 않고 깨어 있을 수 있다면, 정말로 성공할 수 있어요.” 안드레센 이 말했다. “문제는 깨어 있는 시간이에요. 머릿속에 모든 문제를 집어넣는데 2시간이 걸리고 그 상태에서 10시간, 12시간, 혹은 14시 간 일할 수 있죠.” 그가 알고 있는 10X 프로그래머들은 시스템 수준에서 생각하며, 시스템을 구성하는 기술스택Stack(컴퓨터에서 사용되 는 기본 데이터 구조 중 하나)의 모든 부분에 대해 늘 궁금해하는 경향이 있다. 예를 들어 컴퓨터 마이크로프로세서에서 전류가 어떻게 흐르는지부터 터치스크린 반응 시간에 이르기까지 모든 것을 궁금해한다. “10X 프로그래머들의 이런 행동은 지적 호기심, 충동, 필요 등이 결합된 결과입니다. 그들은 관심 있는 시스템에 자신들이 모르는 게 있다는 사실을 받아들이지 못하죠.”
- 릭과 같은 10X 프로그래머는 짧은 시간에 많은 프로그램을 만들어내기도 하지만 사실 그 결과물은 전문 용어로 '기술 부채’, 즉 나중에 다시 해야 하는 일인 경우가 많다. 빠른 속도로 코드를 만들어 내는 프로그래머는 임시방편적인 방법으로 프로그래밍하거나 누더기처럼 이곳저곳의 코드를 짜깁기해 프로그래밍하는 경우가 많으며, 이런 프로그램은 결국 몇 년 후 꼼꼼함과 인내심이 필요한 재 작업으로 이어진다. “10X 엔지니어는 실제로 10배 더 생산적이지 않아. 오히려 다른 사람의 할 일을 10배쯤 늘려주지. 그들은 마치 빙산의 일각 같아서 겉보기에는 반짝거리고 아름다워 보이지만, 결국 보이지 않는 곳에 엄청난 기술 부채를 남기곤 한다니까.” 프로그래머 친구인 맥스 휘트니 Max Whitney가 말했다.
- 안드레센이 이야기했듯이 프로그래머들이 스타트업 세우기를 좋아하는 이유 가운데 하나는 일의 속도 때문이다. 그런 스타트업 에서 똑똑한 얼간이들은 엉망진창인, 그러나 초기 고객을 끌어들일 만큼 괜찮게 작동하는 프로그램을 만들곤 한다. 그렇지만 결국 얼마 지나지 않아 좀 더 꼼꼼한 다른 동료 프로그래머들이 엉망진창인 프로그램을 깔끔하게 손봐야 한다. 트레이시 추는 핀터레스트에 입사해 기존 백엔드 프로그램의 수 정을 맡았다. 프로그램 이곳저곳을 살피던 그녀는 사용자가 입력 한 검색어에 대해 서버가 같은 작업을 두 번씩 반복해 수행하는 이 상한 현상을 발견했다. '어, 왜 이러지?' 그녀는 의아해했다. 프로그램 분석을 통해 그녀는 서버에 요청을 발생시키는 코드가 실수로 두 번 쓰인 사실을 발견했다. 아마도 핀터레스트 설립 초기 일했던 능력 좋은 프로그래머가 매우 빠른 속도로 일하면서 실수를 저지른 듯했다. 중복된 코드를 지우자 핀터레스트 검색 효율이 바로 2배나 향상되었다. 이런 예를 통해 보듯 진정한 10X급의 능력은 프로그램을 작성하는 데 있지 않고, 오히려 다른 프로그래머의 실수를 수정하는 데 있다.
- 스타트업 창업자들의 배경을 살펴보면 프로그래밍 분야가 공평한 능력주의라는 생각에 대해 더욱 의구심이 든다. 경영학 교수 2명이 함께 수행해 얻은 연구결과에 따르면, 기업가들의 가장 큰 공통 요소 중 하나가 부유한 가정 출신들이라는 것이다. 믿는 구석 이 있을 때 좀 더 과감하게 위험을 무릅쓸 수 있다는 점에서 이 연구결과는 충분히 타당해 보인다. 더 나아가 누가 스타트업 투자금을 받는지 생각하면, 그 연구결과는 더욱 타당해 보인다. 영국 로이터통신 Reauters)의 조사에 따르면 상위 5개 벤처투자사로부터 시리즈A 투자를 받 은 실리콘밸리의 창업자 중 약 80%는 잘나가는 기술 기업에서 일 한 경험이 있거나 스탠퍼드 대학교, 하버드 대학교, MIT 공대 출신 들이다.33 이런 스타트업 투자 시스템은 좋은 아이디어를 가지고 있지만 무모하고, 연출도 없고, 초라해 보이는 창업자들을 위한 시스템처럼 보이지 않는다. 오히려 경제전문가 로버트 프랭크Robert Frank가 말한 '승자 독식' 같은 역학관계에 더 적합한 시스템처럼 보 인다. 초기 성공은 연이은 행운으로 이어지며, 결국 누구나 믿는 전설로 발전한다.
- 신경망 개념은 1950년대에 처음 나왔다. 그리고 1980년대 이르러 프랑스 과학자 얀 르쿤Yann LeCun은 신경망을 이용해 손글씨를 인식할 수 있다는 사실을 보여주며, 신경망 개념을 새로운 수준으로 끌어올렸다. 그러나 1980년대 신경망 기술은 그리 실용적이지 못했다. 신경 망 처리를 위해서는 소프트웨어 개발자들이 사용할 수 있는 좀 더 빠른 프로세서와 좀 더 많은 메모리가 필요했다. 더 큰 문제는 학습에 필요한 데이터 양이 너무 많았다. 예를 들어 해바라기를 인지할 수 있도록 신경망을 훈련시키려면, 이론적으로 수천 장 혹은 수백 만 장의 학습용 해바라기 사진이 필요하다. 1980년대에 그 많은 데 이터를 어디서 구할 수 있겠는가? 디지털 카메라는 10~20년 후에 야 등장했다. 1980년대 신경망은 사람들의 관심을 끌었고, 실제로 사용되기 도 했다. 은행에서는 르쿤의 연구결과를 사용해 자동으로 수표를 인식할 수 있는 신경망을 만들었다. 몇몇 음성인식 업체들에서는 신경망을 이용해 느리지만 음성을 인식하고 글로 바꿔주는 시스템을 만들었다. 그러나 대부분의 컴퓨터 과학자들은 신경망을 인공지능에 대한 헛된 기대를 품게 만드는 기술이라고 생각했다. 결국 1980년대 몇 번의 작은 성공을 거두며 사람들을 흥분시켰던 신경망 기술은 다 시금 '인공지능 겨울'에 빠져 수면 아래로 가라앉았다. “많은 사람들이 인공지능 분야는 길을 잃고 헤매는 벌판 같다고 말했어요.” 한스 크리스챤 부스Hans-Christian Boos가 내게 말했다. 그는 당시 신경망 기술에 흠뻑 빠져 있던 젊은 대학원생이었다. 그러나 그의 동료들은 한 번의 선택이 연구 인생을 좌우한다며, 아무 결과도 얻지 못할 신경망 연구를 그만두라고 충고했다. 그러나 현재 그가 옳았고, 친구들은 틀렸다.
- 논리가 아닌 실험적인 접근 탓에 전통적인 프로그래밍 방법에 익숙한 수많은 일반 프로그래머들은 신경망 프로그래밍에 대해 불안해한다. 일반 프로그래머들은 선형적이고 예측 가능한 프로그램을 선호한다. 프로그램이 작동한다면, 그 이유 또한 설명할 수 있어야 한다. “지금까지 컴퓨터 과학에서는 프로그래머라면 '결정론적으로Deterministically(인간의 행위를 포함해 세상에서 일어나는 모든 일은 우연이나 선택의 자유에 의한 것이 아닌, 일정한 인과관계의 법칙 에 따라 결정된다는 이론 )’ 생각할 수 있는, 즉 입력과 출력 을 뚜렷하게 연결 지을 수 있는 사람이어야 했습니다.” 워싱턴 대 학교University of Washington의 인공지능 전문가 페드로 도밍고스Pedro Domingos 교수의 말이다. “버그 하나 없이 모든 것이 잘 작동하도록 만들어야 합니다. 쉼표 하나도 엉뚱한 곳에 있으면 안 됩니다. 적어도 프로그래밍에 관해서는 강박장애에 빠지지 않으면 절대 좋은 프로그래머가 될 수 없어요.” 그러나 기계학습에서는 정반대다. 기계학습 프로그래머는 불확실성, 초자연적인 기이함 등을 다룰 수도, 성공할 수도, 실패할 수도 있다. 기계학습 프로그램의 이런 특징에 대해 데이터 과학 및 기계학습 분야 최고 전문가인 내 친구 힐러리 메이슨은 〈하버드 비즈니스 리뷰〉에 기고한 글에서 다음과 같이 썼다. “데이터 과학 과제는 시작하는 시점에 과제의 성공 여부를 전혀 예측할 수 없는 반면, 소프트웨어 공학 과제는 시작하는 시점에 과제의 성공 여부를 알 수 있다.” 기계학습에는 이런 특성에 더해, '블랙박스’ 문제도 있다. 고양이 얼굴인식을 학습한 신경망이 고양이 사진을 인식한다고 가정하자. 정말 훌륭한 결과다! 그러나 신경망을 제작한 프로그래머에게 "이 신경망이 고양이 사진을 어떻게 알아볼 수 있는 거야?” 라고 질문하면, 이들은 자신도 잘 모른다는 듯 어깨를 으쓱할 것이다.
- 딥러닝은 모세가 ~가 될지라”라고 말하면 곧 이루어질 것 같으 놀랍고 가슴 뛰는 가능성만을 보여주는 초창기 모습을 끝내야 한다. 우리는 인공지능 시스템이 데이터만 보고도 스스로 미묘한 내 용을 배울 수 있도록 만들 수 있고, 이것이야말로 마법이다!! 그런데 '마법' 이라는 단어의 사용은 인공지능 기술이 가지고 있 는 문제기도 하다. '마법'이라는 단어를 사용하기 시작하면, 딥러닝 기반의 인공지능 시스템 설계자가 시스템에 있는 여러 문제들을 완전하지 않은 임시 방법으로 해결하고 지나가도록 만든다. 그러나 마법이라는 것은 프로그래머들이 자신들의 인공지능 소프트 웨어가 사람보다 좀 더 객관적이고 이성적인 것처럼 보이게 만드는 시도일 뿐이다. 힐러리 메이슨은 “인공지능은 단순히 수학일 뿐 이에요. 누군가 학습 방법을 설명할 수 없거나 혹은 어떤 학습 데이 터를 사용해 어떻게 학습되었는지 설명할 수 없다면, 그런 인공지 능 소프트웨어는 구매해 사용하면 안 됩니다”라고 말했다. 소프트 웨어 회사들은 고객을 당황스럽게 만들거나 끌어들이기 위해, 잘 이해되지 않는 기술을 들먹이며 실제로 전혀 특별한 것이 아님에도 무언가 특별한 비법이 있는 듯한 분위기를 만든다. 이런 일은 딥러닝 인공지능 기술에서 특히 흔하며, 점점 심해지고 있다. 그러므로 이제 다음 단계에서는 덜 재미있더라도 기술에 대해 좀 더 책임감을 가질 필요가 있다. 어느 정도의 소프트웨어 능력만 갖추고 있어도 텐서플로를 사용해 결과를 낼 수 있는 만큼, 단순히 신경망을 작동시키는 일은 그리 중요하지 않다. 중요한 것은 성과와 책임감이다. 인공지능 시스템에 편향성이 없다는 사실을 증명할 수 있을까? 점점 많은 인공지능 전문가들이 이 문제에 도전하고 있다. 이들은 한 가지 방법으로만 그 문제를 해결할 수는 없다고 생각한다. 모든 사람을 차별 없이 대하는 데이터세트를 얻어 문제를 해결할 수도 있고, 알고리즘의 여러 인자를 조정해 문제를 해결할 수도 있다. 구글이 '고릴라' 태그 문제를 해결한 것처럼, 시스템에서 나온 편향된 결과물을 수정하는 규칙들을 일일이 직접 손으로 넣어 해결할 수도 있다(참고로 구글 포토 Google Photos에서 '고릴라', '침팬지’, 원숭이’ 등을 입력하면 어떤 결과도 나오지 않는다). 좀 더 책임감을 가진다는 것은 중요하고 위험성이 높은 일에는 당분간 딥러닝 기술 사용을 자제하자는 뜻이다. 딥러닝 인공지능 기술은 내가 이 책을 쓰고 있는 이 순간까지도 처음 만든 사람조차 완전히 이해하지 못한 기술이기 때문이다. 이런 현실에 최고의 인공지능 전문가들조차 일부는 상당한 불안감을 느끼며, 딥러닝 인 공지능 기술을 작동시키는 일에 집중하기보다 딥러닝 인공지능 기 술이 어떻게 작동하는지 설명하는 일에 집중해야 한다고 말한다. 결론적으로 뉴턴이 물리학의 작동 원리를 체계화하는 일에 기여했듯이, 인공지능 연구는 딥러닝 기술의 응용 결과를 이론적으로 설명할 수 있어야 한다.
- 여러 연구결과에 따르면 소셜네트워크 서비스 알고리즘은 사람들의 감정을 강하게 건드리 는 게시물에 높은 점수를 주는 듯 보인다. 예를 들어 화끈한 장면 을 찍은 사진이나 마음을 울리는 사진, 감정을 자극하는 제목 등이 높은 점수를 받기 쉽다. 2017년에 페이스북에서 인기가 높았던 게 시물의 제목을 조사한 연구결과에 따르면, will make you(O 하게 만들어 드릴게요)’, are freaking out(깜짝 놀랄만한)’, ‘talking about it(oo에 대해 이야기하면)’과 같이 감성을 건드리거나 호기심을 끄는 문구 등이 많이 사용되었다. 물론 이런 현상이 감동을 주는 가정용 비디오 혹은 어젯밤 본 TV 드라마에 관한 이야기라면 전혀 문제가 없다. 그러나 개인의 문제가 아닌 공공의 문제라면 이야기가 달라진다. 신경질적이고, 갈등을 일으키며, 사람들을 깜짝 놀라게 하는 게시물들이 높은 점수를 받기 때문이다. 물론 어제 오늘의 문제는 아니다. 예를 들어 선정적이며 조작된 스캔들 기사로 신문이 가득 찼었던 미국 건국 초기 이래로, 국가적인 문제를 다루는 대화는 가십기사나 터무니없는 헛소문 등에 파묻히기 일쑤였다. 다만 알고리즘 기반의 순위 선정 시스템이 사용되면서, 이런 고질적인 문제가 더욱 두드러지게 되었다. 예를 들어 인기 있는 유튜버들은 거의 미친 짓에 가깝거나 매우 위험한 행동을 해서 다른 유튜버들과의 경쟁에서 이기려 한다. 어떤 남자는 200만 명에 달하는 구독자 수를 유지해야 한다는 강박관념에 사로잡힌 나머지 자녀들이 고통스러워하는 영상을 찍어 게시했다.
- “빠르게 성장하는 웹 비즈니스의 엔진이라 할 수 있는 광고 기술은 지금까지 살펴본 모든 부정적인 외부효과를 야기하는 핵심 업 모델입니다.” 고쉬가 내게 말했다. “이런 광고 중심의 사업 모델 은 트위터의 피드, 페이스북의 메신저나 뉴스피드처럼 사용자들에 게 매우 자극적이고 중독성 있는 경험을 제공합니다." 소셜네트워크 서비스 회사에서 일했던 사람들은 하나같이 내게 회사 직원 어느 누구도 이런 일이 일어날지 몰랐다고 말했다. 정말 로 그 누구도 나는 오늘 하루 이 사회와 사람들 사이의 신뢰 관계 를 망가뜨리는 시스템을 만들 거야'라고 생각하며 침대에서 일어 나지는 않았을 것이다. 그러나 거대 기술 기업의 주요 성장 요소인 '빠른 규모 확장', '광고를 위한 공짜 서비스', '반강제적인 묶임’ 때 문에 자신도 모르는 사이 그런 일을 한다. "페이스북은 증오를 좋아하지 않겠지만, 증오는 페이스북을 좋 아한답니다.” 바이다나단은 결론지어 말했다. 2000년대 중반으로 돌아가, 당시 소셜네트워크 서비스를 만들 었던 엔지니어들과 서비스 설계자들은 왜 이런 상황을 예상하지 못했을까? 또한 이런 문제를 깨닫고 대응하기까지 왜 이리 오랜 시간이 걸렸을까? 소셜네트워크 서비스 개발자와 이야기해보면, 그들은 이런 문제 들이 부분적으로는 공학 중심의 사고방식에서 비롯된 일종의 부작용이라고 주장한다. 소셜네트워크 서비스를 처음 개발했던 프로그래머와 설계자들은 소프트웨어, 논리, 시스템, 효율, 각개격파식 문제해결 능력 등에서는 분명 뛰어났다. 그러나 그들 대부분은 대학을 갓 졸업한 백인 엔지니어들로 세상이 얼마나 복잡한지, 정치가 무엇인지, 다른 사람들은 어떻게 사는지 등에 관해서는 거의 아는 것이 없었다. 게다가 도널드 럼스펠드Donald Rumsfeld가 지적했듯이, 그들은 자신들이 모른다는 사실조차 알지 못했다. 그들에게 다른 사람들과 새로운 방식으로 이야기할 수 있는 도구를 만드는 것은 흥미진진한 일일 뿐이었다. 서로 좀 더 많이 커뮤니케이션할 수 있게 만드는 일이 어떻게 문제가 될 수 있을까? “매우 한정된 분야에서만 똑똑한 사람들을 많이 봤습니다.” 트위터 개발 초창기에 프로그래머로 일했던 알렉스 페인Asx Payne이 말 했다. 페인의 말에 따르면, 그들은 인간의 여러 가지 속성과는 관련이 없는 분야에서만 똑똑했다. 즉, 수학, 통계학, 프로그래밍, 사업, 회계에는 관심 있지만 인간 본성에 대한 통찰력은 전혀 없었으며, 사람들을 이해하는 데 도움이 될 만한 지적인 능력도 없었다. 기술 전문가이자 인류학자인 내 친구 다나 보이드Danah boyd는 소 셜네트워크 서비스인 마이스페이스MySpace 를 연구하는 프로젝트 에서 일한다. 그녀는 마이스페이스 설립자인 톰 앤더슨Tom Anderson 을 애플스토어에 데리고 가서 10대들이 마이스페이스를 어떻게 사용하는지 보여준 적이 있다. 회사 설립자라도 사용자 개개인이 서 비스를 어떻게 사용하는지, 혹은 서비스를 사용하며 어떤 영향을 받는지 언제나 세세히 알지는 못한다. 엔지니어 관점에서 보면, 소셜네트워크는 자신들이 최적화하고 싶은 그래프 구조의 객체일 뿐이다. 그래서 사용자를 이해하거나, 사용자와 사용자가 무슨 일을 하는지 신경 쓰기는 어렵다. 나는 종종 일부 프로그래머의 세계관 이 경제학자들의 냉정한 세계관과 비슷하다고 생각한다. 경제학자 들의 모델은 경제가 전반적으로 좋다는 사실은 보여줄지 모르겠지 만, 그런 사실이 49세에 회사에서 쫓겨나 다시는 돈을 벌기 어려운 가장에게는 위로가 되지 못한다. 경제학자들과 마찬가지로 모델을 사용해 거대한 시스템을 만든 엔지니어들은 세상을 '전체'로만 볼 뿐, 그 속에 있는 특정한 것들에 대해서는 관심을 기울이지는 않는 다. “기술 사회의 위험 중 하나는 기술을 개발한 사람들이 데이터 모델 전체에만 집착할 뿐, 데이터 모델에 기반을 둔 인간의 특성을 보지 않는다는 것입니다. 현재 데이터 & 소사이어티 Data & Society 라는 싱크탱크를 운영하고 있는 보이드가 말했다.
- 근본부터 구조적으로 바꿔야만 거대 기술기업을 변화시킬 수 있다. 주요 기술 기업들은 언제나 같은 종류의 권력을 누렸고, 같은 문제들을 일으켰다. 그리고 그 뒤에는 '누가 작성했는가?', '누가 자금을 댔는가?', '어떻게 돈을 버는가?' 같은 프로그램을 지배하는 구조적인 힘이 자리하고 있다. 이 힘이 문제의 핵심인 만큼, 문제를 일으키는 소프트웨어를 바꿀 수 있는 유일 한 방법은 그것을 치워버리는 것뿐이다.
- 프로그래밍은 고등 교육을 받은 사람이라면 거의 누구나 어느 정도는 할 줄 알아야 하는 기술로 성장했을 만큼, 이 세상의 주류로 자리 잡아가고 있다. 오늘날 프로그래머’라는 말을 들었을 때 가장 많이 떠오르는 것은 후드티를 입은 저커버그 같은 젊은이다. 프로 그래머라는 직업은 20세기 후반 높은 연봉으로 중산층의 주요 직업으로 자리 잡았던 무역업을 밀어낸 안정적이며 수준 높은 직업 이다. 그리고 이제 프로그래머라는 직업에 새로운 변화가 일어나 고 있다. 사상가이자 기술 기업을 운영하는 친구 아닐 대시의 표현을 빌리자면, 이 새로운 변화는 '노동자 프로그래머'의 출현이다.

 

'IT' 카테고리의 다른 글

디지털의 배신  (0) 2020.10.27
타겟티드  (0) 2020.10.18
AI 시대 내 일의 내일  (0) 2020.07.30
페이스북은 내가 우울증인 걸 알고 있다  (0) 2020.07.09
딥러닝 레볼루션  (0) 2020.06.12
Posted by dalai
,