책은 당연한 것에 대한 질문을 던지게 한다.

묵직한 질문을 던지는 책이 있습니다. 그 질문은 우리가 미처 생각지 못했던 지점을 강타합니다. <사라진 개발자들>은 제게 그런 묵직한 질문들을 던진 책이었습니다.  책의 부제 '알려지지 않은, 치열했던 여성 에니악 개발자 6인의 이야기'처럼, 최초의 컴퓨터였던 에니악의 여성 개발자들의 삶, 그들의 노력과 공헌을 되돌아 보게 만드는 책입니다. 단순 전기는 아니고 세상의 편견에 맞선 6인의 여성 개발자의 고군분투 이야기입니다.  

 

 

여성 엔지니어???

오랜만에 들어본 에니악이었습니다. 이 책의 저자, 캐시 클라이먼은 우연히 발견한 에니악 흑백사진에서 여성 엔지니어들을 발견합니다.  에니악을 만든 엔지니어들 중 2명의 엔지니어로 보이는 분들의 사진. 그 사진의 인물 추적해서 각자의 인생과 에니악에 얽힌 이야기를 발굴해 냅니다.

 

제가 컴퓨터를 처음 배우던 때가 생각났습니다."최초의 컴퓨터 에커드와 모클리가 만든 에니악, 방을 가득 채울만큼 진공관으로 가득 찬 기계. 탄도 계산에 사용.. 유니박 최초의 상용 컴퓨터...."

 

그때 컴퓨터 경진대회는 이런 내용에 대한 것들도 많이 나왔었네요. 어쨌든 제게 에니악은 에커드와 모클리라는 천재 엔지니어가 만든 기계였습니다. 그 외 컴퓨터를 함께 만든 사람들의 모습을 생각해 보지 못했습니다.

나름  컴퓨터 역사 속에서 유명한 여성 소프트웨어 엔지니어들을 알고 있다고 생각했습니다. 최초의 프로그래머로 알려진 에이다. '버그'라는 용어를 만든 그레이스 포러, 아폴로 계획의 전설 마가렛 해밀턴... 

정말 그랬습니다. 이 책을 읽기 전에는 에니악은 두 사람의 작품처럼 너무 당연시 되어,  "컴퓨터를 만든 여성 엔지니어"가 있을 것이라는 상상을 하지 못했고, 그러다 보니 질문도 떠오르지 않았습니다. 그런데 왜 최초의 컴퓨터인 에니악에 숨겨진(?), 책 제목처럼 사라져버린, 개발자들이 생긴 이유에 대해 한번쯤 고민을 하는 계기가 되었습니다.

 

이 책은 여성 개발자들이 주인공이기에, 남성 위주의 역사 기록에서의 여성의 역할, 특히 공학 분야에서 여성의 역할을 재평가해야 한다는 주장으로 읽히기도 합니다. 하지만 남성과 여성의 구분(이라 쓰고 차별이라 읽는)을 없애는 것 이외에도 여러가지 고민과 질문을 주는 책입니다.

 

전쟁과 문명발달의 아이러니

컴퓨터는 현대 사회에서 없어서는 안될, 인류의 삶을 풍족하게 만들어준 필수 발명품입니다. 하지만 역사적으로는 2차세계대전이라는 참혹한 전쟁의 역사속에서 탄생했다는 것은 참 아이러니합니다. 적의 피해를 극대화하기 위해 더 정확한 사표(firing table)로 포탄의 착륙지점 정밀도를 높이기 위해 만들어진 전자식 장비. 지금은  이것으로 음악도 듣고, 게임도 하고, 영화도 보고/만들고, 문서도 하고, 전세계 사람들과 글자와 영상으로 대화도 나눌 수 있게 합니다.

전쟁이 진행되면서 남자들은 징용되어 전선으로 이동하게 되고, 이로 인해 그동안 능력이 있음에도 불구하고 여자라는 이유로 일을 할 수 없었던 사람들에게 기회가 주어진 것도 역설입니다. 고등수학을 전공했지만 그 능력을 발휘할 기회조차 주어지지 않던 사회에서 전쟁이 만든 기회. 하지만 전쟁이 끝나면서 다시 일자리를 잃게 되는 현실...1940~50년대의 모습이 오늘날에도 비춰지는 것 같아서 씁쓸하기도 합니다.

비극적인 전쟁이 결과론적으로는 편견을 깨는 계기가 되는 역사....묘한 감정이 듭니다.

 

엔지니어, 개발자의 삶

책을 읽는 동안 6명 주인공 중에서 진 제닝스에게 많은 애정이 갔습니다. 다른 분들은 누구에게 애정을 더 느꼈는지 모르겠습니다. 어쨌든, 6명의 삶속에서 개발자란 무엇이고 어떻게 살아가야 할까에 대한 힌트도 얻었습니다.

이 책의 주인공 6인은 세상에 존재하지 않았던 물건을 만나서 서로 도와 가면서 학습하고, 적용하면서 발생한 문제를 해결한느 개념을 발명해 냅니다. 조건문, 반복문, 중단점, 짝 프록그래밍, 병렬처리. 이 모든 것이 첫 컴퓨터를 활용하면서 등장한 개념이라는 것이 놀랍습니다. 처음 보는 기계. 그것도 접근조차 자유롭지 못해서 실물을 보기 전에 회로도로 공부하는 모습. 조를 나눠 유닛별로 학습해서 서로 가르쳐주며 학습하는 모습. 그것들을 조율해주는 회의 문화.

지금 IT업에 종사하는 우리의 모습도 비슷하다는 생각이 들었습니다.

이 책의 원제는 Proving ground입니다. 시험 무대. 세상의 편견을 스스로 시험무대에 올라 증명해야 하는 사람들.  참 힘들 것 같습니다.  하지만 팀을 이루고, 호기심과 열정으로 주어진 문제를 해결하는 모습에서 쾌감이 느껴지기도 합니다.

이 책에서 저는 마음에 드는 프로그래머의 정의를 찾았습니다.

"프로그래머라는 직업이 탄생했다. 문제를 가진 사람과 컴퓨터를 연결해 문제를 해결하도록 돕는 역할을 하는 사람이 등장했다"

 

책을 덮으며...금방 이 책을 다시 읽게 되지는 않을 것 같습니다. 하지만 세상에 지칠 때면 다시 이 책을 펼치고 읽으면서 어떻게 지난한 현실을 돌파할 것인가를 고민하게 될 것 같습니다.

 

 


excerpt from....

 

p.29 젊은 여성들은 한번도 해본 적이 없는 일을 하려는 참이었다. 하지만 지금껏  함께했던 시간을 생각하면 충분히 열정적이고 낙관적인 태도로 임할 수 있었다....가장 중요한 것은 함께 한다는 것이었다. (p.29-30)

p.33 케이에게 수학은 어렵지 않았다. "제게 수학은 머리 쓰는 일이 아니었어요. 수학은 그냥 풀 수 있는 퍼즐이고, 항상 답이 있죠." 

p.36  전쟁으로 인한 경제 동원은 전통적인 남성과 여성 업무의 경계를 많이 허물었다.

p.102 컴퓨터들이 유럽을 위해 만들었던 사표는 아프리카에서 사용할 수 없었다. 땅이 부드러운 아프리카에서는 포가 다르게 작동하기 때문이었다. 또한 적도 인근에 위치한 사막의 대기 온도와 밀도는 사표를 일반적으로 사용한 값, 즉 미국의 일반적인 조건 기준으로 계산한 값과 매우 달랐다.. 

p.141 애니악 팀 회의... 누구나 아이디어를 말하고 공유할 수 있는 협력적인 방식으로 회의를 진행했다..  

p.167 루스벨트 대통령이 1933년부터 1944년까지 저녁시간에 미국 국민들과 함께  나눈  노변담화는 라디오 기술 사용에 혁명을 일으키고 국민들의 불안을 잠재웠다... 일자리, 경제위기부터 전쟁에 이르기까지 그날그날 당면한 어려운 문제들을 차분하고 편안한 어조로 설명했다..... 그토록 그들의 삶에 친밀한 유대감을 형성한 대통령은 없었다. 

 p.202 참 이상한 이름이 많았다. 이들은 짝을 지어 유닛을 나눠서 공부한 후 서로 가르쳐 주기로 했다. 분할정복방식이었다. -> 새롭고 시험적인 기계를 인내심과 공동 작업으로 해결.
p.216 종이로 하는 작업의 핵심은 한번에 한단계씩 내려가는 것이다. 페달링 시트
p.232 존은 남녀 구분없이 상대의 말을 주의깊게 들었고 상대가 하고자 하는 바를 잘 따라주었다. --> 팀의 탄생
p.237 우리는 서로가 하는 일에서 결점을 찾으려 노력했어요. 상대가 결점을 찾았을때는 화를 내기 보다는 기뻐했죠. 프로그램에 오류가 남지 않는다는 뜻이었으니까요-> 짝 프로그래밍...
p.270 짜릿한 도취감과 깊은 우울감 -> 소수의 남성 위주의 발표회 직후...
p.289 이 과정에서 프로그래머라는 직업이 탄생했다. 문제를 가진 사람과 컴퓨터를 연결해 문제를 해결하도록 돕는 역할을 하는 사람이 등장한 것이다.
p.313 지원자에게 지원자격을 갖췄는지 묻기보다 업무에 대해 그녀에게 질문을 던지는 지원자를 선택했다. 에너지, 호기심, 모험심을 갖춘 사람들을 선발했다.
p.316 모두가 동등한 자격으로 참여하는 회의..폰 노이만이 새로운 명령을 제안했는데 진이 안된다고 거절....실현 가능성이 없는 아이디어라는 것을 진은 알았기 때문.... 기여한게 하나도 없던 허먼이 마치 신성모독적 발언을 한것처럼 진을 째려봄... 폰 노이만은 본인의 실수를 깨달았기에 그저 웃고 자기 의견을 바로 잡았다.

 

    "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

반응형

 

ChatGPT 대리를 과장으로 승진시키기

 

1/ 2022년 11월 조용히(?) 오픈한 ChatGPT. 처음에는 자연어로 컴퓨터와 대화할 수 있는 AI로만 인식하고, 개발업무에 활용해 보았다. 이것저것 자료 조사도 시켜보고, 코드 작성도 시켜보고, 기존 코드 개선 작업도 시켜보았다. 놀라움. 그 뒤로 주변 동료들에게 'ChatGPT 써보세요. 괜찮은 대리급 개발자 2명을 데리고 함께 일하는 느낌이에요'라고 홍보하고 다녔다. 그 뒤 서점에서 출간된 ChatGPT 서적과 ChatGPT활용 서적(직장인 활용법 서적)들을 읽어 보았는데, 나름 도움이 되었지만, 활용예들이 일반적이었다.

 

2/ 지난 4월 우연히 페북 친구의 친구 네트워크를 통해 MS에 근무하시는 양파님이 ChatGPT를 이용한 영어공부 방법에 대한 글을 보게 되었다. 양파님이 페북에서만 활동하시는 줄 알고, 트위터에 올린 적이 있었는데..무려 4600번의 리트윗, 5600번의 좋아요, 5600번의 북마크가 이루어졌다.

3/ 양파님은 MS에서 AI관련 데이터 사이언티스트로 근무하시는 것으로 알고 있다. 앞에서 소개한 영어단어 프롬프트로 내가 ChatGPT를 사용하는 방식이 많이 바뀌었는데, 이번에 개발자를 위한 ChatGPT 책을 낸다고 해서 기다렸다. 운좋게도 출판사로부터 책을 제공받아 리뷰할 수 있게 되었다.

 

4/ 이 책은 개발자의, 개발자를 위한, 개발자에 의한 GPT 활용서이다. 챗 GPT가 동작하는 개념을 소개한 다음, 일상 작업에서 실제 개발 업무 활용까지 깊이를 더해가면서 ChatGPT를 어떻게 활용할 것인가가 주요 내용이다. 물론 5장에서 ChatGPT API를 활용하여 AI 어플리케이션을 개발하는 방법도 소개하고 있지만, 양파님이 집중해서 소개하고자 하는 부분은 개발자들의 일상 업무에 ChatGPT를 어떻게 활용할 수 있는지(이력서 작성하기, 코드 작성하기, 리뷰하기), 프롬프트를 어떤 식으로 작성하면 개발에 도움이 되는지, 개발자 스킬업에 AI를 활용할 수는 없는지(LeetCode 같이 풀기, 인터뷰 연습하기..) 등이다. AI나 ChatGPT의 기술적이고 수학적인 동작원리가 궁금한 개발자라면 아쉽지만 이 책은 그 목적으로 쓰여진 책은 아닌 것 같다.

 

5/ ChatGPT, 쓰면 쓸수록 괜찮은 도구로, 일상 개발 업무에 매우 유용하다. 자연어라는 매력적인 인터페이스 덕분에 손쉽게,별도 설명서 없이 바로 이용할 수 있다. 하지만 그 이면에 숨어있는 ChatGPT가 답을 구하는 방식이라든지, 효과적인 프롬프트 작성법을 익히면 활용도, 효과가 극적으로 상승한다.  따라서 이 책은 일종의 개발자 CahtGPT 활용 비급이다. 처음 ChatGPT를 접했을 때 대리 2명 역할을 수행한다고 했는데, 책에 소개된 프롬프트 기법이나 플러그인, 활용 범위 등을 익힌 후 '아 이제는 과장으로 승진시켜도 되겠다'라는 생각을 해보았다.

 

6/ ChatGPT 말고도 개발자로 얻을 수 있는 부분들이 많다. 나는 특히 MS의 개발 프로세스가 재미있었는데, 25쪽과 26쪽에 걸쳐 내부에서 하나의 기능이 기획되어 사용자에게 배포되는 전체 과정을 잘 소개하고 있다. MS에 근무하는 개발자분은 이런식으로 업무를 진행하고, 저렇게 AI를 활용하는구나하는 점은 부록으로 느낄 수 있다. 에필로그도 좋았다. 시류에 편승하기 보다는 롱런하는 개발자의 마인드셋을 지켜볼 수 있었다.  

 

7/ 몇줄로 이 책의 느낌을 정리하자면.

- AI를 제대로 활용하기 위해 개발자라면 한번쯤은 읽어야 하는 책

- 개발자의, 개발자에 의한, 개발자를 위한 ChatGPT 활용서

다만 아쉬운 점은 ChatGPT의 프롬프트와 응답을 모두 그림(스크린샷)으로 인쇄되었는데, 본문 글꼴보다 약간 작아서, 노안이 온 나에게는 조금 불편했다. 차라리 텍스트로 편집해 주었으면 하는 약간의 아쉬움이 들었다.

 

*    "한빛미디어 <나는 리뷰어다> 활동을 위해서 책을 제공받아 작성된 서평입니다."

 

 

 

양파님 책에서 뽑은 글귀.

 

"콘텐츠를 AI로 쉽게 만들 어 낼 수 있다고 해도 결국 팔리는 것은 사람의 의도하에 만들어진 재미있는 내용이지, 실험적으로 이렇게 저렇게 만들어낸 짧은 동영상은 아닙니다."

구글 검색의 경우 키워드를 미리 알고 있는 분들이라면 문제 없이 쓰겠지만..... 챗GPT에게 어떤 작업인지 설명하고 그 작업을 어떻게 해야 하는지 물어보면 답변 내용은 틀릴 수 있어도 더 정확하게 검색할 수 있는 만큼의 컨택스트와 힌트는 얻어낼 수 있습니다.(p.107)

자신이 이미 가지고 있는 전문성에서 어떤식으로 LLM을 이용해야 효율성을 올릴 수 있는지, 사용자의의도를 더 쉽게 파악하고 UI의 복잡성을 줄일 수 있는지, 지겹고 반복적인 업무를 쉽게 처리할 수 있는지 시나리오를 찾을 수 있다면, LLM 사용방법을 배우는 것은 그리 어렵지 않습니다.(p.256)

 

 

 

이 책을 읽고 나면 이 프롬프트의 의미가 이해된다!

 

 

 

반응형

+ Recent posts