지금
무엇을 해온 사람인가
어떤 환경에 올려도 끝까지 동작하게 만듭니다.
- 앱 + 웹 양쪽
- 회원 · 결제 · 콘텐츠 흐름 구축
- 현재
- 영화관 운영 · 콘텐츠 유통 플랫폼 기업 연구개발팀장
- 담당 범위
- 매장 단말 · B2C 앱과 웹 · TV 앱 · 운영 도구
축 01
앱과 웹의 경계
- 딥링크 진입 경로 직접 구축
- 인앱 브라우저 결제·로그인 끊김 제거
- 파트너 앱 웹뷰 안 인증 → 결제 완결 규격 정의
축 02
결제 흐름 3종
- 간편결제 · PG · 카드 결제 단말
- 주문 ↔ 결제 사이 미확정 상태 추적
- HTTP 200 응답 + 실제 실패 구간 관측
축 03
제어할 수 없는 실행 환경
- 스마트TV — 버전이 제조 시점에 고정
- 메신저 · SNS 인앱 브라우저
- 파트너 앱 웹뷰 — 배포 주기 통제 불가
판단 기준
기술은 우열이 아니라 우리가 감당할 수 있는지로 고릅니다.
- TV 앱
- 플랫폼 제약 → 스택 유지
- 모바일 앱
- 팀 역량 · 배포 주기 → 스택 전환
- 같은 회사, 다른 결론
- 제약이 다르면 통일하지 않는 편이 낫다
Through-line
결제 흐름 — 세 곳에서 반복해 만난 문제
결제는 화면을 만드는 일이 아니라 상태를 추적하는 일. 성공 경로보다 성공한 척하는 경로가 훨씬 비쌉니다.
경험 02 · B2C 예매 앱
간편결제 · PG
- 외부 결제 앱으로 나갔다 복귀
- 복귀 실패 = 최대 이탈 지점
경험 06 · 매장 단말
카드 결제 단말
- 단말 전문에 주문번호·가맹점 연동
- 물리 장비와 주문 상태 정합
경험 04 · 파트너 웹뷰
웹뷰 안 결제 완결
- 우리 것이 아닌 런타임
- 세션은 서버 간 호출로 검증
문제 01
복귀 실패
- 외부 앱·브라우저에서 돌아오지 못하는 구간
- 인앱 브라우저는 결제·로그인 자체가 미동작하기도
문제 02
미확정 상태
- 주문 생성 ↔ 결제 승인 사이
- 별도 추적 없으면 중복 결제·유실이 그대로 남음
문제 03
조용한 실패
- HTTP 200 응답 + 실제로는 실패
- 모니터링 대상으로 올리기 전에는 아무도 모름
AI
AI를 어디에 쓰고, 어디에 쓰지 않았는가
판단이 매번 달라져도 되는 곳에만 AI / 결과가 항상 같아야 하는 곳은 코드로 고정
AI에 맡긴 것
- CCTV 영상 판정 착석 인원 · 상영 중 촬영 행위. 규칙 정의가 어렵고 기준 변경이 잦음
- 커밋 메시지 한국어 요약 배포 누락 알림에서 사람이 읽을 문장 — 단 한 단계
- 여행 일정 생성 예산에 맞춘 일정 제안
- 운동 · 식단 계획 추천 트레이너의 판단을 모델로 이전 시도 → 코칭 품질 미달로 중단
코드로 고정한 것
- 브랜치 비교와 판별 저장소 10곳 대조. 체리픽분은 해시 아닌 변경 내용으로 제외
- 알림 전송 조건 미반영 건이 없는 날은 알림 없음 → 오면 확인해야 하는 상태 유지
- 호출 횟수 하루 한 번으로 묶음
- 비용 · 성능 집계 기존 경로 유지한 채 새 집계로 전환 후 이전 경로 정리
왜 이렇게 나눴나
오탐이 몇 번 나오면 아무도 알림을 보지 않습니다. 결과가 매번 같아야 신뢰가 유지되고, 호출 횟수를 묶어야 비용이 예측 가능해집니다.
도입이 아니라 계속 쓰게
비개발 직군 12명 · 주 3시간 · 두 달. 정원은 공지 직후 마감, 결과물 5건 이상 실무 투입. 제안 단계에서 구현 가능성을 따지지 않게 해 진입 장벽을 낮추고, 장비를 대여해 환경을 통일했습니다.
Principles
일하는 방식
우열이 아니라 감당할 수 있는지로 고른다
- 지금의 팀과 제약이 감당할 수 있는가
- TV 앱은 플랫폼 제약 → 스택 유지
- 모바일 앱은 팀 역량·배포 주기 → 스택 전환
- 제약이 다르면 통일하지 않는 편이 낫다
경계는 판단의 주체를 기준으로 자른다
- 화면이나 기능 기준이 아님
- 같은 판단을 양쪽이 나눠 가지면 반드시 어긋남
- 파트너 앱 연동에서 본인인증 판단을 웹 단독으로 정리한 뒤 얻은 결론
화면보다 모니터링을 먼저 세운다
- 성공 경로보다 성공한 척하는 경로가 비쌈
- 스택 전환 때 모니터링을 나중에 붙여 전환 직후 데이터 소실
- 그 뒤로 순서를 바꿈
남이 만들다 만 것을 넘겨받아 끝낸다
- 중단된 앱 인계 → 스토어 출시 완료
- 외부 개발사가 남긴 매장 단말 안정화
- 운영 중인 앱의 스택을 경험 끊지 않고 이관