인공지능(AI) 혁명이 소프트웨어 개발 직업에 지각 변동을 일으키면서, “대규모 언어모델(LLM)이 코딩을 잘할지 몰라도, 소프트웨어 개발에서 코딩은 결코 어려운 부분이 아니었다”거나 “코딩은 쉽고, 무엇을 코딩할지 알아내는 것이 어렵다”는 주장이 자주 들려옵니다. 그러나 이러한 관점은 전 세계 프로그래머들에게 심각한 모욕이라는 비판이 제기되고 있습니다. 코딩이 정말 쉬웠다면, 왜 프로그래머는 오랫동안 높은 수요와 연봉을 누렸으며, 수많은 개발자들이 스트레스와 번아웃에 시달렸을까요?
만약 코딩이 쉽다면, 왜 기업들은 10배의 생산성을 내는 '닌자 록스타 코더'를 찾고, 리트코드(LeetCode) 같은 까다로운 코딩 테스트를 진행했을까요? 『클린 코드(Clean Code)』나 『실용주의 프로그래머(The Pragmatic Programmer)』 같은 전문 서적이 왜 필요하며, 컴퓨터 과학 학위나 코딩 부트캠프가 존재하는 이유는 무엇일까요? 존 카맥(John Carmack)이나 파브리스 벨라드(Fabrice Bellard) 같은 천재 프로그래머들이 단순히 운이 좋았던 것일까요? 코딩이 쉽다면 왜 소프트웨어는 여전히 버그 투성이일까요? 반대로, '무엇을 만들지 결정하는 것이 어렵다'면 왜 제품 관리자(Product Manager)들은 개발자보다 낮은 대우를 받고, 시장 조사 전문가나 고객 성공(Customer Success) 담당자들이 록스타로 불리지 않을까요? 이 모든 질문은 소프트웨어 개발이 단순히 코딩이나 기획 중 한쪽으로만 설명될 수 없는 복합적인 과정임을 시사합니다.
결론적으로, 사용자 경험을 이해하고 고객 문제를 해결하며 모든 이해관계자의 의견을 조율하는 것은 소프트웨어 프로젝트 성공에 필수적입니다. 동시에, 좋은 코드를 작성하는 것은 기술, 인내, 세부 사항에 대한 주의, 경험, 그리고 지혜를 요구하는 장인 정신의 영역이며, 앞으로도 그 중요성은 변치 않을 것입니다. AI 시대에도 소프트웨어는 계속 복잡해질 것이고, 유지보수가 필요하며, 기술은 끊임없이 발전할 것입니다. 사용자는 항상 더 많은 것을 원하고 더 적게 지불하려 할 것이며, 자신의 필요를 명확히 전달하지 못할 것입니다. 이러한 변화 속에서 '코딩은 쉽다'거나 '코딩은 자동화할 수 없는 예술'이라는 극단적인 주장은 현실을 외면하는 태도입니다. 우리는 산업 전반의 지각 변동을 인식하고, 변하지 않는 본질과 변화하는 요소를 이해하며 적응하는 방법을 찾아야 합니다. 시스템에 대한 깊은 이해와 함께, 왜 이 시스템을 구축하는지에 대한 깊은 이해를 동시에 추구하는 것이 중요합니다.
