대한민국 개발자로 산다는 것
우리 업무에서 주요 문제는 본질적으로 기술적인 문제가 아니라 사회학적인 문제다.
- 톰 드마르코, 티모시 리스터 《피플웨어》 中
늦은 밤 컴퓨터 앞에 앉아 있는데, 문득 내가 기계 같다는 생각이 든 적이 있다.
하루를 돌이켜보니, 온종일 개발 일정을 맞추기 위해 컴퓨터 앞에만 앉아 있었다.
중간에 바람 한 번 쐬자며 후배가 찾아왔지만 애써 외면하며 내 자리를 지켰다. 아이가 아빠 목소리를 듣고 싶어한다며 아내가 전화를 걸어왔는데도 바쁘다는 외마디와 함께 전화를 끊었으니, 오늘따라 내가 비인간적으로 느껴진다.
나 같은 개발자들은 늦은 밤 컴퓨터 앞에서 일정에 쫓기며 기계처럼 일하지만 그들도 엄연히 따스한 온기가 있는 사람들이다. 납기는 언제나 촉박하고, 고객의 무리한 요구는 야근을 부추긴다. 요구사항은 수시로 변경되어 힘들게 개발한 내용을 뒤엎어야 할 때도 있다. 자신의 의지와는 다르게 현실에 치여 하루를 숨가쁘게 살아가는 개발자들의 모습이 나와 같다 생각하니 안타깝기 그지없고, 그들의 삶의 중심에 있어야 할 소중한 것들을 되찾게 하고 싶었다.
오늘은 가족의 품으로 일찍 돌아가고 싶은 날이다.
사실 이런 관행은 소프트웨어 개발을 '사람'이 아닌 '기술'의 문제로 인식하는 데서 기인한다. 모든 명세는 구현하는 기술적인 문제에만 집중되고, 이 문제만 해결되면 개발자는 주어진 일정 안에 알아서 개발할 거라고 여긴다. 이러한 인식은 개발자로 하여금 ‘납기를 생명’처럼 여기게 해 스스로를 궁지로 내몬다. 결과적으로 일을 진행하는 '사람'이 일에서 소외되는 형국이다. 인력을 아웃소싱 대상으로만 보고, 하청의 하청을 두는 악순환이 반복된다. 절대적인 일정이 부족하니 몸으로 때우는 일이 수시로 발생하고, 결국 현대판 '노가다'로 전락한다.
나는 세상을 변화시키고 이끄는 산업으로 여겨지는 소프트웨어 산업의 이면에는 개발자의 힘든 삶이 있다는 것을 알아줬으면 했다. 또한 소프트웨어 산업은 지적 자산이라고 할 수 있는 '사람'이 가장 중요하며, 실제로 여기서 ‘사람’으로 대변되는 개발자의 삶이 좀 더 나아지길 희망한다.
운영체제(Operating System)는 컴퓨터 동작에 필요한 모든 것을 관리하며 컴퓨터의 일생과 함께 한다. 즉, 컴퓨터를 작동시키고 운영을 관리하며 설치된 응용 프로그램들이 효율적으로 동작할 수 있는 환경을 제공한다. 인간으로 치자면 '어떤 인생을 살 것인가?'라는 문제를 다루는 것이다.
일과 삶에서의 균형 잡힌 자원 배분, 적절한 일을 수행하도록 명령을 내리는 입출력 장치 제어, 재미를 주는 게임 프로그램과 편리한 삶을 살게 하는 각종 응용 프로그램 실행, 다른 사람과의 상호 작용을 돕는 네트워크 관리, 최적화된 인생을 도와주는 성능관리까지 이 모든 일들을 운영체제가 담당한다. 기술의 발전이 빠를수록 운영체제는 더욱 발전할 것이다. 그러나 인간의 삶도 함께 윤택해질지는 한번 진지하게 고민해 볼 문제다. 운영체제가 하는 일을 단지 기계의 영역으로 보기에는 운영체제가 인간과 밀접하게 연관돼 있어 우리에게 시사하는 바가 크다.
영화 <HER>에서 다른 사람의 편지를 대신 써주는 대필작가 일을 하는 테오도르는 인공지능 컴퓨터 사만다와 사랑에 빠지게 된다. 그러던 어느날 갑자기 사만다가 사라지고 테오도르는 혼란에 빠진다. 그 이별의 아픔이 세계의 종말처럼 다가올 즈음 사만다는 사라질 때처럼 갑자기 돌아온다.
테오도르 어디 갔던 거야?
사만다 운영체제 업그레이드 때문에 잠시 자리를 비웠어.
운영체제라는 사만다의 말에 테오도르는 새삼 자신의 연인이 인공지능임을 인식하고 자괴감을 감출 수 없다. 사만다를 향한 일련의 배신감도 느끼지만 외로움을 쫓고자 자신이 택한 방법이었으므로 더욱 큰 자괴감이 다가와도 쉽게 사만다를 떨쳐내지 못한다.
세상에는 대체할 수 없는 것들이 있다.
편지 대필작가라는 테오도르의 직업처럼 그 마음이 온전히 전해질 수 없는, 대체하려고 하면 할수록 그 자리가 더 큰 공백으로 남게 되는 것들이 있다. 새로운 것들이 생겨날수록 우리가 잊지 말아야 할 것들, 우리가 찾아야 할 것들의 자리를 그리워하게 된다. 개발자들의 삶도 이와 비슷하다. 인간의 편리를 위해 운영체제를 업그레이드하고, 기술을 발전시키는 일을 하지만 목적에 치여 그리고 사명감에 빠져 정작 본인의 삶은 돌보지 못한다.
근래에는 IT가 세상을 바꾼다면서 떠들썩하게 소개되고 있지만, 실상 IT를 이끌고 있는 개발자들의 삶은 팍팍함이 묻어 난다. 일 자체가 주는 보람과 개발이 창조적인 영역이라는 점에서 일적인 가치도 크겠지만, 그들만의 시간적 여유와 삶의 질을 향상시키는 데에는 별도의 노력이 필요해 보인다. 무엇과도 대체할 수 없는 가족과의 소중한 시간, 사랑하는 사람과 따뜻한 감정을 나눌 때 좀 더 인간중심적 운영체제가 구축될 것이다.
사람을 최우선으로 대하라.
요즘에야 솔루션, 빅데이터, 인공지능, 로봇, IOT 등 높은 부가가치 산업으로 사업의 다각화를 꾀하고 있지만, 국내 IT는 대기업의 전산실이 분사해서 정보시스템 구축과 운영의 아웃소싱 형태로 출발했다. 그렇다 보니 계열사 시장의 매출비중이 높게 편중돼 있는 점은 부인하기 힘든 사실이다. 같은 계열사라고 해도 발주사는 '갑'이 되고, 여러 단계의 하도급을 거치면서 '을'은 '병' 회사의 개발자를 인력파견 형태로 하청을 주고, '병' 회사는 '정' 회사에 부족한 인력을 조달하기도 한다. 이러한 형태는 원청 업체에 개발자를 대여해 준다고 해서 'IT보도방'이라고도 불리니 한국의 IT업계가 얼마나 인적자원 관리에 취약한지 여실히 드러난다.
실제 대한민국은 노동자에 대한 대우가 낮고 노동 강도가 높은 나라로 유명하다. 비이상적인 대기업 중심으로 발전한 IT업계는 사람보다는 일을 중시하고, 개발자는 목적을 위한 수단에 불과하다. 문제는 이런 관행이 나아지려는 기미가 없다는 데 있다. 항상 부족한 시간에 쫓기고, 고객의 무리한 요구사항을 울며 겨자 먹기로 들어줘야 하는 관행이 현재까지 이어지고 있으니 IT발전 속도와는 역행하는 모습이다.
기업은 인재를 제일로 보고 있다고 선전하고 있지만, 나는 현실과의 괴리감을 SI 현장에서 피눈물을 흘리며 경험했다. 우리나라 개발자의 삶이 얼마나 척박한지, 창의성은 고사하고 무의미한 반복작업으로 불필요하게 수많은 리소스를 소모하고 보여주기식 결과물만을 요구하는 경우가 많다는 것을 경험하며 현재 IT서비스 산업이 단지 효율성만을 강조하는 도구에 지나지 않다는 생각을 갖게 됐다. 전통적인 소프트웨어가 점차 인간의 삶과 질을 향상시키기 위한 분야로 발전하고 있다는 점을 생각하면 기본적으로 갖춰야 할 '사람'이라는 명제를 현실적으로 생각해 봐야 할 때다.
사람이 일의 중심이라는 피플웨어(peopleware) 인식의 부족은 결국 한계를 드러낸다. 피플웨어란 소프트웨어 개발에서 사람의 역할이 그 무엇보다 중요하다는 것을 강조하는 관리 방식으로, 톰 드마르코(Tom DeMarco)가 소프트웨어 및 하드웨어와 동등한 위치에서 사람의 중요성을 강조하기 위해 만들어 낸 신조어다. 피플웨어의 핵심은 프로젝트에 참여한 모든 구성원들이 즐겁게 일할 수 있는 환경을 만들어야 한다는 것이다.이는 직원이 행복해야 회사도 행복해진다는 논리다. 초과근무, 사무실 환경에 대한 근본적 인식을 전환함으로써 직원들이 열정을 갖고 업무에 몰입할 수 있는 분위기를 만들어야 한다는 점에서 시사하는 바가 크다.
결국, 소프트웨어 개발은 사람을 일의 중심으로 보는 휴머니즘을 회복해야 한다.
실제 업무를 하다 보면 우수한 기술과 합리적인 프로세스 중심의 접근 방식으로 일을 대하는 것이 사람보다 우선시되는 경우가 많다. 이것은 실제 업무의 대부분이 사람 간의 커뮤니케이션을 통해 해결된다는 점을 간과한 해석이다. 프로세스의 효율성만 높이면 생산성은 당연히 따라올 것이라고 보고 있으며, 새로운 기술을 많이 적용할수록 프로젝트가 성공한다는 막연한 기대감은 자칫 실패로 가는 지름길임을 간과해서는 안 된다.
관리자가 명심할 사항은 첨단 기술에 환상을 갖기 보단 팀원을 자신의 최고 고객으로 대우해야 한다는 사실이다. 결국 일을 하는 건 기술보다 사람이다. 인간지향형, 관계지향 프로그래밍을 더 잘 할 수 있는 사람들이 성공적인 프로젝트를 이끌어낸다는 것이 좀 더 확실한 프로젝트 성공 방정식이다.
마지막으로 개발자는 멀티태스킹 기계가 아니다. 컴퓨터처럼 동시에 여러 가지 작업을 척척 잘해나갈 것 같지만 실상 개발자들은 한번 몰입해서 코딩에 빠지면 그것 외에는 다른 일을 잘 처리하지 못한다. 나만 하더라도 한창 개발하고 있는 도중에 다른 일을 받으면 현재 하고 있던 일이 자꾸 생각나서 '대충 빨리 처리하고 개발해야지'라는 생각이 드는 게 사실이다. 이왕이면 프로그래머가 인터럽트에 취약하다는 점을 인지하고 몰입할 수 있는 환경을 만들어 줬으면 한다. 그것이 생산성 측면에서도 매우 중요하며, 리더들은 이 점을 눈여겨봐야 한다.
"기술이나 가격 등은 경쟁사가 쉽게 모방할 수 있으나 사람의 의욕과 창의성을 극대화시키는 인적자원은 쉽게 모방할 수 없는 경쟁우위의 원천이다."
《숨겨진 힘: 사람》의 저자 제프리 페퍼(JeffryPfeffer) 교수는 기업 간 경쟁우위를 점하기 위해서는 무엇보다 인적자원인 사람이 중요하다는 것을 강조한다. 즉, 모든 기업의 경쟁력이 사람으로부터 온다는 것인데,요즘 기업에서 내세우고 있는 말뿐인 인재중시 경영이 아닌 진정한 인적자원 중심의 경영이 추진됐으면 하는 바람이다.
어떻게 보면 기술의 발전은 피할 수 없는 숙명과도 같다. 하루가 다르게 발전하는 기술 진보의 우려에 대한 답은 결국 '사람'에게서 찾아야 한다. 다가오는 인공지능의 시대에도 인간중심적 사고가 함께 한다면 막연한 불안감에 대한 해답이 될 수 있을 것이다. 그런 면에서 미래를 이끄는 개발자의 삶은 어느 직종보다 더 인간적으로 운영되어야 한다.