AI가 개발자를 대치할 수 있을까?
(hl1itj.tistory.com)- "AI는 사람 개발자, 나아가 개발 조직, 더 나아가 소프트웨어 개발 전 사이클을 대치할 수 있을까?"
- AI의 발전으로 인해 알고리즘 코딩 능력이 향상되었으나, 대부분의 기업은 최고 수준의 알고리즘 능력을 필요로 하지 않음
- AI는 버그가 포함된 코드로 학습되므로, 생성된 코드에도 버그가 존재할 수 있음
- 가장 중요한 첫 번째 이슈는 AI가 버그를 발견하기 위해 모든 시나리오를 테스트하고 수정해야 한다는 것인데, 이건 어려울 것 같음
- 더 큰 문제는 소프트웨어 개발은 단순한 코딩을 넘어서는 복잡한 문제를 해결하는 과정을 포함한다는 것
- 소프트웨어 개발에 포함된 것들:
- 요구 사항의 수집과 정리
- 자원의 제약에 따른 해결 우선순위 설정
- 미래를 고려한 Platform/Architecture 선택과 설계
- 진짜 코딩 - 단위/모듈 테스트 - 디버깅 - 코드 리뷰
- End2End (UX) 테스트
- OPs라고 퉁칠 수 있는 불리는 다양한 운영 이슈들
- 미션 크리티컬한 소프트웨어의 경우 오만가지 edge case에 대한 formal 한 검증
- 소프트웨어를 회사의 Biz 목표, vision에 align 된 채 진화시키는 일
- 현재 AI는 '진짜 코딩' 부분에서 좋은 성과를 내고 있고, 일부 영역에서는 인간의 지시에 따라 의미 있는 도움을 주고 있음
- 문제의 핵심은 이런 과정이
- 이전 버전과의 호환성을 필요한 만큼 유지하면서,
- 고객 집단이 자연스럽게 느끼도록,
- '어쩌면' 같이 일하는 진짜 사람 개발자가 놀라지 않게
- 다른 AI와 협업 관계를 유지하면서 이루어 져야 한다는 것
- 즉 '우아한 소프트웨어 형상 관리'
- 그래서 AI는 개발자, 개발팀, 넒은 의미의 소프트웨어 개발 조직을 완전히 대체할 수 없음
20년전에도 개발자를 대체할 수 있다고 온갖 영업과 기사들이 난무했었는데 지금은 그 시절을 닷컴버블이라고 부르더라고요
저도 좀 쫄았었는데 아직 먹고살고는 있습니다.
역사는 반복된다고 하던데 모르지요 ;-)
정의할 문제는 크게 많아지지 않는 상황에 생산성이 비약적으로 증가하여 소수가 큰 생산성을 가지게 되진 않을 지 우려되기도 하네요.
그래서 개발 조직을 대체할 수는 없지만, 많은 비율의 개발자는 대체할 수 있다고 생각됩니다.