개발자는 지식근로자인가?
나는 2000년대초 부터 시작된 IT산업의 급성장 열풍 덕분에 생산된 저임금 근로자 중 한명이다.
대학등록금 내기도 빠듯한 살림에 더 이상 학업에 미련을 두는것이 무의미하다고 생각했다.
그래서 국비지원 개발자 교육을 수료하고 일찌감치 취업전선에 뛰어들었다.
이런 이야기를 하면 가끔 비아냥 거리는 사람이 있다.
"공부를 더 열심히 해서 장학금을 받으면 되지 않았냐.
가난해서 대학교를 못나온것은 자랑이 아니다."
물론 맞는말이다. 가난함에도 불구하고 노력해서 훌륭한 사람이 된 위인들이 수 없이 많다.
하지만 대부분의 보통사람들은 장학금을 받지 못하고, 등록금을 줘가면서 대학을 다닌다.
내 경우는 부모님의 수입이 일정치 않아 하루하루 생계를 걱정해야할 처지에 무리해서 보태주는 등록금이었다.
그렇다고 아르바이트를 해가면서 학업과 생계를 병행할 수 있는 상황도 아니었다.
침몰해가는 난파선처럼 가라앉아가는 집안이 싫었다.
그래서 당장의 안정적인 삶을 위해서 미래를 위한 투자를 버렸다.
당시의 내게 졸업은 너무나 멀고도 험한 가시밭길이었고, 그저 당장의 생활이 안정되기를 바랬다.
부모님과 사회를 원망하기 보다는 당장 내가 할 수 있는 일을 하고자 했다.
그렇게 지방 중소기업에서 개발자 생활을 시작했고, 부족한것을 채워가는 감사함으로 세월을 보냈다.
청소, 인테리어 등 현장에서 육체노동으로 생계를 이어오던 부모님의 소원은 아들이 냉난방 잘 되는 사무실에서 편안하게 일하는 직업을 얻는것이었다.
대학을 나오지는 않았지만 어떤 의미로는 성공한 삶을 살게 된것이다.
사무실에서 일한다 뿐이지 그 실상은 육체노동과 다르지 않지만 말이다.
많은 사람들은 성공한 인생을 살기를 꿈꾼다.
성공의 척도는 개인마다 다르겠지만 보편적으로 경제적으로 여유롭고, 자신의 분야에서 인정받는 삶을 원한다.
단순히 '돈이 많았으면 좋겠다' 보다는 복잡한 욕망이다.
대체로 이런 성공적인 삶을 사는 롤모델들은 대체할 수 없는 품격이 있다.
품격이라는 단어는 마케팅에서 문학에 이르기 까지 다양한 의미로 쓰이는것 같다. 사물이나 어떠한 대상에 붙이면 그것의 '질(Quality)이 높다', '격(Grade)이 높다'라는 의미로 사용한다. 품격 있는 아파트, 신사의 품격, 말의 품격 등이다.
인간적으로 훌륭한 삶을 사는 사람들에게도 '품격이 있다'라고 한다.
품격 있는 삶이란 인간적으로 충만한 자기 삶을 사는 것과 더불어 타인의 삶도 존중하고 긍정하는 삶인것이다.
사회적으로 성공하기 위해서는 이러한 품격을 지녀야 하는것으로 보이기도 한다.
그렇다면 개발자에게 있어 품격이라는 말은 무슨 의미가 있을까?
우리나라에서 소프트웨어 개발 사업이 한창 꽃피던 2000년대 즈음, 역설적이게도 소프트웨어 개발업은 이미 3D업종(Dirty, Dangerous, Difficult)으로 분류되어 있었다.
제조업을 통해 눈부신 발전을 이뤄낸 대한민국이지만, 모든 산업에서 기술 생산직에 대한 존중이 결여되어 있었으며 소프트웨어 개발업에 종사하는 대부분의 전문가들의 대우도 크게 다르지 않았다.
모든 산업이 같은 업종을 놓고 봤을때 상위 소득으로 올라갈수록 사람수가 적어지는 피라미드 구조다.
제조업은 다른 지식산업에 비해 그 파이 자체가 작다. IT가 태동하기전 섬유, 자동차, 조선에서도 마찬가지였다.
IT 산업의 피라미드 꼭대기에서도 미래를 볼 수 없었던 꿈나무들은 점차 IT 관련 학과를 지원하지 않았다.
AI 산업이 전세계적으로 주목받고, 코로나19로 비대면 수요가 폭증하기 전까지 이런 분위기는 계속 이어졌다.
물론 당시에도 이미 대기업이었던 네이버나 여타 대기업 계열사에 소속된 개발자는 달랐을것이다.
그러나 소프트웨어 산업을 지탱하는 대부분의 구성원들은 그저 코드를 생산하는 기계일뿐, 전문가로서 미래를 그리지 못했다.
오죽하면 '퇴직금으로 치킨집을 차리는게 유일한 성공'이라는 자조섞인 농담까지 하게 됐을까?
피터 드러커는 1959년에 지식근로자(Knowledge Worker)라는 개념을 제시했다.
이는 당시 산업의 주류였던 육체노동이 아닌 지식과 정보를 바탕으로 일하는 사람을 정의한다.
지식근로자는 자신의 지식을 기반으로한 문제해결능력으로 창조적이고 유연한 가치를 창출한다.
이는 기존의 근로자와는 달리 스스로가 '경영자이자 근로자'라는 새로운 역할을 수행하는것을 뜻한다.
지식경영은 그 자체가 작은 경영에 해당하는 활동이면서 동시에 전문적인 근로를 제공하는것이기 때문이다.
이러한 능력은 다양한 전문분야의 지식과 기술을 더해 개인마다 고유한 형태로 발현된다.
어떤 기술이나 지식 하나를 익혔다고 해서 지식근로자로서 경쟁력을 갖추었다고 보기 어려운 이유다.
두 분류의 근로자를 비교했을때 가장 큰 차이는 일의 성격과 업무 방식에 있다.
육체노동자가 제공하는 가치는 주로 체력에 기반한 노동력이 필요하며, 자신의 역량 보다는 공장설비 등 물리적 노동환경에 의존한다.
반면에 지식근로자는 자기주도적으로 습득한 정보와 지식을 통해 창의적인 문제해결을 통해 가치를 생산하므로 환경의 영향이 비교적 적다고 정의할 수 있다.
지식근로자와 육체노동자, 두 분류에서 개념적으로 개발자와 가까운것은 지식근로자일것이다.
하지만 많은 소프트웨어 개발 현장에서 개발자의 근무 환경과 능력은 육체노동자와 차이가 없어진다.
지정된 공간에서 한정된 기술과 환경을 가지고 적은 시간내에 많은 기능을 만들어 내야하며, 창의성은 발휘 할 수 없고, 부족한 일정은 야근과 주말출근으로 땜빵하는 나날이 이어진다.
지식 산업이 고도화되며 많은 부분이 패턴화 되어 생산성이 높아진것은 좋다.
그러나 반대로 창의력이 끼어들 여지가 줄어드니 지식근로가 육체노동으로 치환이 되는 아이러니한 현실이다.
과거에 비해 정보의 유효기간이 점점 짧아지는것도 지식근로자로 생존하는데 걸림돌이 되고 있다.
단순히 무언가를 '알고있다', '사용할 줄 안다'로는 오래 살아남을 수 없는 시대가 되고 있다.
개발자가 지식근로자로서 인정받고, 품격을 가지려면 지식근로를 해야한다.
단순히 결과물을 생산하는데 그치지 않고 부가가치를 더해야한다.
가능한 변하지 않는 가치에 집중하고, 투자하면서 고객의 만족을 쌓는것에 초점을 둬야한다.
지식근로자의 성과는 육체노동과 달리 순수하게 결과의 질로 평가된다.
육체노동은 투입된 시간과 비례하여 성과가 나타나는 반면, 지식근로는 그렇지 않다.
많은 시간을 투자하더라도 목표를 달성하지 못하면 그 가치를 인정받기 어렵다.
몇년전 거대 트래픽을 분석하여 DDoS를 탐지하는 솔루션을 개발한적이 있다.
기능상으로 주요 요구사항은 충족했지만, 성능상의 문제를 해소하지 못했다.
물리적으로 부족한 컴퓨팅 자원으로 그 기능을 구동하는데 충분한 성능을 끌어내기는 불가능해 보였다.
단지 내 기술력이 미숙한 탓인지도 모른다.
하지만 이러한 일을 할 수 있는게 회사에 나 혼자였던 이상, 회사의 역량으로는 그게 최선이었다.
만약 모든게 잘 풀려서 내가 만든 소프트웨어만으로 모든게 해결되었으면 어땠을까 하는 상상을 해본다.
일을 망쳤던 현실과는 반대로, 엄청난 이익을 회사에 가져다 주지 않았을까.
지식근로의 결과물에 가치를 부여하는것은 고객이다.
고객을 만족시킬 수 있는 불가능해 보이는 목표를 달성하는것. 이것이 바로 지식근로의 가치다.
이러한 가치를 지속적으로 생산할 수 있는 개발자는 어디서든 환영받을것이다.
개발자가 지식근로자로서 존재하고자 한다면, 단순히 기능을 구현하는데 그치지 않고 결과물에 의미와 가치를 더해야 한다.
단순히 주어진 코딩을 하는데 그치지 않고, 눈 앞에 있는 일의 의미와 고객 만족을 생각해야 하는 이유다.
이러한 태도가 개발자가 지식근로자로서 당당히 설 수 있는 가치를 만들어낸다.
그렇다고 일을 성공으로 이끌기 위해 건강을 망치면서까지 일을 할수는 없다.
성과를 내기 위해 무작정 자원과 시간을 투여하는것은 지식근로자가 해야할 일이 아니다.
몸이 건강해야 머리로 하는 일도 잘 할수있다.
이러한 환경에 놓여 있다면 점차 개선할 수 있도록 노력해보자.
개발자의 장점이자 단점은 업무를 통해 산출된 지식과 결과물을 재사용 할 수 있다는 점이다.
일을 하면 할 수록 편하고 잘할 수 있는 환경을 '개발'해야한다.
쉽게 반복할 수 있는 일은 가치가 떨어지기 쉽지만, 다른 경쟁자도 다 하고 있는 일이라면 안 할 이유는 없다.
중요한것은 반복하는 과정에서 더 잘 할 수 있도록 전문성을 쌓는것이다.
반복되는 업무마다 새로운 가치를 창출하는것이다.
단순히 반복하기만 해서는 지식근로가 아니라 육체노동을 하고 있다는것을 잊지 말자.
오늘날 지식근로가 아닌 대부분의 직업은 빠르게 사라져 가는 시대다.
'정보화 시대'라는 단어조차 이제와서는 구시대적 단어가 되었다.
'3차 산업혁명'을 넘어 지식을 학습한 기계가 스스로 가치를 창출하는 '4차 산업혁명'에 이르렀기 때문이다.
개발자뿐 아니라 모든 지식기반 근로자들이 ai와 품질 경쟁을 하고 있다.
이러한 상황에서 스스로의 가치를 높이기 위해 무엇을 해야 하는가?
단순히 코드를 생산하는것은 더 이상 경쟁력이 되기 어려울 수 있다.
'과연 나는 지식근로를 하고 있는가?'
개발자로 오래 살아남고 싶다면, 항상 자신의 일 하는 방식에 대해 자문해봐야할것이다.