개요
AI가 개발을 정말 잘해주는 시대가 됐다. 요즘 AI로 개발을 해보면, 예전 같으면 꽤 오래 걸렸을 작업들이 금방 끝난다. 신규 기능 개발이나 기존 기능 수정 정도는 웬만하면 큰 문제 없이 해준다. 사이드프로젝트 규모에서는 더 체감이 크다.
내가 하고 있는 사이드프로젝트들은 규모가 커봐야 4만 줄에서 7만 줄 정도다. 이 정도 규모에서는 AI가 컨텍스트도 꽤 잘 따라오고, 구조도 생각보다 잘 잡아준다. 대규모 마이그레이션이나 검증이 빡세게 들어가는 작업이 아니라면, 유료 플랜 하나로 회사 업무와 사이드프로젝트를 병행하는 것도 가능하다.
그러면 이제 개발 지식은 별로 필요 없어졌을까?
나는 아직은 아니라고 생각한다. 현시점에서는 개발 지식이 여전히 필요하다. 그리고 AI가 더 똑똑해져도 한동안은 계속 필요할 가능성이 높다고 본다. 오히려 이상한 방향으로 더 중요해졌다고도 느낀다. 예전에는 내가 직접 코드를 짜기 위해 개발 지식이 필요했다면, 지금은 AI가 짠 코드가 맞는지 판단하기 위해 개발 지식이 필요하다. 역할이 조금 바뀌었을 뿐이다.
비개발자도 만들 수'는' 있다
AI 덕분에 비개발자도 프로덕트를 만들 수 있는 시대가 됐다. 이건 확실히 엄청난 변화다. 예전이라면 시작조차 어려웠던 사람이 이제는 로그인 붙이고, CRUD 만들고, 배포까지 할 수 있다. 잠깐만 배워도 그럴듯한 결과물이 나온다. 그런데 여기서 중요한 건 "만들 수 있다"와 "운영 가능한 형태로 만들 수 있다"는 다르다는 것이다.
AI는 비용과 성능을 어느 정도 챙겨준다. 하지만 특정 상황에 맞는 판단까지 항상 해주지는 못한다. 더 정확히 말하면, 사용자가 그 특정 상황을 인지하지 못하면 AI에게 제대로 요청할 수 없다. 예를 들어 서비스가 지금은 돌아간다. 화면도 뜨고, 버튼도 눌리고, 데이터도 저장된다. 그러면 겉으로 보기에는 문제가 없어 보인다.
하지만 왜 느린지, 어떤 요청이 병목인지, 어떤 데이터 구조가 나중에 문제가 될지, 특정 라이브러리를 쓰면 유지보수 비용이 어떻게 늘어나는지 모르면 모든 게 블랙박스가 된다.
"일단 돌아가는데요?"
이 말은 생각보다 위험하다. 프로그램은 돌아가는 것과 운영 가능한 것 사이에 꽤 큰 차이가 있다. 토이 프로젝트라면 여기서 끝내도 된다. 하지만 유저가 생기고, 데이터가 쌓이고, 문의가 들어오기 시작하면 이야기가 달라진다. 그때부터는 "돌아간다"가 아니라 "계속 굴릴 수 있다"가 중요해진다.
모르면 AI에게도 제대로 못 시킨다
AI가 완벽한 프로그램을 짜주는 게 아닌 이상, 개인이 출시할 수 있는 서비스의 규모에는 한계가 생긴다. 물론 이건 어디까지나 현시점 기준이다. AI가 더 발전하면 더 큰 규모의 프로그램도 만들 수 있을 것이다. 하지만 그때도 사용자가 문제를 인식하고 방향을 제시하는 능력은 필요할 가능성이 높다.
가끔 이런 이야기를 한다.
"AI가 더 발전하면 개발 지식도 필요 없어지는 거 아닌가?"
가능한 이야기다. 그런데 그렇게까지 완벽한 AI를 가정하면 개발자만의 문제가 아니다. 그때는 전 세계가 "인간은 이제 뭘 해야 하지?"를 고민해야 한다. 개발 지식이 필요하냐 아니냐를 따질 단계가 아니다. 그래서 현실적인 논의에서는 완벽한 AI를 빼고 생각하는 게 맞다.
우리가 지금 다루는 것은 실수도 하고, 맥락도 놓치고, 검증이 필요한 AI다. 여러 사람이 같이 작업하면 충돌이 생긴다. 혼자 작업해도 라이브러리 업데이트와 의존성 문제는 피하기 어렵다. 프레임워크가 바뀌고, 브라우저 정책이 바뀌고, 배포 환경이 바뀐다. 이런 문제는 단순히 코드를 생성하는 능력만으로 해결되지 않는다.
물론 이제는 모르는 것이 있어도 질문을 잘하면 AI가 꽤 적절한 방식을 제안해준다. 그래서 호기심이 많고 질문을 잘하는 사람이 만든 프로덕트와 개발자가 만든 프로덕트가 겉보기에는 비슷해질 수도 있다. 실제로 틀린 말은 아니다. 예전이었다면 시작조차 못 했을 일을 이제는 AI의 도움으로 어느 정도 구현할 수 있으니까.
하지만 디테일로 들어가면 이야기가 달라진다. 알고 맡기는 것과 모르고 맡기는 것은 다르다. 같은 답변을 받아도 어떤 부분을 믿어도 되는지, 어디를 의심해야 하는지, 지금 구조가 나중에 발목을 잡을지 판단하는 기준이 다르다. 처음에는 작은 차이처럼 보여도, 운영하고 고치고 확장하는 과정에서는 그 차이가 점점 커진다. 그리고 어느 순간에는 서비스의 방향을 되돌리기 어려운 차이로 이어질 수 있다.
결국 누군가는 판단해야 한다. 그리고 그 판단을 하려면 최소한의 내부 구조는 알아야 한다. 블랙박스로 굴러가는 서비스를 계속 운영하는 건 생각보다 무섭다. 지금은 잘 돌아가도, 어디가 약한지 모르면 장애가 났을 때 손댈 곳조차 찾기 어렵다.
전면 리팩터링에서 느낀 AI의 힘
AI의 힘을 가장 크게 느낀 작업 중 하나는 HIARC-Platform 리팩터링이었다. (회사 업무에서도 많이 느꼈지만, 마음대로 이야기를 하면 안되기에 사이드 프로젝트에서 느낀 것만 적었다.) 이 프로젝트는 예전에 했던 사이드 프로젝트인데, 최근 전면 리팩터링을 진행하고 있다.
내부 컴포넌트를 디자인 시스템화하고, 기존 컴포넌트를 디자인 시스템 라이브러리로 일괄 교체했다. 이후 Chrome MCP를 통해 실제 동작을 확인하고, 배포된 버전과 차이를 비교했다. 문제가 생기면 다시 정리해서 수정하는 루프를 돌렸다. 대략 이런 식이었다.
- 내부 컴포넌트를 디자인 시스템으로 정리
- 기존 컴포넌트를 디자인 시스템 라이브러리로 교체
- 브라우저 자동화로 동작 확인
- 실제 배포본과 차이 비교
- 문제 정리 후 다시 수정
특히 인상적이었던 건 기술 스택 전환 작업이었다. 모노레포 안에 있던 앱 하나가 Vite + React + styled-components 기반이었는데, 이를 Next.js + Tailwind CSS 기반으로 바꾸는 작업을 했다. 페이지가 엄청 많은 프로젝트는 아니었다. 그래도 혼자 했다면 두 달은 걸렸을 것이다. 그런데 AI와 함께하니 큰 틀은 하루 만에 옮길 수 있었다. 디자인도 같이 재정렬했는데, 결과도 꽤 만족스러웠다.
이런 작업은 AI가 정말 잘한다. 반복적인 변환, 패턴 일괄 적용, 컴포넌트 교체, 마이그레이션, 브라우저 검증 루프. 사람이 직접 하면 지루하고 오래 걸리는 작업을 AI는 빠르게 밀어붙인다.
하지만 여기서도 개발 지식은 필요했다. 어떤 구조로 옮길지, 디자인 시스템의 경계를 어디에 둘지, 어떤 차이를 버그로 볼지, 어떤 차이는 개선으로 볼지 판단해야 했기 때문이다. AI가 속도를 극단적으로 올려줬지만, 방향을 정하는 건 여전히 사람의 몫이었다.
디자인도 마찬가지다
디자인도 비슷하다. 운영 중인 서비스 중 1D1S, Rutsubo, orot, 그리고 포트폴리오 디자인은 Claude의 도움을 많이 받았다. 확실한 건 내가 직접 디자인한 것보다 훨씬 유려한 결과물이 나왔다는 점이다. 그런데 주변에 보여줬을 때 반응은 반반이었다.
"AI 티 안 나는데?"
라는 사람도 있었고,
"좀 AI스럽긴 하다."
라는 사람도 있었다. 포트폴리오와 Rutsubo 디자인은 AI 티가 난다는 반응이 적었다. 반대로 1D1S는 AI 티가 좀 많이 난다는 이야기를 들었다. 차이가 뭐였을까. 단순히 프롬프트에 "AI 티 안 나게 해줘"를 넣었냐 안 넣었냐도 영향이 있었을 것이다. 하지만 더 큰 차이는 내가 직접 걸러냈는지 여부였다.
Rutsubo와 포트폴리오는 AI 티가 나는 요소를 하나씩 집어내서 제거했다. 과한 그라데이션, 어딘가 본 듯한 카드 레이아웃, 의미 없는 장식, 제품보다 분위기만 앞서는 화면. AI는 평균 이상의 결과를 빠르게 준다. 하지만 "이 서비스에 맞는가?", "이 브랜드에 맞는가?", "사용자가 해야 할 일을 방해하지 않는가?"는 결국 사람이 봐야 한다. 디자인도 개발과 같다. 생성보다 판단이 중요해지고 있다.
개발 지식의 의미가 바뀌고 있다
앞으로 개발 지식의 의미는 조금 바뀔 것 같다. 예전에는 직접 코드를 얼마나 빠르고 정확하게 치는지가 중요했다. 물론 지금도 중요하다. 하지만 그 비중은 줄어들고 있다. 대신 이런 능력이 더 중요해지고 있다.
- 문제를 정확히 정의하는 능력
- 현재 코드의 위험 지점을 파악하는 능력
- AI가 만든 결과물을 검증하는 능력
- 운영 가능한 구조인지 판단하는 능력
- 성능, 비용, 유지보수성을 같이 보는 능력
- 모호한 요구사항을 구체적인 작업 단위로 쪼개는 능력
이것도 전부 개발 지식이다. 단지 키보드로 직접 구현하는 형태가 아닐 뿐이다.
마치며
AI 시대에도 개발자는 필요하다. 다만 필요한 개발자의 모습이 바뀌고 있다. 코드를 많이 치는 사람보다, 무엇을 만들어야 하는지 알고, 왜 그렇게 만들어야 하는지 설명할 수 있고, AI가 만든 결과물을 운영 가능한 수준으로 끌어올릴 수 있는 사람이 더 중요해질 것이다. AI가 코드를 잘 짜주는 시대일수록 개발 지식은 사라지는 게 아니라 더 압축된 형태로 필요해진다. 모르는 사람에게는 모든 것이 블랙박스가 된다. 아는 사람에게는 AI가 강력한 레버리지가 된다.
'Develop > Develop' 카테고리의 다른 글
| 초등학생 때 노트 게임 만들던 감각으로 (0) | 2026.07.03 |
|---|---|
| [개발자의 태도] 나를 위한 개발인가, 우리를 위한 개발인가? (0) | 2026.01.24 |
| [Develop][Front] 간격은 부모 계층이 정해야한다 (0) | 2025.12.02 |
| [Develop] 국제화 JSON 파일을 페이지별로 분할 관리하기 (0) | 2025.11.02 |
| [Develop] 모델 검증 로직은 어디에 위치하는게 좋을까 (0) | 2025.07.03 |