코딩의 종말이 아닌 코딩 방식의 전환
프로그래머의 본질은 변하지 않는다
예전부터 나는 3년 정도 경력을 쌓은 프로그래머라면 프로그래밍이 적성에 맞는지 충분히 판단할 수 있다고 생각해왔기 때문에 면접을 볼 때도 알고리즘 테스트보다는 실제 업무 경험과 문제 해결 능력을 중심으로 평가했다.
많은 사람들이 AI의 등장으로 코딩의 종말을 이야기하지만 이는 정확한 표현이 아니며 정확히 말하자면 프로그래머가 사라지는 것이 아니라 프로그래머의 코딩 방식이 바뀌는 것이다.
핵심은 이해에 있다
해시 알고리즘을 예로 들어보면 비트코인의 블록체인에서 해시는 각 블록을 체인처럼 연결하는 핵심 메커니즘이지만 프로그래머가 해시 알고리즘의 내부 구조를 완벽하게 이해해야만 블록체인을 다룰 수 있는 것은 아니다.
중요한 것은 해시 함수에 입력값을 넣으면 어떤 특성을 가진 결과가 나오는지 그리고 그것이 시스템에서 어떤 역할을 하는지 이해하는 것이며 같은 입력에는 항상 같은 출력이 나온다는 것과 출력값으로는 입력값을 역추적할 수 없다는 것 같은 특성들을 알고 활용할 수 있다면 그것으로 충분하다.
추상화 수준의 상승
과거에는 프로그래머가 메모리 관리부터 시작해서 모든 것을 직접 구현해야 했지만 그러다 라이브러리가 등장했고 프레임워크가 나왔고 클라우드 서비스가 보편화되면서 각 단계마다 진짜 프로그래머는 사라진다는 말이 나왔으나 실제로는 프로그래머가 다루는 추상화 수준이 올라간 것뿐이었다.
AI 코딩 도구의 등장도 마찬가지이며 이제 프로그래머는 세미콜론 하나하나를 타이핑하는 대신 시스템의 구조를 설계하고 요구사항을 정의하고 결과물을 검증하는 역할로 이동하고 있다.
새로운 시대의 프로그래머
앞으로의 프로그래머는 문제를 정의하고 분해하는 능력이 더욱 중요해지며 시스템의 동작 원리를 이해하고 예측하는 통찰력이 필요하고 AI가 생성한 코드를 검증하고 개선하는 안목이 요구되며 비즈니스 요구사항을 기술적 솔루션으로 번역하는 역량이 핵심이 된다.
코딩은 끝나지 않았으며 단지 우리가 코딩하는 방식과 프로그래머에게 요구되는 능력의 초점이 변화하고 있을 뿐이고 마치 자동차의 등장이 운송업을 없애지 않고 변화시킨 것처럼 AI는 프로그래밍을 없애는 것이 아니라 진화시키고 있다.
진짜 프로그래머는 도구가 바뀌어도 여전히 필요한데 왜냐하면 도구는 문제를 해결하지 못하고 사람만이 문제를 정의할 수 있기 때문이다.
