ABOUT

기능이 늘어나도
무너지지 않으려면

일하면서 이 질문에 조금씩 답해 왔습니다. 답은 대체로 예방하는 설계와 확장 가능한 구조, 그리고 기록으로 좁혀졌습니다. 답이 나올 때까지 파고드는 태도는 개발을 시작하기 전, 군에서 먼저 배웠습니다.

군에서 배운 것

절차가 없으면 만든다

육군 UAV 조종은 제가 복무를 시작할 때 부대에 처음 생긴 신규 보직이라, 국내에 참고할 절차가 없었습니다. 매뉴얼 없이 시작해 직접 절차를 세우고 선임 교관 자격으로 5년간 500회 이상 무사고 비행을 완수했습니다. 운용 중 겪은 비상상황 조치는 문서로 만들어 사단·군단에 전파했고, 같은 문제로 인한 기체 손상이 줄어 정비 유공 표창을 받았습니다. 문제를 겪으면 기록으로 남겨 다음 사람의 사고를 막는 방식은 이때 몸에 뱄습니다.

만든 절차는 떠난 뒤에도 남는다

출시와 운영

출시보다 운영이 어렵다는 걸 배우며

전역 후 개발자로 방향을 바꿨습니다. 첫 앱 AVIRO(비건 식당 공유 플랫폼)는 기획·디자인·서버·Android가 모인 동아리 팀에서 iOS를 전담해 출시했습니다(2023.05–2026.04 약 3년 · 누적 1,300명+ · 평점 4.9). 여기서 얻은 가장 큰 것은 운영의 교훈입니다. MVP 패턴으로 붙여 가며 만든 코드가 대규모 기획 업데이트에서 한계를 드러내는 걸 겪었고 그 경험이 아키텍처 학습의 전환점이 됐습니다. Clean Architecture 레퍼런스를 이해될 때까지 반복해 클론 코딩하고 컨트리뷰터로 참여하며 다음 실무를 준비했습니다. 두 번의 실무를 거치며 Instruments로 메모리 누수를 추적하고 신규 프로젝트의 아키텍처를 직접 제안·설계했습니다.

구조는 운영에서 판가름 난다

지금

매주 바뀌는 제품을 구조로 지탱하며

키라&컴퍼니에서 금융 교육 앱 KIRA(Katsby)의 iOS를 주도했습니다(2025.05–2026.07, 1년 3개월). 베타 출시 일주일 전 합류해 QA 공백을 메우며 시작했고, 매주 바뀌는 스프린트에 대응하면서 흩어진 상태 관리를 타입과 단방향 구조로 정리했습니다. 기능이 늘어나도 무너지지 않는 구조를 만드는 데 집중했습니다.

빠르게 갈수록 구조가 필요하다

일하는 방식

iOS를 깊게, 크로스플랫폼 폭으로

  • iOS
    주 플랫폼 · Swift · UIKit + SwiftUI 네트워크 레이어·DI·내비게이션·결제 파이프라인을 직접 설계했습니다. Instruments로 메모리 누수를 추적하고, Crashlytics 스택 트레이스를 원인까지 파고들어 수정합니다.
  • Android · Web
    Jetpack Compose ~150커밋 · React ~26커밋 KIRA 팀에서 iOS와 함께 Android를 겸업하며, iOS 기준으로 잡은 화면 스펙을 두 플랫폼에 동일하게 구현했습니다. 플랫폼 간 동작 차이를 문서로 먼저 잡는 방식을 씁니다.
  • AI 워크플로우
    에이전트 파이프라인 설계 · 산출물 검증 생성, 품질 게이트, 발행이 사람 개입 없이 도는 콘텐츠 파이프라인을 설계해 실서비스에 매일 발행했습니다. AI 산출물은 검증·반려 단계를 거쳐야 채택됩니다.

기록

같은 앱을 두 번

GitHub 검색 앱을 Clean Architecture로 완성한 뒤, 같은 요구사항을 Micro Feature Architecture로 처음부터 다시 구현했습니다. 이 과정 전체를 블로그 3편과 레포 docs/ 구현 노트 8편으로 문서화했습니다. 왜 이 구조인지, 무엇을 포기했는지까지 남기는 것이 목적이었습니다.

GitHub · iOS-TheModularArchitecture-Sample 블로그 시리즈 (3편)

계속 만들고, 기록합니다.

연락하기

편하게 연락 주세요

let contact = Contact(
    email:  "jsh097610@gmail.com",
    github: "github.com/Jeon0976"
)
연락하기