요즘은 하루 종일 AI와 같이 일한다.
처음에는 코드를 빨리 작성하는 도구라고 생각했다. 많이 쓰다 보니 생각이 좀 바뀌었다. 개발자가 하는 일 자체가 바뀌고 있다.
이제 코딩은 몰라도 된다. 진짜로
요즘 나는 코드를 거의 직접 작성하지 않는다.
나도 오랫동안 개발하면서 클린 코드를 이야기했고, 코드 리뷰도 많이 했다. 지금은 AI가 대부분의 코드를 작성한다. 대신 코드 베이스는 여전히 중요하다.
레거시 코드가 엉망인 프로젝트에서 AI에게 기능을 추가해 달라고 하면 기존 패턴을 그대로 따라간다. 똥 코드 베이스에서 AI를 사용하면 새로운 똥 코드가 빠르게 늘어난다.
이 프로젝트에 레이어드 아키텍처가 맞는지, 헥사고날 아키텍처가 필요한지, 도메인을 어디까지 분리할지, 서비스 경계를 어떻게 나눌지는 사람이 결정해야 한다. AI에게 “알아서 좋은 구조로 만들어줘.” 라고 하는 것과 “이 서비스는 외부 시스템 연동이 많고 비즈니스 규칙과 인프라 의존성을 분리해야 하니 헥사고날 구조를 기준으로 설계해.” 라고 하는 것은 결과가 다르다.
경험은 여전히 필요하다
잘 되던 사이트가 갑자기 접속되지 않는다고 해보자. 애플리케이션 문제일 수도 있고 서버 문제일 수도 있다. WAF 설정이 바뀌었을 수도 있고, L4 헬스체크가 실패했을 수도 있고, 인증서가 만료됐을 수도 있고, 방화벽이나 DNS 문제일 수도 있다. 경험이 있으면 어디부터 확인할지 감이 온다.
AI는 처음 잡은 가설이 틀렸을 때도 한쪽으로 계속 파고드는 경우가 있다. 소스 코드가 문제라고 판단하면 로그를 보고, 코드를 고치고, 설정을 바꾸면서 계속 그쪽을 본다. 실제 원인은 WAF 설정인데 하루 종일 애플리케이션 코드만 고칠 수도 있다. 이럴 때 “애플리케이션 문제라고 단정하지 말고 WAF, L4, DNS, 네트워크, 인증서 등 앞단 문제도 먼저 확인해.” 라고 하면 된다. 그러면 방향이 금방 바뀐다.
서비스가 죽어보고, DB가 터져보고, 인증서가 만료돼보고, 네트워크 담당자와 이야기해보고, 장애 대응을 해본 경험이 이런 순간에 쓰인다.
만들고 싶은 것은 뭐든 만들 수 있는 시대가 됐다
이제는 만들고 싶은 게 있으면 일단 만들어볼 수 있다. 물론 내가 아는 영역이라는 전제는 있다.
내가 전혀 모르는 의료 시스템을 AI에게 만들어 달라고 해서 바로 병원 서비스를 운영할 수 있다는 얘기는 아니다. 하지만 내가 오랫동안 해온 영역이라면 다르다.
예전에는 아이디어가 있어도 혼자 만들기 어려웠다. 프론트엔드도 필요하고, 백엔드도 필요하고, 모바일 앱도 필요하고, 배포 환경도 만들어야 하고, 디자인도 해야 했다. 지금은 요구사항을 정의하고 구조를 잡고 결과를 검증할 수 있으면 혼자서도 꽤 많은 걸 만들 수 있다.
누군가는 이걸 “딸깍 개발”이라고 부른다. 맞다. 예전보다 많이 딸깍한다. 그런데 그 딸깍도 안 하는 사람이 많다. AI에게 시킨다고 프로그램이 알아서 완성되는 건 아니다.
무엇을 만들지 정해야 하고, 요구사항을 정리해야 하고, 구조를 선택해야 하고, 결과가 맞는지 봐야 한다. 잘못된 방향으로 가면 다시 끌어와야 한다.
개발자의 역할이 바뀌고 있다
코드를 직접 작성하는 시간은 줄어들고 있다. 대신 어떤 구조로 만들지 정하고, 문제가 생겼을 때 어디를 봐야 하는지 판단하고, AI가 만든 결과가 맞는지 확인하는 일이 늘었다. 코드를 얼마나 빨리 짜는지보다 시스템을 얼마나 잘 이해하고 있는지가 중요해졌다. AI가 코드를 만드는 시대에도 사람이 해야 할 일은 남는다.
무엇을 만들지 정하고, 어떻게 만들지 방향을 잡고, 결과가 맞는지 판단하는 일이다.
댓글을 작성하려면 로그인이 필요합니다.