번역글: 아웃소싱, AI, 그리고 작은 희망
이 글은 Claude Opus 4.8 을 이용해 번역되었으며, 이후 퇴고를 거쳤습니다.
원문: Dave Thomas, Pragmatic Programmers Newsletter — “Outsourcing, AI, and a Little Hope”
1990년대와 2000년대에 이 업계에 몸담았다면, 아웃소싱을 둘러싼 그 소동을 잘 알고 계실 겁니다.
기업들은 미국과 서유럽 바깥의 개발자들에게 대체로 더 적은 임금을 준다는 사실을 깨달았습니다. 그리고 개발자란 그저 자원에 불과하니, 개발 업무를 해외로 보내버리면 돈을 왕창 아낄 수 있다고 생각했습니다.
한동안 미국과 유럽의 개발자들은 공황에 빠졌습니다. “저 멀리 어퍼 호피스탄(Upper Hopistan)에서 하루 1.5달러를 받는 어떤 코더에게 내 일자리를 빼앗기겠구나.”
그리고 실제로, 한동안 일부 개발자들은 정말로 일자리를 잃었습니다.
하지만 머지않아 한 가지가 분명해졌습니다. 업무를 8개의 시간대 너머로 던져놓고는 느긋하게 앉아 완성된 프로젝트가 나타나기만 기다릴 수는 없다는 것이었습니다. 원격지의 인력이 나쁜 개발자였던 것은 아닙니다. 다만 그들은 흐름 바깥에 있었습니다. 그들은 종종 잊혔습니다. 적어도 무언가 잘못되기 전까지는 그랬습니다.
그래서 기업들은 생각을 누그러뜨렸습니다. 원격 팀을 전체 개발 프로세스 안으로 통합하려고 노력했습니다. 더 이상 아웃소싱(outsource)이 아니라, 코소싱(co-source)을 한다고들 했습니다. 그리고 개발자들은 본국에서든 해외에서든 여전히 고용되어 있었습니다.
혼란이 있었고, 교정이 있었으며, 그리고 모든 것은 계속 성장했습니다.
한편, 25년 후…#
2020년대 후반에 개발자였다면, AI 공황을 잘 알고 계실 겁니다. 기업들은 AI가 인간 개발자보다 1달러당 더 많은 줄의 코드를 찍어낼 수 있다는 사실을 발견했습니다. “우리 모두 해고되겠구나.” 개발자들은 부르짖었습니다.
그리고 실제로, 많은 개발자들이 일자리를 잃었습니다.
그들을 해고한 기업들은 놀라울 만큼 근시안적이었습니다. 코드를 작성하는 것이 개발자를 정의하는 일은 아니라는 사실을, 사람들이 곧 깨달았기 때문입니다.
좋은 개발자는 대사(ambassador)처럼 행동합니다. 현실의 지저분한 세계와 인공적이고 기계적인 세계 사이의 소통을 중재하는 것입니다. 그것은 특정한 유형의 성격에, 엄청난 양의 경험이 더해질 때 생겨나는 기술입니다. 개발자의 척도는 작성된 코드 줄의 수가 아니라, 오히려 작성하지 않아도 되는 코드 줄의 수입니다.
그래서 한동안은, 개발자로 산다는 것이 영 별로였습니다. 일자리가 불안했고, 뒤처지지 않으려 안간힘을 쓰다 지쳤으며, 자신이 옳은 일을 하고 있는지 확신하지 못했고, 기계가 게워낸 수천 줄짜리 PR을 읽느라 심각하게 피곤했습니다.
하지만 세상은 서서히 진실을 배웠습니다. 초보자의 손에 전동 공구를 쥐여주고는 그들이 대성당을 지어내기를 기대할 수는 없습니다. 사실, 그들이 어쩌다 잘라낸 손가락을 주워 담는 데 대부분의 시간을 쓰지 않는다면 그나마 운이 좋은 편일 겁니다.
그래서 이 기업들은 멋쩍게도 자신들이 해고했던 개발자들에게 다시 연락을 취했습니다. 제발 돌아와 달라고, 우리가 만들어낸 이 괴물 같은 코드베이스를 통제할 수 있게 도와 달라고 했습니다. 더 통일된 아키텍처를 만들도록 도와 달라고, 그리고 이 AI 도구들을 제대로 쓸 수 있게 도와 달라고 했습니다. 그리고 개발자들은 더 높은 몸값을 받고 돌아왔습니다.
혼란이 있었고, 교정이 있었으며, 그리고 모든 것은 계속 성장했습니다.
이 이야기들의 교훈#
상황이 미쳐 돌아가는 것처럼 보일 때는, 잠시 멈춰 서서 시계의 태엽을 감으십시오. (역주: “확신이 서지 않을 때는 시계의 태엽을 감으라(when in doubt, wind the clock)“는 항공·항해계의 오랜 격언으로, 위기일수록 당황하지 말고 익숙하고 사소한 일부터 차분히 하면서 침착함을 되찾으라는 뜻입니다.) 그렇습니다. 지금 당장은 소프트웨어 개발자로 산다는 것이 영 별로일 수 있습니다. 하지만 그 역할이 사라지는 것은 아닙니다. 그저 변하고 있을 뿐입니다.
AI 과열 주기는 지나갈 것이고, AI는 그저 또 하나의 도구가 될 것입니다. 인정하건대 아마 여러분이 어쩔 수 없이 써야만 하는 도구가 되겠지만, 그래도 도구는 도구입니다. 다만 개발자로서 여러분의 가치는 안내자이자 멘토로서의 가치일 것입니다. 더 이상 “이 루프가 왜 일찍 빠져나오지?“라고 말하고 있지 않을 겁니다. 대신 여러분의 AI에게 이렇게 말하고 있을 겁니다. “그건 pubsub을 써서 분리해야 해” 또는 “백 번째 말하는데, 셸에서 테스트하지 말고 유닛 테스트를 쓰라고.”
여러분은 더 적은 코드를 작성하게 될 것입니다. 괜찮습니다. 여러분의 가치는 애초에 코드를 작성하는 데 있지 않았습니다. 여러분의 가치는 가치를 전달하는 것, 그것도 적절하고 지속 가능하게 전달하는 것입니다. 그리고 AI는 여러분이 그렇게 하도록 도와줄 것입니다.
다만, 배우기를 멈추지는 마십시오.