나는 안드로이드 경험 없이 4일 만에 안드로이드 앱을 만들었다 — Claude Code와 2계층 AI 프로토콜 사용

발행: (2026년 2월 8일 오전 02:30 GMT+9)
9 분 소요
원문: Dev.to

I’m ready to translate the article for you, but I don’t see the article’s text in your message—only the source link. Could you please paste the content you’d like translated (or let me know if you’d like me to retrieve it from the link)? Once I have the text, I’ll provide the Korean translation while keeping the source line and all formatting exactly as you requested.

배경

저는 프로그래머가 아니라 제어‑시스템 엔지니어입니다. 15 년 동안 유럽 스포츠‑바이크 제조사를 위해 오토바이 ECU(전자 제어 장치)의 제어 로직—트랙션 컨트롤, 퀵시프터, 드라이브‑바이‑와이어 시스템—을 설계해 왔습니다. 일상 업무는 흐름도를 그리고 소프트웨어 엔지니어가 코딩할 사양서를 작성하는 일입니다. C 언어를 읽을 수는 있지만 전문적으로 작성하지는 않으며, 가장 능숙한 언어는 VBA입니다.

Kotlin, Jetpack Compose, Gradle—전혀 낯선 영역입니다.

개인적인 문제를 해결할 솔루션이 필요했습니다. 저는 투자형 생활보험 상품을 보유하고 있는데, 제공사의 온라인 포털은 거의 유용한 정보를 제공하지 않았습니다—차트도 없고, 추세 시각화도 없으며, 벤치마크 지수와의 성과 비교도 할 수 없었습니다. 해당 상품은 가치가 서서히 하락하고 있었고, 새해가 지나면서 몇 단계 더 떨어졌습니다. 저는 단순한 느낌이 아니라 실제 데이터를 보고 싶었습니다.

기존에 이런 기능을 제공하는 앱이 없었기에, 제가 직접 만들기로 결심했습니다.

초기 AI 시도

처음에는 단일 워크플로우 AI 접근 방식을 시도했습니다: 내가 원하는 것을 설명하고, AI가 접근 방식을 제안하도록 한 뒤, 이를 승인하고 모든 것을 구현하게 했습니다. 그 결과는 동작하는 듯 보였지만 얕은 수정, 오해된 요구사항, 반복되는 버그가 난무한 코드였습니다. AI는 완전히 이해하지 못한 기반 위에서 구축하고 있었고, 저는 제 전문 분야가 아닌 구현 세부 사항에 대한 AI의 판단을 신뢰했기 때문에 문제를 잡아내지 못했습니다.

그 경험을 통해 중요한 교훈을 얻었습니다: AI는 인간 엔지니어링 팀이 사용하는 것과 동일한 관심사 분리를 필요로 합니다.

두‑계층 AI 프로토콜

디자인 AI – 설계자

  • 요구 사항 분석 및 시스템 설계를 담당합니다.
  • 마크다운 파일로 구조화된 구현 지침을 생성합니다.
  • 코드를 절대 건드리지 않습니다.

구현 AI (Claude Code) – 빌더

  • 구체적이고 범위가 정의된 지침을 받아 실행합니다.
  • 코드를 작성하고, 빌드를 실행하며, 결과를 보고합니다.
  • 설계 결정을 내리지 않습니다.

나 – 다리

  • 지침을 전달하고, 실제 장치에서 테스트하며, 판단을 내리고, Git을 관리합니다.
  • 수정하기 전에 조사합니다: 문제가 발생하면 구현 AI가 이슈를 보고하고, 디자인 AI와 나는 결과를 분석하여 새로운 코드를 작성하기 전에 접근 방식을 결정합니다.

핵심 규칙: 수정하기 전에 조사한다. 무작위로 코드를 수정하지 않는다.

프로젝트 타임라인

1일차 – 설정 및 분해

  • 기술 스택 선택: Kotlin + Jetpack Compose.
  • 프로젝트를 7단계로 분해했습니다.
  • 하루가 끝날 때까지 에뮬레이터에서 첫 번째 버전을 구축했습니다.

2일차 – 데이터 레이어

  • 데이터 레이어를 구현했습니다.
  • 문제 발생: Room(Android의 데이터베이스 라이브러리)이 kapt 폐기 때문에 AGP 9.0과 호환되지 않았습니다.
  • 결정(2시간 이내): Room을 포기하고 SharedPreferences + Gson을 사용하기로 했습니다. 우아하지는 않지만 MVP 범위에서는 기능합니다.
  • 손실 시간: ~2 시간.

3일차 – 스크래핑 및 정규화

  • 보험 제공자의 데이터를 위한 HTML 스크래핑을 구현했습니다.
  • 벤치마크 지수를 위한 CSV 파싱을 추가했습니다.
  • 내부 조인을 사용한 날짜 기반 정규화를 수행했습니다.
  • 탐지 로직 구축: 4가지 판단 유형과 10단계 순위 시스템.

4일차 – UI 및 백그라운드 작업

  • 차트 작성을 위해 MPAndroidChart를 통합했습니다.
  • 설정 화면, 네비게이션, 앱 아이콘을 추가했습니다.
  • 지수 백오프를 적용한 백그라운드 스케줄링을 위해 WorkManager를 설정했습니다.
  • 푸시 알림을 구현했습니다.
  • MVP가 완성되었습니다.

생성된 아티팩트

  • 53개의 구조화된 지시 파일.
  • 7개의 단계‑채팅 문서.
  • 모든 것을 조정하는 1개의 어셈블리 채팅.

Lessons Learned

  • Library Compatibility: Room + kapt on AGP 9.0은 예상치 못한 장애물이었습니다. Design AI와 나는 트레이드‑오프를 논의하고 MVP에 SharedPreferences를 받아들였습니다.
  • Tool Proficiency Check: 차트 작성을 위해 Vico를 시작했지만 Implementation AI가 작동하는 코드를 만들지 못해 MPAndroidChart로 전환했습니다. 라이브러리에 대한 AI의 실제 숙련도를 확인한 후에 사용하세요.
  • Failure Containment: 2‑layer 프로토콜 덕분에 실패가 프로젝트를 좌초시키는 것을 방지했습니다. 먼저 조사하고, 옵션을 논의한 뒤 수정 사항을 구현합니다.
  • Reusable Protocol: 나는 이전에 Bridgiron—데스크톱 개발 지원 도구—에서도 같은 프로토콜을 사용했습니다. 이 원칙은 도메인과 기술 스택을 넘어 적용됩니다.

결론

저는 Claude Code를 약 4주간 사용해 왔으며 AI‑보조 개발을 위한 재사용 가능한 프로토콜을 체계화했습니다. 한 분야에 경험이 풍부한 엔지니어가 익숙하지 않은 스택에서 AI가 생산성을 높일 수 있는지 궁금하다면: , 다만 AI를 단순히 프롬프트를 작성하는 것이 아니라 설계해야 할 시스템으로 대해야 합니다.

제어 시스템 엔지니어, 오토바이 ECU 개발 15년 경력. 현재 AI‑보조 개발 워크플로를 탐구하며 효과적인 방법을 문서화하고 있습니다.

0 조회
Back to Blog

관련 글

더 보기 »

UX/UI 타이포그래피

Typography란 무엇을 의미할까요? - 어떤 font를 사용할지 - 어느 위치에서 얼마나 크게 할지 - 얼마나 굵게 할지 - 행 간격 - ...

이번 주 상위 7개 추천 DEV 게시물

이번 주 Top 7에 오신 것을 환영합니다. DEV 편집팀이 지난 주에 가장 좋아한 게시물을 직접 선정했습니다. 선정된 모든 저자분들께 축하드립니다.