Gen AI 시대의 프로그래머
진부한 제목이지만.. 요샌 일하면서 제목처럼 새삼 시대가 바뀌었다고 느낍니다. 약 석달 전부터 Github Copilot을 사용해보고 있는데 처음엔 미약했던 영향이 이젠 위협처럼 느껴집니다. 주로 사용하는 프로그래밍 언어 Python을 사용할 땐 그저 내가 마음 속에 그리고 있던 내용을 적어주는 정도였습니다. “어차피 내가 적어도 비슷하게 적었을 것인데 Copilot 덕분에 타이핑 하는 수고를 덜었다” 같은 느낌이랄까요. 하지만 새로운 회사에 와서 새로운 프로그래밍 언어를 다루며 상황이 달라졌습니다.
지금의 업무에선 Typescript, Kotlin, Swift를 사용하는데 하나의 기능을 추가할 때 세 가지 언어를 모두 다뤄야 하는 경우도 있습니다. Typescript는 그나마 자바스크립트 기반이라 익숙하긴 한데 Kotlin, Swift는 말그대로 처음 다뤄보는 언어입니다. 그럼에도 불구하고 큰 어려움 없이 기능 추가와 수정을 하고 있는데 Copilot의 위력 덕분입니다. 제가 구현하려는 내용을 일부 적거나 주석으로 적어주면 지금 다루고 있는 언어에 맞게 풀어 적어줍니다. 서로 다른 프로그래밍 언어들은 각자 나름의 특성을 갖고 있지만, 거시적으로 본다면 같은 패러다임에 속하는 언어의 경우 문법만 다르지 구현 로직은 비슷합니다. 그렇기 때문에 처음 하나의 프로그래밍 언어를 익힌다면 다른 언어도 어렵지 않게 익힐 수 있는 것이지요.
앞서 얘기한 것처럼 세가지 다른 언어를 오가며 작업을 함에도 불구하고 어떤 시점엔 지금 어떤 언어를 다루고 있는지 신경쓰지 않을 때도 있습니다. 어차피 문법적인 부분은 Copilot이 잘 채워넣어주기 때문에 코드 리뷰어의 입장으로 로직이 맞는지, 문법적으로 다소 어색한 부분이 있는지 정도만 확인하면 프로그램을 작성할 수 있습니다. 일은 분명 편해졌는데 마음은 불편해졌습니다. 이렇게 일하다가는 새로운 언어를 배울 수 없겠다, 원하는 만큼 숙련된 수준까지 갈 수는 없겠다는 불안이 떠오릅니다.
새로운 언어를 익히기 위해 Copilot을 꺼두어야겠다는 생각을 합니다. 아니 어쩌면 이것도 시대착오적인 생각일까요? 마치 계산기가 등장하고 나서는 손 계산을 하는 것이 비효율적인 것처럼 말입니다. 어쩌면 프로그래밍 언어를 충분히 익히지 않고서도 일하는데 문제가 없을지도 모릅니다. 코드 작성에서 Gen AI의 도움을 받고 문제를 찾고 해결할 때도 Gen AI의 도움을 받는 시대이니 말입니다. 하지만 아직 새 시대에 적응 중인 저로선는 Copilot 친구가 살갑기도 때론 두렵기도 한 요즘입니다.