AI 시대에도 사라지지 않을 개발자의 역할
요즘 개발 관련 이야기를 듣다 보면 비슷한 말을 자주 접하게 된다.
개발자는 필요 없어질 것이다.
이제 코드는 AI가 다 작성한다.
실행 비용이 거의 0이 되는 시대다.
몇 년 전만 해도 조금 과장된 이야기처럼 들렸는데, 최근에는 마냥 틀린 말이라고 하기 어려워졌다.
실제로 나 역시 AI를 활용하는 시간이 크게 늘었다.
예전에는 직접 작성했을 코드를 이제는 AI에게 맡기는 경우가 많다.
단순한 구현이라면 AI가 더 빠르고 더 정확할 때도 있다.
그렇다면 정말 개발자의 역할은 사라지는 걸까?
최근 몇 년 동안 AI를 활용하며 느낀 생각을 정리해봤다.
코드를 작성하는 시간은 줄어들고 있다
이건 부정하기 어렵다.
간단한 API 연동
CRUD 페이지
테스트 코드 작성
반복적인 리팩토링
이런 작업들은 AI가 상당 부분 대신 해준다.
예전에는 하루 종일 걸렸던 작업이 이제는 몇 분 만에 끝나는 경우도 있다.
최근에는 새로운 기능을 개발할 때
직접 코드를 작성하는 시간보다
AI에게 작업을 설명하는 시간이 더 길어진 것 같기도 하다.
분명 생산성은 높아졌다.
그런데 문제는 원래 코드가 아니었다
흥미로운 점은 코드를 작성하는 시간이 줄었는데 개발 난이도는 크게 줄어들지 않았다는 것이다.
왜일까?
실제로 어려운 부분은 구현 자체가 아니기 때문이다.
예를 들어 이런 질문들은 여전히 남는다.
- 사용자는 정말 이 기능이 필요한가?
- 어떤 방식이 가장 자연스러운 경험일까?
- 성능 문제는 없을까?
- 확장 가능한 구조일까?
- 지금 해결하려는 문제가 맞는가?
AI는 구현을 도와준다.
하지만 어떤 문제를 해결해야 하는지는 여전히 사람이 결정해야 한다.
좋은 개발자는 문제를 정의한다
최근에는 개발자의 역할이 조금씩 바뀌고 있다고 느낀다.
예전에는
요구사항 → 구현
에 집중했다면
지금은
```text
문제 정의 → 요구사항 정리 → 구현
```
으로 이동하고 있다.
AI가 구현을 담당할수록
무엇을 만들 것인가
왜 만들어야 하는가
를 결정하는 능력이 더 중요해진다.
실제로 AI에게 좋은 결과를 얻기 위해서도 문제를 명확하게 설명해야 한다.
애매한 요구사항은 애매한 결과를 만든다.
이 부분은 AI가 발전해도 크게 달라지지 않을 것 같다.
## AI를 잘 쓰는 사람과 못 쓰는 사람의 차이
AI를 사용하다 보면 재미있는 경험을 한다.
같은 도구를 사용해도 결과가 크게 다르다.
보통은 프롬프트 차이라고 이야기하지만 실제로는 문제 이해도의 차이에 가깝다고 생각한다.
도메인을 잘 이해하는 사람은
- 무엇이 중요한지 알고
- 어떤 결과가 나와야 하는지 알고
- 어디가 틀렸는지 판단할 수 있다.
반면 잘 모르는 영역에서는 AI가 틀린 답을 내놓아도 알아차리기 어렵다.
결국 AI의 결과를 검증할 수 있는 전문성은 여전히 중요하다.
## 앞으로 더 중요해질 것들
AI가 발전할수록 오히려 중요해질 것들이 있다고 생각한다.
### 문제 정의
무엇을 해결해야 하는지 정리하는 능력
### 의사결정
여러 선택지 중 어떤 방향이 더 좋은지 판단하는 능력
### 도메인 지식
사용자와 비즈니스를 이해하는 능력
### 품질 관리
결과물이 정말 올바른지 검증하는 능력
생각해보면 원래도 중요했던 것들이다.
다만 그동안은 구현이라는 큰 업무에 가려져 있었을 뿐이다.
## 마무리
AI 덕분에 개발 방식은 정말 많이 바뀌고 있다.
앞으로도 더 많이 바뀔 것이다.
하지만 지금까지 경험해본 바로는
개발자의 역할이 사라진다기보다 이동하고 있다는 표현이 더 맞는 것 같다.
코드를 작성하는 능력은 여전히 중요하다.
다만 그것만으로 차별화되기는 점점 어려워질 것이다.
결국 좋은 개발자는 코드를 많이 작성하는 사람이 아니라
문제를 잘 이해하고 해결하는 사람이라는 사실은 크게 달라지지 않을 것 같다.
AI가 강력한 도구가 된 지금도 말이다.