AI시대, 개발자가 아키텍처를 배워야 하는 이유 3가지

약은 약사에게, 코드는 아키텍트에게

by 위키북스
image1.jpg?type=w966


AI로 코드를 자동 생성하는 시대, '개발자는 곧 사라질 직업'이라는 말이 심심찮게 들립니다. 정말 그럴까요?


결론부터 말하면, 적어도 당분간은 그렇지 않습니다. 오히려 아키텍처를 이해하는 개발자의 가치는 더 높아지고 있습니다.


클로드 코드(Claude Code)나 커서(Cursor) 같은 AI 모델을 활용하면 비전문가도 자연어로 요구사항을 설명하는 것만으로 일정 수준의 코드를 생성할 수 있습니다. 이처럼 AI가 코딩을 보조하는 시대에는 전문 개발자나 아키텍처에 대한 깊은 이해가 더 이상 필요 없을 것처럼 보입니다.


그러나 AI가 코드 생성을 가속화하더라도 시스템의 장기적 안정성과 유지보수성을 보장하는 아키텍처 설계는 여전히 인간의 전략적 판단을 요구합니다. 특히, 구조화된 코드가 추가/수정 작업에 용이하다는 점, 코드 품질 유지를 위한 가드레일이 필수적이라는 점, 그리고 설계 단계부터의 맥락 이해가 AI의 효과성을 높인다는 점을 고려하면 아키텍처 학습의 필요성은 오히려 더 커집니다.




1. 개발자는 단순히 '코드'만 작성하지 않는다

개발자라고 해서 하루 종일 코드만 작성하는 것은 아닙니다. 실제 현업에서 개발자는 다양한 역할을 수행합니다.


기획자, 디자이너, 다른 이해관계자와 소통하며 요구사항과 품질 속성을 정의

제약사항을 파악하고 적절한 기술 스택을 선정

운영 중인 애플리케이션을 모니터링하고 장애에 대응

성능 및 보안 요구 충족, 인프라와 외부 시스템 검토


이러한 활동은 단순한 코드 생성으로 대체하기 어렵습니다. AI가 코드를 자동화하더라도 이해관계자와의 협업, 요구사항 분석 같은 업무는 여전히 사람이 주도해야 합니다.


즉, '개발' 업무의 일부가 대체될 수는 있어도, '개발자의 역할'이 완전히 사라지긴 어렵습니다.


더구나 AI 시대에는 개발자의 역할이 단순 코딩에서 아키텍처 설계와 비즈니스 가치 창출로 이동합니다. AI는 반복적인 코딩을 효율화하지만, 시스템 아키텍처의 큰 그림(예: 클린 아키텍처의 계층 분리나 의존성 역전 원칙 적용)은 인간의 경험과 통찰이 필수적입니다.




2. 약은 약사에게, 코드는 아키텍트에게

비전공자임에도 생성형 AI를 활용하면 전문가 수준의 결과물을 만들 수 있는 분야 중 하나가 이미지 생성입니다. 그러나 실제로 디자인 비전공자와 전공자에게 동일한 주제를 제시하고 AI를 이용해 이미지를 생성하도록 요청하면 차이가 드러납니다.


비전공자: '가을 분위기가 나는 배경의 아름다운 두 여성을 그려줘'처럼 일반적인 지시를 내립니다.

전공자: 명암, 색감, 구성 요소의 세부 표현을 구체적으로 지정합니다.


결과적으로 전공자의 출력물이 더 높은 퀄리티를 보입니다. 이는 디테일의 차이에서 비롯되며, 전문 지식이 AI에게 더 정확한 방향성을 제공하기 때문입니다.


image2.png?type=w966


이 원리는 코드 작성에도 그대로 적용됩니다. 코드 구조를 어떻게 만들지 구상하는 아키텍처 설계는 사람이 맡고, 실제 구현은 AI가 대신 수행하도록 할 수 있습니다. 이때 중요한 것은 사람이 '코드를 어떻게 구조화할지'에 대한 이론적 토대와 경험을 갖추고 있어야 한다는 점입니다.


아키텍처 역량이 뛰어난 개발자는 AI 시대에 더욱 가치 있는 인재로 자리매김할 수 있습니다. 예상하건대, 앞으로 5년 동안은 '사람이 구상하고, AI가 실행하는' 형태의 AI 활용 방식이 주를 이룰 것입니다. 단순히 코드를 작성하는 사람으로 자신을 한정한다면 시간이 흐를수록 설 자리가 좁아질 가능성이 높습니다.


경험이 풍부한 개발자는 AI 도구를 가장 효과적으로 활용할 수 있는 위치에 있습니다. 핵심은 프로그래밍 지식과 프로젝트 운영 노하우야말로 AI 도구를 최적화된 형태로 활용할 수 있는 기반이라는 점입니다.


LLM 기반의 프로그래밍 에이전트를 비유하자면, 프로그래밍 지식은 매우 풍부하지만 현재 문맥에서는 설계 이해가 부족한 상태에 가깝습니다. 그래서 이들에게 실질적인 업무를 맡기려면 전략적인 준비와 안내가 필수적이며, 이 역할을 수행할 수 있는 최적의 인물이 아키텍처 지식과 경험을 쌓은 개발자입니다.



3. 책임과 유지보수는 결국 사람의 몫

개발 과정과 운영 환경에서 발생하는 문제, 예기치 못한 변경, 장애 대응에 대한 최종 책임은 결국 사람이 집니다.


완전히 AI에게 모든 코드를 맡기고 자연어로만 시스템을 관리하며 문제가 생기면 다시 AI에게만 의존하는 형태가 가능할까요? 현실적으로 어렵습니다.


변경된 요구사항을 반영하기 위해서는

기존 아키텍처와 코드를 파악해야 합니다

수정 방향을 결정해야 합니다

AI에게 적절히 재지시해야 합니다


테스트, 모니터링, 장애 대응 역시 단순히 '코드를 생성'하는 것과는 차원이 다른 작업입니다. 결국 아키텍처와 코드 구조를 이해하고 유지보수할 줄 아는 사람이 필요합니다.


아키텍처 설계는 단순히 '기능 A를 만들어줘'라는 한두 마디로 해결되지 않습니다. 다양한 이해관계자의 요구사항, 비즈니스 로직, 성능 및 보안 요구, 운영 환경의 제약, 확장성과 유지보수성을 모두 종합해야 합니다.


아키텍처는 한 번 세운 뒤 끝나는 것이 아니라 제품의 성장과 요구사항 변경에 따라 지속적으로 개선되고 진화해야 합니다. 여기서 문제는 변경된 요구사항을 반영하기 위해 기존 구조와 책임 관계를 다시 AI에게 설명하고, 수정 코드를 재생성한 뒤 이것이 기존 코드와 충돌하지 않도록 관리하는 과정입니다.


이 흐름에서 사람이 아키텍처와 코드 기반을 이해하지 못한다면 결과물의 품질과 안정성은 크게 떨어질 수밖에 없습니다. AI는 프로토타입 생성에는 강력하지만 장기 유지보수나 복잡한 변경 관리를 위한 시스템 구조를 설계하는 데는 인간의 경험적 통찰이 필수적입니다.


완전 자동화된 AI 기반 설계를 상상해봅시다. 우리는 단지 자연어로 '이런 시스템을 만들어달라'고 명령하고, 이후 발생하는 문제나 개선 사항 역시 AI에게 모든 책임을 떠맡깁니다. 그러나 현재 AI는 기존 코드 기반과 시스템 구조를 '맥락'으로 인식하고 시스템을 해석하는 데 한계가 있습니다.


결국 사람은 아키텍처와 코드의 의도를 숙지하고, 문제가 발생했을 때 어떤 부분을 어떻게 개선해야 하는지 방향을 제시할 능력이 필요합니다. 이러한 인적 역량 없이 AI에게 모든 것을 일임하는 것은 전략 없이 '좋은 팀원이니까 알아서 잘하겠지'라고 믿는 것과 다르지 않습니다.



4. AI 시대, 어떻게 준비할 것인가

AI 시대에 클린 아키텍처 같은 체계적 설계 지식이 필요한 이유가 바로 여기에 있습니다. AI가 코드를 생성하더라도 시스템의 구조적 무결성을 유지하고 비즈니스 가치를 최적화하는 것은 인간의 몫입니다.


주니어 개발자라면 이러한 지식을 쌓기 위해 노력해야 합니다.

다음과 같은 활동을 통해 경험을 축적하면 AI 시대에도 경쟁력 있는 개발자로 성장할 수 있습니다.


AI를 활용한 프로젝트 참여 - AI 도구를 직접 사용하면서 그 한계와 가능성을 체험

코드 리뷰 - AI가 생성한 코드를 검토하고 개선점을 찾는 연습

아키텍처 관련 서적 공부 - 클린 아키텍처, SOLID 원칙 등 설계 지식 습득


최첨단 기술인 AI 도구조차 전통적인 개발 관행과 경험을 기반으로 할 때 가장 효과적으로 활용 가능합니다.



AI는 개발자의 생산성을 크게 높여주지만, 아키텍처에 대한 이해가 부족하면 오히려 코드 품질이 떨어지고 장기적인 유지보수 비용이 증가할 수 있습니다. 아키텍처 지식을 가장 쉽고 효과적으로 쌓고 싶다면, 《클린 아키텍처 핵심 가이드》를 추천드립니다.




keyword
작가의 이전글출판사 대표가 낭만적으로 생성형 AI 이미지 만드는 법