'클라이브톰슨'에 해당되는 글 1

  1. 2020.04.20 [경제] 은밀한 설계자들

[경제] 은밀한 설계자들

2020. 4. 20. 14:35 | Posted by 꿈꾸는코난

< 은밀한 설계자들 > | 클라이브 톰슨 지음 | 김의석 옮김 | 한빛비즈


디지털 시대에 어울리는 창의적 사고, 일명 컴퓨팅적 사고를 기르기 위한 노력이 여러 방식으로 시도되고 있다. 그 중심에는 코딩 교육이 있다. 주변에서 일어나는 자연 현상을 알려주기 위해 과학을 가르치듯, 매일 사용하는 인터넷과 스마트폰, 컴퓨터 등의 원리를 가르치기 위해 코딩 교육을 하는 것이다. 하지만 보다 근본적인 이유는 코딩 교육을 통해 논리적인 사고와 창의적인 생각을 가질 수 있도록 유도하는 것이라고 본다.



그럼 프로그래머란 어떤 사람인가? 사전적인 의미로는 컴퓨터 프그램의 논리나 알고리즘을 설계하고 프로그래밍 언어로 작성하여 테스트하는 사람을 지칭하는 것이다. 여기서 핵심적인 키워드는 프로그래밍 언어, 논리, 작성으로 볼 수 있다. 즉 컴퓨터가 이해할 수 있는 언어(프로그래밍 언어)로 수학적인 증명과정과 유사하게 단계적으로(논리) 설명(작성)하는 사람으로 볼 수 있다. 즉 컴퓨터는 사람과 같이 유추하거나 연관관계를 따져서 판단할 수 없기 때문에 논리적으로 잘 정의된 절차에 따라 입력을 해야 한다. 그러면 컴퓨터는 그 절차를 하나씩 실행하면서 사용자가 원하는 결과를 보여주는 것이다.


이 책은 이러한 프로그래머에 대한 이야기이다. 하지만 다른 면에서 보면 프로그램의 역사로 볼 수도 있다. 프로그램을 개발하는 사람은 프로그래머이지만 사용자가 사용하는 실체는 프로그램이기 때문에 그 역사는 비슷한 것 같다. 우리 모두는 어떤 식으로든 프로그래머가 개발한 프로그램을 사용한다. 매일 사용하는 휴대폰도 모두 프로그램으로 되어 있고, 컴퓨터도 모두 프로그램으로 되어 있다. 자동차도 마찬가지이다. 자동차는 수많은 하드웨어적인 부품으로 구성되어 있지만 또한 많은 프로그램을 사용하고 있다. 특히 테슬라같은 자동차는 차라기 보다는 컴퓨터에 가까운 자동차이다. 이렇게 의식하든 의식하지 않든 우리는 모두 프로그래머가 만든 프로그램을 사용하고 있다.



영화나 드라마에서 보는 프로그래머는 대부분 괴짜스러운 분위기이다. 하루종일 자신이 방에서 벗어나지 않으면서 지저분한 공간에서 지저분한 복장으로 모니터만 응시하는 모습이다. 프로그래머는 일반인들이 생각하는 대로 다른 부류의 사람들과는 다른 조금은 자유분방한 모습인 것은 사실이다.


프로그래머는 지구상에 잘 드러나지 않으면서도 가장 영향력이 있는 사람들이다. 우리 모두 소프트웨어로 이루어진 세상에 살고 있는 만큼 프로그래머는 세상을 만든 건축가라 할 수 있다. 처음에는 반복적인 일이 싫어서 소프트웨어를 사용하여 반복적인 작업을 대신하도록 했다면, 점점 세상에 유용하고 영향을 미칠 수 있는 소프트웨어로 개선이 되어 가는 것을 알 수 있다(페이스북이 대표적인 예가 될 것 같다).


현재 프로그래머라고 하면 대부분 남성를 생각한다. 물론 여성도 있지만 약간 예외적인 경우로 많이 생각한다. 하지만 초반에는 대부분의 프로그래머가 여성이었다. 초창기에는 남성은 하드웨어적인 부분을 중시해서 소프트웨어는 남자들의 영역이 아니라고 생각해서 그러한 일들을 여성들이 처리한 것이다. 그래서 세계 최초의 프로그래머도 여성이며, 그 여성의 이름을 따서 만든 프로그래밍 언어도 존재한다(Ada). 점점 시간이 지남에 따라 소프트웨어의 중요도가 높아지면서 그 자리를 남성들이 더 많이 차지하게 되었다. 또한 어려서부터 컴퓨터를 접할 기회가 여성보다는 남성이 많기 때문에 그러한 불균형은 더 커지게 되는 악순환이 반복되는 것을 알 수 있다.


이 책은 상당히 다양한 범위에 대해 설명하고 있다. 각 시대에 중요한 역할을 프로그래머에 대한 개인적인 설명뿐만 아니라 동시대의 소프트웨어 및 기술에 대해서도 상세하게 설명하고 있다. 특히 특정 부분에 대해서는 그 분야를 제대로 알지 못하면 이해하기 힘든 설명도 중간 중간 나타난다(예를 들어 보안에 관련된 용어 및 특성은 이 분야를 알지 못하면 개념적으로 이해하기 힘들 것 같다).


하지만 또 다른 시사점을 던져주는 것은 생각해 봐야할 주제인 것 같다. 머싱러닝 기술을 이용한 다양한 소프트웨어는 인간의 감정 개입을 배제한 객관성을 보장할 수 있지만 또 다른 측면에서는 잘못된 기계 학습을 통한 잘못된 결과를 야기할 수 있다(인종 차별적 학습 등). 또한 군사적 또는 비도덕적으로 활용될 여지가 있는 소프트웨어 기술에 대해 프로그래머가 어떤 도덕적 판단을 해야하는지도 깊은 고민이 필요한 부분이 아닌가 생각한다.


분명 소프트웨어를 개발하는 프로그래머는 다른 산업 영역에 비해서는 진입 장벽이 낮은 것은 사실이다. 그리고 개인적인 취향에 따라 다양한 시도를 손쉽게 할 수 있고, 문제가 발생하면 처음부터 새롭게 하더라도 별 문제가 되지 않는다. 하지만 기술적인 깊이가 있는 소프트웨어를 개발하는 프로그래머는 관련된 지식과 기술에 대해 깊이있는 이해가 필요하며, 일부 도덕적인 판단까지 고려해야 하는 복잡한 상황에 놓이게 된다.


프로그래머에 대한 이해와 다양한 소프트웨어 및 기술에 대해 관심이 있다면 꼭 한번 읽어볼만한 책이라고 생각된다. 프로그래머의 모든 것이라고 표현해도 무방할 것 같다.



이전 1 다음