10년 차 개발자가 알려주는 Claude Code로 앱 개발 시작하는 법
핵심 요약
코드부터 짜지 말고 시스템 아키텍처와 인프라(Plumbing)를 먼저 이해해야 진짜 소프트웨어를 만들 수 있음.
- 시스템 아키텍처 — 프론트엔드, 백엔드, 데이터베이스, 인프라의 4가지 핵심 구성 요소를 이해함.
- 인프라의 중요성 — 코드 외적인 호스팅, 보안, 모니터링 등 앱을 안정적으로 운영하는 기반을 다짐.
- 단계적 학습 — 처음부터 모든 것을 구현하기보다 필요한 기능을 순차적으로 도입하는 전략을 세움.
- AI 활용법 — Claude를 단순 코드 생성기가 아닌 시스템 설계의 파트너로 활용하는 방법을 익힘.
이 글은 다음과 같은 분들을 위한 것입니다. 만약 본인 이야기라면 도움이 될 것 같습니다:
- 코딩을 처음 시작하는 분
- 수년간의 훈련 없이도 마법 같은 능력을 발휘하게 해주는 AI에 감탄하는 분
- 비즈니스나 앱 아이디어를 꿈꿨지만 어디서부터 시작해야 할지, 어떻게 만들어야 할지 몰랐던 분
- 멈추지 않고 '바이브 코딩'을 하며 토큰을 소진하고 있는 분
- 무엇이 안전한지, 시스템을 어떻게 구조화해야 하는지, 시스템끼리 어떻게 상호작용해야 하는지 확신이 없는 분. 즉, 코드 자체를 제외한 배관(호스팅, 인증, API, 버전 관리, 테스트, 분석 등)에 대해 잘 모르는 분
이 중 하나라도 해당된다면 제가 도와드릴 수 있습니다! 다만, 저는 스타트업 창업, 사용자 확보, 마케팅 등에는 전문가가 아닙니다. 제가 전문적인 경험을 많이 가지고 있는 분야는 위에서 언급한 마지막 항목입니다.
이제 본론으로 들어가죠!
논란의 여지가 있을 수 있지만, 제가 여러분의 입장이라면 가장 낮은 수준인 코드부터 시작하지 않을 것입니다. 오히려 정반대로 가장 높은 수준에서 시작할 것입니다.
그게 무슨 뜻일까요?
오늘날 시작하는 사람들에게 가장 중요한 것은 견고한 애플리케이션을 만드는 기본 원리를 높은 수준에서 배우는 것이라고 생각합니다. 바로 시스템 아키텍처입니다. 이 글의 나머지 부분에서는 이를 다룰 것입니다. 안전한 풀스택 소프트웨어 애플리케이션의 구성 요소는 무엇인가에 대해서 말이죠. 다룰 내용이 너무 많아서 이번에는 폭넓게 다루는 수준으로 유지하겠습니다. 사람들이 관심이 있다면 아래 나열한 각 주제에 대해 전용 게시물을 만들고 싶습니다.
그렇다면 소프트웨어 애플리케이션의 주요 아키텍처는 무엇일까요?
네 가지 주요 구성 요소가 있으며, 각각 아래에 많은 세부 사항이 있습니다.
- 프론트엔드 -> 사용자가 보는 것. 웹사이트, 모바일 앱 등
- 백엔드 -> 앱의 주요 로직과 규칙
- 데이터베이스 -> 데이터가 저장되는 곳
- 배관(Plumbing) -> 모든 것이 연결되고 유지되는 방식
이 모든 것에 대해 몇 시간 동안 이야기할 수 있지만, 간결하게 하기 위해 가장 영향력이 크고 가장 큰 격차를 보이는 4번, '배관'에 집중하겠습니다. 왜냐고요? Claude나 사용하는 에이전트에게 프론트엔드, 백엔드, 데이터베이스를 설정해달라고 하면 아주 쉽게 해낼 수 있기 때문입니다. 사실 여러분이 바이브 코딩으로 만든 앱들은 이미 그렇게 했을 겁니다! 앞의 세 주제도 다룰 내용이 많지만, 배관은 노련한 팁이 가장 도움이 되는 영역이라고 생각합니다.
배관(Plumbing) -> 모든 것이 연결되고 유지되는 방식
이제 진짜가 시작됩니다. 바이브 코딩으로 무언가를 만들고 실행하면 완성된 것처럼 느껴집니다. 완성된 것처럼 보이죠. 하지만 여러분이 보고 있는 것은 빙산의 일각, 수면 위로 드러난 부분일 뿐입니다. 배관은 수면 아래에 있어 아무도 보지 못하지만, 여러분의 앱이 주말용 장난감인지 아니면 실제 사람들이 데이터와 돈을 맡길 수 있는 신뢰할 수 있는 것인지를 결정하는 모든 것입니다. (또한 AI는 여러분이 요청하지 않으면 기꺼이 건너뛸 부분입니다. 그래서 이름을 알아두는 것이 중요합니다.)
저는 이를 네 가지 질문으로 그룹화했습니다. 앱에 대해 이 질문들에 답할 수 있다면, 이미 오늘날 코딩하는 대부분의 바이브 코더들보다 앞서 있는 것입니다.
모든 것이 어떻게 서로 소통하는가?
프론트엔드, 백엔드, 데이터베이스는 하나의 덩어리가 아닙니다. 서로 메시지를 끊임없이 주고받는 별개의 조각들입니다. 이것은 보이지 않지만 항상 실행되는 부분입니다. 대부분의 애플리케이션에서 이는 다음을 통해 이루어집니다:
- API: 프론트엔드가 백엔드에 무언가를 요청할 때 사용하는 '문' 세트입니다("이 사용자의 주문을 줘"). 다른 방법들도 있지만, 처음에는 여기에 집중하는 것이 좋습니다.
어디에 존재하며, 어떻게 온라인 상태가 되는가?
지금 당장은 여러분의 앱이 노트북에만 존재할 것입니다. 그것을 인터넷에 올리고 유지하는 것은 별개의 일입니다.

