저자의 다중 언어 개발 전환에는 두 가지 핵심적인 요인이 있었습니다. 첫째, Shopify의 Ruby DX 팀 로드맵이 Sorbet의 RBS 지원을 요구하면서 C++ 및 C 기반 프로젝트에 참여할 필요성이 생겼습니다. 둘째, Shopify의 Ruby 및 Rails 인프라 팀 내 전문가들의 아낌없는 지식 공유와 튜터링 세션이 C/C++/JIT의 기초를 다지는 데 필수적이었습니다. 그러나 저자는 훌륭한 멘토와 학습 기회는 항상 존재했지만, AI의 등장이 언어 학습 곡선을 근본적으로 변화시켰다고 지적합니다.
특히 새로운 JIT(Just-In-Time) Ruby 컴파일러인 ZJIT 프로젝트를 예로 들며, 시스템 프로그래밍 프로젝트의 복잡성을 설명합니다. ZJIT 작업은 Rust, C, 일반적인 JIT 지식, ZJIT 특정 개념, Ruby 내부 동작, Ruby 빌드 시스템 등 다양한 영역의 이해를 동시에 요구합니다. AI는 이러한 복잡성 중 언어 문법, 일반적인 개념, 표준 패턴과 같은 부분에서 탁월한 도움을 제공하며 학습 장벽을 절반으로 줄여주었습니다.
저자는 AI를 단순한 코드 생성기가 아닌 ‘상호 보완적인 페어 프로그래밍 파트너’로 인식했을 때 진정한 돌파구를 찾았다고 설명합니다. AI가 프로젝트 특정 컨텍스트나 깊은 도메인 지식은 부족하더라도, 언어별 구문과 패턴에 대한 전문성을 가지고 있습니다. 개발자는 작업 요구사항과 프로젝트 컨텍스트를 제공하고, AI는 기존 패턴을 식별하고 언어 전문가 역할을 수행합니다. 이 과정을 통해 개발자는 특정 접근 방식의 작동 여부를 질문하고, AI는 이론을 탐색하며 결과를 제공합니다. 이러한 상호작용을 통해 개발자는 언어 자체와 이를 효과적으로 적용하는 방법을 동시에 학습하게 됩니다. 예를 들어, 익숙하지 않은 Rust 구문이나 JIT 컴파일러의 필요성에 대한 질문에 즉각적인 설명을 얻으며 이해를 심화할 수 있었습니다. 물론 AI만으로는 해결할 수 없는 경우도 있었고, 이때는 멘토와 팀원들의 지식 공유가 필수적이었습니다. AI는 학습을 가속화하지만, 인간 전문가의 역할은 여전히 대체 불가능합니다.