brunch

기술부채(technical debt)

by Uncle Lee

소프트웨어 개발 업계에는 기술부채 라는 말이 있습니다.

지금 당장은 돌아가지만 결국 나중에 갚아야 할 빚이 되어 돌아온다는 것이죠.

급하게 추가한 기능, 특정한 상황 또는 특정한 데이터에만 작동하는 코드, 외부 환경으로 어쩔 수 없이 추가된 코드등 당장은 문제 해결이 가능하지만 이게 쌓이면 결국 나중에 발목을 잡게 됩니다.


이렇게 기술부채가 많이 쌓인 코드 환경에서는 AI가 크게 도움이 안되는 경우가 많습니다.

작은 부분을 코딩할 때는 큰 도움이 되지만 전체적으로 복잡하게 얽힌 코드를 수정해야 하는 일에는 AI를 쓰기 쉽지 않습니다.


왜냐하면 기존 코드에 일관성도 없고, 이 함수에서 적용되던 규칙이 다른 함수에서는 다르게 해석되기도 하기 때문이죠. 코드에 얽힌 스토리가 많아서 인터넷에서 정답을 찾을수도 없습니다.

AI는 상황을 설정하고, 맥락을 알려준 뒤, 요구사항을 말해주면 거기에 맞는 평균적인 해답을 알려주는데 실제 현실은 그렇게 정형화된 상황을 설정하기 힘든 경우가 많습니다.

그리고 그 해법 또한 정석이 아닌 편법을 써야 하는 경우도 있고요.


읽어들이는 데이터에 따라서 분기되는 코드도 많아서 데이터를 하나 하나 다 열어봐야 어떻게 작동하는지 알 수 있는 경우도 있습니다. 무턱대로 일관된 규칙대로 코딩해버리면 기존에 돌아가던 것도 안되고 정말 난리가 나죠.


AI의 혜택을 제일 크게 보는 곳은 아마 신규 개발을 하는곳이 아닐까 싶습니다.

기존의 레거시 코드가 많은 환경에 이런저런 스토리가 복잡하게 얽혀있을 수록 AI활용이 더딘 것 같고요.

그리고 신규 개발도 1,2년만 지나면 슬슬 레거시 화 되는 경우가 많은데 결국 아무리 AI가 발전해도 사람은 계속 필요할 것 같습니다.



이런 생각을 저만 하고 있는건 아닌것 같아서 검색을 좀 해봤습니다.

https://www.jawsletter.blog/ai-makes-tech-debt-more-expensive/


https://news.hada.io/topic?id=17775



기술이 좀 성숙되고 안정화 되면 혁신보다는 유지보수를 해야 할 인력도 많이 필요해 집니다.

AI라고 크게 다를수는 없다고 봅니다. 결국 AI가 만든 내용을 어디에 쓸거냐는 사람이 결정하기 때문이죠.

아무리 AI가 발전해도 사람의 손은 필요할거라고 생각합니다.

그래서 AI가 많은걸 자동화 해주긴 하지만 그럴수록 더욱 더 공부하고 기술을 연마해야 경쟁력이 생길 수 있습니다.

저도 AI가 바꿀 세상이 어떨지 궁금하지만 두렵지는 않습니다. AI를 이길 수 있다는 자신감이 있어서 그런건 아니고 그냥 지금 내가 기술자로서 할 수 있는 일을 할 뿐인거죠.

(사실 두려워한다고 그걸 피해갈수 있는것도 아닙니다.)


작가의 이전글2025 대선 개표율에 따른 득표수