#1
소프트웨어를 만드는 데 필요한 자질이 다정함과 상상력이라면, 믿으시겠어요? 네, 그래요. 분명 소프트웨어를 만드는 데는 알고리즘을 만들어내는 능력이 제일 우선시 되긴 할 거예요. 일정 수준으로 기본기가 충분하다면 의사소통과 협업하는 능력을 이야기할 수도 있을 거고요. 하지만 저는 그 이상으로 다정함과 상상력의 중요성을 이야기하고 싶어요. 생각보다 꽤 필요하거든요. 다정함도, 그리고 상상력도.
제게 있어 회사 일이란 모니터 한가득 코드를 만지작 거리는 것이 대부분의 시간을 차지하긴 합니다만, 사실 제대로 된 소프트웨어를 만드는 일은요, 네. 모니터 너머 저 어딘가에서 이것을 사용할 사람을 생각하는 일이기도 합니다. 그리고 그것은 그저 주어진 요구사항에 맞춰 기계적으로 코드를 짜는 것보다 훨씬 근본적이고 본질적인 물음이에요. 우리가 만드는 것이 가치 있으려면, 누군가가 우리의 소프트웨어를 씀으로 인해서 문제를 해결하기 위한 도움을 받을 수 있어야 하니까요.
동시에 저는 해야 하니까 해야만 한다는 식으로 문제에 접근하는 것을 피하고 싶어 해요. 제가 코드에 인생의 일부를 할애하는 건 제가 그것으로 다른 누군가를 도울 수 있을 거라고 믿기 때문이죠. 저는 그게 제 방식으로 사회에 기여할 수 있는 방법이라고 생각하고 있어요.
그런데 사실 ‘제대로’ 누군가를 돕는 건 쉽지가 않아요. 코드만으로는 상상할 수 없는 영역이 그 안에 있죠. 일단 제가 도울 사람이 누구인지, 무엇을 하려고 하는지를 온전히 이해해야 해요. 저를 포함한 개발자들은 프로그래밍 측면에서는 전문가지만, 코드를 통해 도우려고 하는 일에는 전문가가 아니기 때문이죠. 그래서 개발자들은 늘 배움을 가지는 게 일상입니다. 우리가 해결하고자 하는 일의 프로세스를 배워야할 때도 있고, 그러한 틀 안에서 움직이는 사람들을 이해해야 될 때도 있어요.
예를 들어 우리가 도우려는 사람이 카페를 운영하는 사람 A, 그리고 그 카페에 와서 주문을 할 사람 B라고 하면 A가 일하는 과정 전반을 공부해야 하고, B가 음료를 주문하고 기다리는 과정을 이해해야만 해요. 게다가 특정 시간대에는 주문하는 사람이 B 하나가 아니라 C, D, E가 있을지도 모르죠. 이렇게 "동시다발적인 주문이 들어올 때 A가 효율적으로 레시피를 조합할 수 있게 하려면 어떻게 해야 할까?"를 고민해봐야 하는 것이 우리들에게 주어지는 숙제입니다.
그래도 카페 음료 주문&관리 어플은 그나마 사정이 나은 편이에요. 우리 개발자들도 일주일에 몇 번쯤은 커피를 주문하는 사람이 되어보기는 하니까요. 한 번도 그 입장이 되어보지 못한 일에 대해 그들이 쓸 방식을 생각하면서 만드는 일은 상상력이 필요해요. 그가 어떤 식으로 우리가 만든 기능을 이용할지 인내심을 가지고 고민해봐야 하거든요. 때로는 고민과 상상력만으로는 충분하지 않아서 직접 관찰하러 가기도 하고, 인터뷰를 요청하기도 합니다.
그런데 아직 아무도 시도해보지 않은 일 같은 경우에는 그야말로 아무것도 장담할 수가 없어요. 그럴 때 우리가 들고 있는 무기는 오로지 상상력뿐입니다. 상상력을 가지고 그들이 소프트웨어를 쓸 때 쉽게 쓰도록 만들어야 부분이 무엇인지, 소프트웨어를 사용할 때 어떤 돌발상황들이 발생할지를 꼼꼼히 생각해보아야 하는 것이죠.
그다음은 주어진 데드라인 안에 지켜낼 수 있는 마감 품질은 어느 정도인지, 요구사항의 복잡성을 어느 정도 수준까지 들어줄 수 있는지의 문제가 됩니다. 네, 맞아요. 이 지점에서 바로 다정함이 필요해요. '일로서만 이 일을 받아들이는 것과 내가 진짜 이 소프트웨어를 쓸 사람을 돕고 싶다는 마음을 가지고 이 일을 바라보는 것'은 완전히 다른 결과를 만들어낸다고 생각하거든요.
그런 마음이 들 때면 저는 우리가 생각한 단순한 케이스들을 복잡한 상황으로 몰아가보곤 합니다. 여러 시나리오 케이스에 따른 사용자의 입장에서 고민을 거듭해 보는 것이죠. 대개의 프로젝트가 접근하는 케이스는 가장 단순한 것부터 시작하지만, 현실 세계에서는 복잡한 케이스도 분명 발생하기 때문에 특히 그런 부분들을 파고들려고 노력해요. 실제로 잠재적 사용자들이 고통받는 부분도 바로 일반적인 상황보다는 그런 복잡한 상황들이니까요.
그 일을 처리할 사람의 입장에 서서 생각해 보기. 다정함이 없다면 관심 있게 바라보기 어려운 부분 아닐까요? 우리 개발자들에겐 코드 몇 개를 바꾸고 데이터베이스의 자료 몇 개만 조작하면 되는 일일 수도 있지만, 그 일의 최전선에 서서 일을 쳐내고 있는 사람 입장에서는 엄청난 차이가 느껴지는 부분일 수도 있거든요. 내가 짠 코드가 누군가의 일을 줄이거나 늘일 수 있다는 것을 꾸준히 의식할 수 있다면, 누구든 다정함을 품고 그를 위해 더 나은 코드를 기꺼이 고민하려 들지도 모르겠습니다. 하지만 최전선에 서본 적이 없어서 의외로 그 부분을 가볍게 보는 이들도 많다고 생각해요. 그래서 좋은 소프트웨어에는 다정함과 상상력이 포함되어 있는 거죠.
#2
사실 다정함과 상상력이 필요한 곳은 소프트웨어를 만드는 것만은 아닐 거예요. 다정함과 상상력이 결부된 성실함이 얼마나 무서운 것인지 우리는 이미 역사를 통해 알고 있잖아요. 저는 “내가 먹고 입고 쓰는 모든 것의 앞뒤에 어떤 존재가 있는지 상상하기를 멈추지 않으려 한다”는 이슬아 작가의 문장을 읽자마자 아우슈비츠 강제 수용소와 요제프 맹겔레가 떠올랐어요.
요제프 맹겔레는 “자신은 단지 주어진 명령을 성실히 이행했을 뿐”이라며 “개인적으로는 아무도 죽이지 않았고, 상해를 입히지 않았다”라고 스스로를 변론했지요. 그가 했다는 말들을 찾아보면 찾아볼수록 기가 차는 느낌이에요. 이게 40여 만 명을 죽음으로 내몬 이가 할 수 있는 말이라고요? 그중 단 한 명에 대해서라도 다정함을 기울일 수 있었다면, 그가 그들의 입장에서 삶이 어떠한 풍경일지 상상해 볼 수 있었다면 결코 일어날 수 없는 참극이라고 생각합니다. 이것이 제가 우리가 사는 세상이 다정함과 상상력으로 가득한 세상이 될 수 있기를 진정으로 바라는 이유이기도 해요.
#3
그런데 저는 다정함과 상상력의 관점에서 다시 한번 소프트웨어를 만드는 일에 대해 생각해 보게 되었어요. 이슬아 작가의 말처럼 우리가 하는 일의 앞과 뒤를 보자고 생각해 본 거죠. 우리가 목표한 과제를 수행하는 관점에서라면 #1에서의 다정함과 상상력만으로 충분할 일이에요. 하지만 특정한 소프트웨어를 탄생시키는 일이 가지는 의의는 거기서 끝나지 않죠. 한마디로 말해 소프트웨어를 만드는 일은 무언가를 ‘자동화하는’ 일이거든요. 그러니까 우리가 하는 일은 원래 있었던 누군가의 일을 대체하는 것이기도 한 거죠.
물론 이러한 자동화가 시대의 흐름상 필요한 일이기는 해요. 요즘 같이 고도로 복잡해진 사회에서는 자동화가 가져다주는 이점이 분명 있거든요. 예를 들어 지하철 개찰구에서는 예전 같았으면 사람이 일일이 검표했을 일을 전산 시스템 하나로 처리하고 있으니 훨씬 빠르고 효율적이죠. 그 왜, 출근길 지하철 풍경 다들 아시잖아요. 그런 생각 한 번쯤은 해보셨을 걸요? 저마다의 목적지를 향해가는 수두룩 빽빽한 사람들의 행렬을 보면서, 이 사람들을 일일이 검표해야 했다면 이동하는데 얼마나 많은 시간이 들까 하는 그런 상상이요. 그런 점에선 자동화가 참 좋긴 좋아요.
그런데 이 자동화에 특이점이 오고 있어요. 예. 저도 알고 있고, 여러분도 아시는 그 AI요. 엄밀하게 따지자면 알고리즘 중 하나에 특별한 이름을 부여한 것에 지나지 않지만, 이것이 가져다줄 파급력은 슬슬 체감되고 있는 지경이에요. AI가 생산성을 폭발적으로 올려준다는 점에선 분명 긍정적인 측면이 있죠. 이제 점점 더 많은 일들을 더 소수의 사람들이 처리할 수 있게 되고 있고요. 하지만 모든 일이 명과 암이 있듯 AI도 좋은 방향으로만 파급력이 있는 건 아니더라고요. 얼마 전 AI 관련으로 할리우드에서 일하는 한국인 컨셉 아티스트의 발표를 들을 일이 있었는데요. 그는 이제 자신의 자리가 사라지는 일이 시간문제가 된 것 같다며, 생성 AI가 가져온 파급력이 얼마나 큰지를 체감하고 있는 현장의 분위기를 전하더군요. 이게 과연 컨셉 아티스트들만의 일일까요?
코딩을 넘어 AI 개발에도 참여하고 있는 요즘 이러한 상황이 피할 수 없는 시대의 흐름인 것을 알면서도, 한 편으로는 특이점을 넘어버린 AI와 함께하게 되었을 때의 상황을 상상하지 않을 수 없게 됐습니다. AI가 인간의 조력자이자 동반자로서 남게 될지, 인간들 다수를 무기력하고 창의성을 상실한 존재로 만드는 원흉이 될지 지금으로서는 알기 어려운 것이 사실이니까요. AI를 설계하고 디자인하는 이들이 대다수의 사람이 처하게 될 상황에 대해 다정함과 상상력을 갖추고 있기를 기대해야 하는 것일까요? 우리가 만드는 AI의 뒤편에는 어떤 미래가 기다리고 있는 것일까요?