"AI를 활용하여 개발하기"에 대한 견해.
ChatGPT등과 같은 플랫폼을 사용하여 개발하는 것에 대해 어떻게 생각하시나요?
면접의 후반부에 오면 면접관들은 "저희에게 궁금한게 있으신가요?" 라는 질문을 하십니다.
여러가지 필수적으로 하는 질문들이 있습니다. 그 중 하나가 "AI를 활용하여 개발하는거에 대해 어떻게 생각하시나요?" 입니다.
누군가는 상당히 부정적으로 답변하고, 누군가는 맹신적으로 답변하기도 합니다.
최근 기술면접에서 두분의 시니어 개발자분들 모두 적극적으로 활용한다고 답변하셨습니다.
그 중 한분이 "근데 주니어 개발자들은 아직 사용하면 안돼요~"라고 말씀하셨고, 이에 대해서는 조금 의아하다 생각하였습니다.
제가 갖고 있던 견해의 차이가 원인이였습니다.
제가 생각하기엔, 'AI를 활용하여 개발하는 것은 ThirdPartyLibrary를 활용하여 개발하는 것과 상당히 유사하다.' 고 생각합니다.
물론 저도 처음 공부할 땐 아무런 ThirdPartyLibary를 사용하지 않았습니다... ㅎㅎ
ChatGPT가 없으면 못만들어요.
이 대답은, "RxSwift가 없으면 구현할 수 없어요." 와 같은 맥락이라 생각합니다.
RxSwift가 없더라도 비동기 개발은 자유자제로 할 수 있어야 하며, 반응형 개발도 당연히 가능해야 합니다.
"Alamofire가 없어서 이를 활용하는것과 같이 네트워크 섹션을 구현할 수 없어요."
왜 안돼요?
해당 라이브러리를 이해하지 못한채로 기능구현을 완료시킨 시점 이후로 해당 기능의 변경이 있을 수 있습니다.
기능의 변경은 현업에 있어서 너무나 당연하게 일어나는 상황입니다.
여기서 문제가 발생할 수 있습니다.
"어? 뭘 바꿔야 돼지..? 이거 하나 한번 바꿔볼까?" -> 실행 -> "어 왜 아래에 있는 화면이 안나오지? 위쪽 화면이 바뀌길 기대했는데..." -> "어라..? 이건 또 왜이래"
와 같은 상황이 매우 높은 확률로 초래될 수 있습니다.
ChatGPT에서 얻어낸 답 또한 이와 같습니다.
그렇기에 이를 잘 활용하는 방법은, GPT로부터 받은 코드도 어느정도 이해하고 사용해야 한다고 생각합니다.
정규식과 같이 검색으로 오래걸리는 단순작업과 같은 경우, 혹은 계산식들에 대해서 자문을 구하고 작업시간을 단축시킨다면 개인이 낼 수 있는 퍼포먼스가 훨씬 올라갈거라 생각합니다. 이는 ThirdPartyLibrary가 주는 일부 장점과도 공통된다 생각합니다.
인공지능을 사용하여 개발하는건 좋지만 어느정도 주의가 필요하다! == ThirdPartyLibrary를 사용할 때 와 유사하다!