처음엔 정말 놀라웠다. ChatGPT로 코드 뼈대를 만들고, 오픈소스에서 필요한 기능을 찾아 붙이면 몇 시간 만에 데모 하나가 뚝딱 완성된다.
AI를 이용해 개발 속도를 단축하고, 오픈소스로 구조를 잡다 보면 마치 내가 대단한 개발자
처럼 느껴지기도 한다.
하지만 어느 순간, 예상하지 못한 벽에 부딪힌다. 빠르게 만든 만큼, 빠르게 망가지는 것도 있다는 걸 뒤늦게 깨닫게 된다. 😲
처음에 오픈소스를 가져다 쓸 때는 마치 레고 조립 같아서 재밌기까지 하다. 그런데 어느 순간부터 특정 라이브러리가 업데이트되면서 호환이 안 되거나, 의존성 충돌이 나기 시작한다. 문제는 이게 "AI나 오픈소스가 해결해주겠지"의 영역이 아니라, 내가 직접 해결해야 하는 문제라는 점이다. AI와 오픈소스는 무한한 제공자지만, 유지보수는 직접 해야 한다라는 걸 프로젝트가 커진 뒤에야 실감했다.
ChatGPT나 오픈소스를 활용하면 정말 빠르게 데모를 만들 수 있다.
다만 문제는 이후다. 그 코드가 왜 그렇게 작성됐는지, 원리를 완전히 이해하지 못한 채 지나간 부분이 많다면 유지보수는 훨씬 더 어렵고 오래 걸린다.
코드를 다시 뜯어보고, 그때 그 AI가 왜 저런 방식으로 짰는지 추정해야 하는 상황이 반복된다. 결국 처음엔 시간 아낀 줄 알았는데, 유지보수 단계에서 그 시간 이상을 쓰게 된다.
작고 단순한 프로젝트라면 괜찮다. 당장 돌아가기만 해도 의미 있으니까.
하지만 기능이 많아지고, 사용자가 생기고, 누군가에게 ‘필요한 서비스’가 되는 순간부터는 얘기가 달라진다. 그때부터는 얼마나 빠르게 만들었는지가 아니라, 얼마나 안정적으로 유지할 수 있는지가 중요해진다. 경험상, AI와 오픈소스로 만든 프로젝트일수록 유지보수의 허들이 더 빨리 찾아온다.
AI와 오픈소스를 활용하면 개발이 빨라지는 건 사실이다. 하지만 그만큼 내부 구조를 완전히 이해하지 못한 채 쌓인 코드와 설정들은 결국 유지보수의 부담으로 되돌아온다. 이건 수치로 딱 떨어지진 않지만, 개발자라면 한 번쯤은 겪어본 이야기일 거다.
지금 프로젝트가 잘 굴러가고 있다면, 이제는 잘 굴러가게 계속 만들 자신이 있는지를 고민해볼 시점이다. 위 그래프에서 보이는 Dead Cross를 만나기 전에 내재화를 완벽히 하길 바란다.
@nullvuild