프로그래밍이 나에게 알려준 것들
'At this time, the team has decided to move forward with another candidate who is more closely aligned to the role’s immediate needs...'
(이번에는, 해당 롤에 좀 더 핏한 다른 지원자와 함께 하기로 했습니다.)
지난번 면접 보았던 미국 빅테크 기업으로부터 또 다른 완곡한 거절의 이메일을 받았다. 리크루터는 나의 경력이 매우 인상적이라는 말과 함께, 나중에 꼭 다시 지원해 달라는 인사도 잊지 않았다. 하지만 나는 더 이상 기대하지 않는다. 미국 사람 특유의 밝고 긍정적이며 완곡한 거절의 표현에 익숙해지면서, 혹시나 두 번째 기회가 있을지 모른다는 순진한 생각은 이제 더 이상 남아있지 않았다.
작년 말부터 미국 테크 취업시장은 눈에 띄게 얼어붙고 있다. 채용공고는 눈에 띄게 줄어들고 있었고, 구글, 메타, 아마존, 마이크로소프트로 대표되는 빅테크 기업들은 기존에 일하고 있던 베테랑 개발자들마저 대량으로 해고하고 있다. 더욱 두려운 것은 이게 시작일 뿐이라는 전망이다.
한마디로 불과 몇 달 사이에 분위기가 겁나게 싸해졌다. 한국에서 미국으로 연착륙하여, 앞으로 승승장구할 것으로 믿어 의심치 않았던 나는 인생의 중대한 변곡점에서 또 한 번의 위기를 맞았다. 인생 너무 쉽게 봤다.
살면서 위기가 없는 인생은 없겠지만, 이번 위기는 조금 다르다.
AI 모델 성능이 기하급수적으로 발전하면서 개발자 수요가 눈에 띄게 줄어들었고, 나같이 4년이라는 많지도 적지도 않은 애매한 경력을 가진 엔지니어가 설자리는 예상보다 훨씬 더 빠르게 줄어들고 있었다. 이제 클로드 코드(Claude Code)나 커서 AI(Cursor AI)와 같은 LLM 기반의 코딩 에이전트가 웬만한 신입 개발자보다 훨씬 더 개발을 잘한다는 것은 누구나 인정할 수밖에 없는 사실이다.
이로써 나는 또다시 존재론적 위기에 빠졌다. 이 업계로 진입한 지 불과 4년 만에 나는 또다시 발가벗겨진 채 세상에 던져진 것 같은 고독과 싸워야 했다. 지금 당장 취직이 잘 안 되는 것보다 더욱 큰 위기는, 바로 어제까지 해오던 일들의 의미를 내일부터 찾기 힘들어질 때 온다. 이제 내가 쌓아온 지식과 경험은 이제 더 이상 쓸모가 없는 것일까?
영화 '라스트 사무라이(The Last Samurai)'는 메이지 유신 시대, 정부와 힘겨운 싸움을 이어가는 마지막 남은 몇 안 되는 사무라이들의 일생을 다룬 영화다.
분당 약 4200발의 총알을 난사하는 게틀링 건으로 무장한 일본 정부군에게 사무라이들은 초라해 보이는 검 하나 들고 용감하게 돌진한다. 당연하게도, 그들의 신념은 신기술 앞에서 무참히 짓밟힌다.
하지만 온몸에 총알이 박힌 채 말에서 떨어진 그들은 스스로가 믿는 가치를 지키기 위해 마지막 발걸음을 뗀다. 그리고 숨을 거두기 직전까지 결코 포기하지 않는다. 그리고 마지막 한 명(라스트 사무라이)만 빼고 모두 그 자리에서 죽음을 맞이한다. 어쩌면 그들은 이기는 것보다, 그냥 그렇게 사무라이답게 죽기를 선택한 것일지도 모른다.
우리 세대를 마지막으로 프로그래머나 엔지니어라는 직업이 사라질지도 모른다는 전망이 들려온다. 이제 우리 후손들, 아니 지금의 어린 세대들은 어쩌면 몇 년 후 '우와, 예전에는 사람들이 직접 막일로 코드를 짰었대'라며 조롱 섞인 시선으로 우리를 바라볼 것이다. 하지만 그게 사실인들, 지금 포기할 생각은 없다.
대학원 인공지능 수업의 과제 하나를 벌써 며칠째 붙잡고 있었다. 베이지안 통계(Bayesian Theorem)와 선형 대수학 그리고 객체지향형 프로그래밍의 개념을 이해하고, 모델을 구현해 내야 하는 과제이다. 하지만 개발을 하면서 무엇보다 중요한 것은 화려한 지식이 아니라 단 0.1%의 오차라도 줄이기 위한 집요한 끈기와 사소한 노력들임을 너무나도 잘 알고 있다.
내가 처음 이 분야에 도전할 때 이루고자 했던 것은 무엇이었을까? 스스로를 만들어낸 인간은 며칠이 걸려도 못 푸는 이 문제를, AI는 얼마나 빨리 풀 수 있을까? 인간의 한계를 몸소 체험하며 퀭한 눈을 하고 코드 수정을 반복한다.
과제 제출 마감 5분 전, 나름대로 할 수 있는 방법을 모두 써봤지만 결과는 여전히 그대로이다. 이제 될 대로 되라는 생각으로 마지막 코드 한 줄을 바꾸고 전체 코드를 돌려본다.
갑자기 풀리지 않던 문제가 기적같이 풀리며 모든 퍼즐이 맞추어지듯 돌아간다. 스크린에 66이었던 숫자가 순식간에 100점이라는 숫자로 바뀌면서 모든 것이 완성된다. 그래! 이 맛에 코딩했었지!
어쩌면 나에게 프로그래밍이 알려준 것은, 새로운 지식에 대한 순수한 호기심과 절대로 포기하지 않는 끈기, 그리고 무엇보다 불확실성을 포용하고 계속해서 앞으로 나아가는 태도였을지도 모른다.