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