최고의 결과물을 내놓고 있지만, 내 것이 아닌 것만 같다.
몇 년 전, 저는 주니어 개발자였습니다. 자동차 금융 파이프라인의 버그 하나를 잡기 위해 나흘을 씨름했습니다. 마침내 해결되었을 때, 저는 의자에서 벌떡 일어났습니다. 방 안의 모든 사람이 저를 쳐다보았습니다. 팀원들은 미소를 지었습니다. 그들은 그 고통을 알고 있었습니다.
그 느낌은 순수했습니다. 두 가지 이유에서 비롯되었습니다:
- 어려운 문제를 해결했다는 점.
- 해결 과정 전체를 온전히 책임졌다는 점.
그 작업은 온전히 제 것이었습니다. 모든 코드를 직접 짰고, 모든 개념을 익혔습니다. 코드가 작동한다면, 그것은 제 실력의 증거였습니다.
지난달, 저는 복잡한 빌링 시스템을 구축했습니다. 수십 개의 모듈과 깊은 통합이 필요한 작업이었습니다. AI의 도움 덕분에 일주일도 채 되지 않아 완성할 수 있었습니다.
AI가 힘든 작업을 대신 처리해 주었습니다. 제가 놓쳤을 법한 예외 상황(edge cases)을 잡아냈고, 보일러플레이트(boilerplate) 코드를 작성했으며, 심지어 실시간으로 오류까지 수정해 주었습니다.
하지만 무언가 변했습니다.
코드가 머지(merge)되고 체크 항목들이 모두 초록색(pass)으로 변했을 때, 아무런 느낌도 들지 않았습니다. 의자에서 벌떡 일어날 일도 없었습니다. 승리의 기쁨을 함께 나눌 팀원도 없었습니다.
업무의 성격이 바뀌었습니다. 우리는 더 이상 코드와 씨름하지 않습니다. 문제를 설명하고, 결과물을 검토한 뒤, 배포(ship)합니다. 훨씬 빨라졌지만, 느낌은 다릅니다.
엔지니어링의 인간적인 부분들이 그립습니다:
- 운영 환경 장애(production outage)가 발생했을 때의 아드레날린.
- 긴 디버깅 세션 끝에 터져 나오는 웃음.
- 팀원에게 개념을 설명해 줄 때의 즐거움.
소유권(ownership)에 대한 감각도 그립습니다. 누구나 도구를 사용해 앱을 출시할 수 있게 되면서, 공로는 사라지고 있습니다. 제가 대단한 것을 만들어내도 사람들은 "AI를 썼네"라고 말합니다. 칭찬은 도구가 받고, 사람은 무시됩니다.
기술의 숙련도가 평준화되고 있습니다. 뛰어난 모델을 가진 주니어가 시니어의 작업물보다 더 나아 보이는 앱을 만들 수 있습니다. 시장은 보기에는 좋지만 깊이가 없는 것들로 가득 차 있습니다. 사람들이 숙련된 기술과 생성된 코드 사이의 차이를 구분하지 못하게 되면, 기술의 가치를 더 이상 인정하지 않게 됩니다.
하지만 모든 것이 나쁜 것만은 아닙니다.
AI는 한계를 높여주었습니다. 지루한 설정 작업이나 끝없는 스캐폴딩(scaffolding) 같은 "노고(toil)"를 제거해 줍니다. 덕분에 우리는 실제로 중요한 부분에 시간을 쏟을 수 있게 되었습니다. 개발의 민주화를 가져왔습니다. 아이디어는 있지만 학위가 없는 사람들도 이제 무언가를 만들어낼 수 있습니다.
즐거움은 사라진 것이 아닙니다. 그저 개인적인 영역으로 옮겨갔을 뿐입니다.
만족감은 더 이상 방 안의 사람들이 나를 위해 박수쳐 주는 데서 오지 않습니다. AI가 내릴 수 없는 결정들에서 옵니다. 여러분이 적용하는 아키텍처, 로직, 그리고 판단력에서 옵니다.
세상은 당신의 작업과 기계의 작업 사이의 차이를 알아보지 못할 수도 있습니다. 하지만 당신은 알 것입니다.
저는 여전히 그 느낌을 쫓습니다. 다만 이제는 조용히 쫓을 뿐입니다.
출처: https://dev.to/abdullahsaad5/im-shipping-the-best-work-of-my-career-none-of-it-feels-like-mine-4ehn
선택 사항 학습 커뮤니티: https://t.me/GyaanSetuAi
