지금으로부터 약 15년 전 일입니다. IT 영업을 막 시작했을 때 일입니다.
신규 영업을 통해 고객의 시스템 유지보수 영업건을 하나 가져왔습니다. 기존 시스템 개발 업체가 망해서 더 이상 유지보수를 할 수 없는 건이었습니다. 영업 입장에서는 단순했습니다. 새로 만드는 게 아니라 이미 있는 시스템의 오류나 장애를 고치는 일이니까 어렵지는 않겠구나. 회사 내부 개발팀과 검토 미팅을 했습니다.
그런데 다들 어렵다는 말부터 했습니다.
처음엔 이해가 안 됐습니다
"고치는 게 왜 어렵나요?"
솔직히 그때는 좀 답답했습니다. 새로 만드는 것도 아니고 고치는 일인데, 그게 왜 그렇게 부담스러운 일인지 감이 안 왔습니다. 표정을 보니 어렵다는 말 너머에 하기 싫다는 느낌까지 들었습니다.
왜냐면, 남이 만들어 놓은 것을 유지보수 하는것 보다는 차라리 새로 만드는 것이 훨씬 쉽다고 했습니다.
나중에 알게 된 진짜 이유
시간이 지나면서 조금씩 알게 됐습니다.
같은 프로그램, 같은 기능이라도 개발자마다 코드를 짜는 방식이 다르다는 것입니다. 100명이 같은 기능을 만들면 100개의 다른 코드가 나온다는 것입니다. 즉, 프로그램은 하나인데 그 안의 구조는 사람(개발자)마다 제각각인 것입니다.
그러니 다른 사람이 짠 코드를 유지보수한다는 건, 그 사람의 머릿속 논리를 처음부터 다시 따라가는 일이었던 것이었습니다. 제가 생각했던 "고치는 일"과 개발자들이 느끼는 "고치는 일"은 완전히 다른 개념과 무게였던 겁니다.
그때 들었던 생각이 하나 있습니다
지금도 솔직히 100% 이해된다고는 말 못 합니다. 하지만 그때 든 생각은 지금도 똑같습니다.
"사람마다 스타일이 다른 거라면, 최소한 우리 회사 안에서는 규칙을 정해서 그 안에서 짤 수는 없을까."
영업 입장에서 본 단순한 발상이었습니다. 그런데 이게 표준 프레임워크가 존재하는 이유와 정확히 같은 지점이었습니다.
표준화가 막는 건 사실 사람이 바뀌는 리스크입니다
공통 컴포넌트와 정해진 패턴으로 개발하면, 누가 짰든 구조가 같아집니다. 새로 투입된 개발자도 그 틀만 이해하면 코드를 읽을 수 있습니다.
처음 그 미팅에서 제가 느꼈던 답답함. 개발자들이 느꼈던 그 어려움. 둘 다 결국 같은 문제에서 나온 거였습니다. 표준이 없으면 사람이 곧 시스템이 된다는 것. 그 사람이 빠지면 시스템을 아는 사람도 함께 사라집니다.
그리고 최근에 똑같은 질문을 다시 하게 됐습니다
요즘은 AI로 코드를 짜는 바이브 코딩이나, 코덱스 같은 도구로 개발하는 이야기가 자주 나옵니다. 개발팀 회의에서 한번 물어봤습니다.
"우리도 AI 코딩 도구를 활용해서 개발하면 어떨까요?"
돌아온 답이 그 옛날 미팅과 미묘하게 닮아 있었습니다.
할 수는 있다고 했습니다. 다만 AI도 결국 사람과 똑같은 문제를 가질 수 있다는 게 핵심이었습니다.
정해진 표준이나 설계 원칙 없이 AI에게 빠르게 코드를 짜게 하면, 사람이 제각각 코드를 짤 때와 똑같이 일관성 없는 구조가 나올 수 있다는 겁니다. 그러면 나중에 장애가 생겼을 때 그 코드를 검토하고 원인을 찾는 데 시간이 훨씬 더 걸리게 됩니다.
그래서 지금 단계에서 AI에게 전체 시스템을 통째로 맡기는 건 아직 리스크가 크다고 했습니다. 15년 전 "사람마다 코드 스타일이 달라서 유지보수가 어렵다"던 그 말이, 지금은 "표준 없이 AI에게 맡기면 똑같은 문제가 반복된다"는 말로 바뀌어 있었습니다.
결국 인수인계의 문제였습니다
사람이 짜든, AI의 도움을 받아 짜든 마찬가지입니다.
다음에 그 코드를 들여다볼 사람이 이해할 수 있어야 합니다. 그게 표준 프레임워크가 존재하는 이유였고, AI를 활용하는 시대에도 여전히 같은 이유로 유효합니다.
기술은 계속 바뀌지만, 그 옛날 미팅에서 제가 느꼈던 답답함은 결국 같은 질문이었습니다.
결국 유지보수가 어려운 이유는 기술이 아니라, 다음 사람에게 제대로 넘겨줄 수 있느냐의 문제였습니다.
함께 보면 좋은 글
기업용 모바일 플랫폼이 관리 포인트를 줄이는 방식이 궁금하다면. 앱 하나로 안드로이드·iOS 동시에 잡는 기업용 모바일 플랫폼, 왜 아직도 필요한가?
