[6월 회고] 오래 고민한 흔적이 남는 앱을 만들고 싶다

2026. 7. 2. 15:46·경험
728x90
반응형

6월의 한 문장

빠르게 만든 결과보다 오래 고민한 흔적을 남기고 싶다.

 

6월에는 예상하지 못했던 일도 있었고, 몇 주 동안 이어진 프로젝트를 마무리하기도 했다. 새로운 도전을 준비할 기회도 생겼다.

서로 다른 사건들이었지만 돌아보니 하나의 생각으로 이어졌다.

 

나는 단순히 동작하는 코드를 작성하는 개발자가 아니라, 내가 작성한 코드를 내 언어로 설명할 수 있는 개발자가 되고 싶다. 그리고 언젠가는 개발자가 들인 시간과 애정이 자연스럽게 보이는 앱을 만들고 싶다.

예상하지 못했던 사고

6월에는 교통사고를 당했다.

다행히 크게 다치지는 않았지만 병원에 가야 하는 날이 생겼고, 이전보다 신경 써야 할 것도 많아졌다. 자연스럽게 온전히 몰입할 수 있는 시간도 줄었다.

 

해야 할 일은 그대로인데 사용할 수 있는 시간과 집중력은 줄어든 상황이 아쉬웠다. 특히 Challenge 3를 진행하고 있던 시기였기 때문에 조금만 더 몰입할 수 있었다면 더 깊게 공부하고 더 많은 것을 시도할 수 있지 않았을까 하는 생각도 들었다.

그래도 주어진 시간 안에서 할 수 있는 일을 계속했고, Challenge 3를 마무리했다.

첫 visionOS 프로젝트, FireSpace

Apple Developer Academy Challenge3에서는 visionOS 기반의 소방 안전 훈련 앱 FireSpace를 개발했다.

 

FireSpace는 Apple Vision Pro를 착용한 사용자가 실제 공간 위에 나타난 화재를 발견하고, 손으로 소화기를 직접 조작하며 초기 진압 과정을 훈련하는 앱이다.

 

나는 화재 진압 파트를 담당했다. 사용자가 소화기를 잡고, 안전핀을 뽑고, 노즐을 조준하고, 레버를 눌러 분말을 분사하는 과정을 Hand Tracking으로 구현했다.

 

이를 위해 ARKit, RealityKit, HandTrackingProvider를 사용했다. 손 관절의 위치와 움직임으로 제스처를 판단하고, RealityKit의 좌표계와 Entity 구조, 물리 동작을 함께 다뤄야 했다.

 

모두 처음 사용하는 기술이었다. 쉽지는 않았지만 프로젝트가 끝난 뒤에는 visionOS 개발에 대한 지식이 이전보다 분명히 늘었다는 것이 조금이나마 체감됐다.

 

화면 안의 버튼과 상태를 다루는 기존 iOS 개발과 달리, visionOS에서는 사용자의 손과 공간, 3D 객체의 위치와 움직임까지 함께 고민해야 했다. 공간 컴퓨팅 앱을 개발한다는 것이 단순히 3D 모델을 띄우는 일이 아니라, 공간 안에서 사용자의 행동을 설계하는 일이라는 것도 배웠다.

동작하는 코드와 설명할 수 있는 코드 사이

프로젝트를 진행하면서 불편하게 느껴졌던 순간도 있었다.

 

AI가 작성한 코드는 동작했지만 내가 그 코드를 제대로 설명하지 못했다. 오류가 발생했을 때 코드의 구조를 이해하지 못해 다시 AI에게 질문해야 했고, RealityKit의 좌표계나 Hand Tracking 로직을 충분히 이해하지 않은 상태로 코드를 연결하고 있다고 느낄 때도 있었다.

 

물론 최대한 직접 해결하려고 했다. 하지만 나를 제외한 팀원 모두가 개발이 처음이었기 때문에, 내 구현뿐 아니라 개발 과정 안내와 기술적인 의사결정, 각자의 작업을 연결하는 일도 함께 챙겨야 했다. 새로운 기술을 공부하는 시간까지 필요하다 보니 온전히 내 구현에 사용할 수 있는 시간은 예상보다 훨씬 많이 적었다. 정해진 기간 안에 결과물을 완성해야 했기 때문에 구현 단계에서 AI의 도움을 받는 일이 많아졌다.

그 과정에서 한 가지 질문이 계속 남았다.

 

Question
이 코드를 나는 내 언어로 설명할 수 있는가?

 

코드가 동작한다는 것과 그 코드를 이해한다는 것은 달랐다. 동작하는 결과물을 만들었더라도 문제가 발생했을 때 스스로 원인을 좁힐 수 없다면, 그 코드는 온전히 내 것이 아니라고 느꼈다.

 

이를 의식한 뒤부터는 AI를 무조건 사용하지 않으려고 하기보다 사용하는 방식을 바꾸려고 했다.

 

가능하면 공식 문서와 튜토리얼부터 확인했다. AI에게는 완성된 코드를 요청하기보다 개념을 설명해달라고 하거나, 어떤 순서로 공부하면 좋을지 방향을 물었다.

 

AI를 코드를 대신 작성하는 사람처럼 사용하는 것이 아니라, 내가 공부할 방향을 찾도록 도와주는 도구로 사용해보려 했다.
(물론 이전에도 이렇게 하긴 했음..)

아직 완전히 바뀌었다고 말하기는 어렵다. 그래도 적어도 AI가 작성해준 코드를 바로 붙이는 순간마다 “나는 이것을 이해하고 있는가?”라고 한 번 더 질문하게 됐다.

WWDC26 Watch Party

한국 시간으로 6월 9일 오전 2시, 아카데미에서 진행하는 WWDC26 Watch Party에 참가했다. 늦은 시간이었지만 다른 러너들과 한 공간에서 키노트를 기다리고 함께 보는 경험 자체가 즐거웠다. 사실 개인적으로 몇 년 전부터 계속 이 순간을 기다려왔었다. 매년 새벽에 혼자 방에서 애플 키노트 발표회를 봤었는데 이번에는 애플을 좋아하는 사람들과 함께 실시간으로 같이 보면서 이야기를 할 수 있다는 게 너무 좋았다.

 

가장 기억에 남은 발표는 드디어 공개된 Siri AI였다. Siri가 개인의 맥락과 화면에 보이는 내용을 이해하고, 앱의 기능까지 자연스럽게 실행할 수 있다는 설명을 들으면서 새로운 Siri로 어디까지 할 수 있을지 궁금해졌다.

 

개발자인 나에게는 그 연결점인 App Intents가 특히 눈에 들어왔다. 사용자가 앱을 직접 열지 않아도 Siri가 앱의 기능과 콘텐츠를 이해하고 실행하게 만들려면 무엇을 준비해야 하는지, Siri와 Apple Intelligence를 위한 App Intents를 더 깊게 공부해보고 싶어졌다.

 

키노트에서 운영체제의 성능과 CPU scheduling을 최적화해 멀티태스킹 경험을 개선했다는 설명도 인상 깊었다. 개인적으로는 몇 년 전부터 애플 운영체제들이 오류도 많아지고 문제점이 점점 많아지고 있다고 생각했고 이 부분이 가장 해결되길 바랬는데 드디어 공식적으로 최적화를 집중했다는 게 너무 반가웠다.

 

Watch Party가 끝난 뒤에는 새로운 기능을 사용해보고 싶다는 마음과 함께, 그 기능이 어떤 구조 위에서 동작하는지를 공부해보고 싶다는 질문이 남았다.

Swift를 더 깊게 공부하고 싶어졌다

Challenge 3를 진행하며 Swift 자체를 더 깊게 공부하고 싶다는 생각도 커졌다.

 

그동안은 앱에 필요한 기능을 구현하는 과정에서 Swift를 사용했다면, 이제는 언어가 제공하는 기능이 왜 이런 형태로 설계되었는지, 코드가 내부에서 어떻게 동작하는지를 조금 더 근본적으로 이해해보고 싶어졌다.

 

그러던 중 테크 멘토 재성을 통해 Swift Mentorship Program을 알게 됐다.

Swift Mentorship Program은 Swift 커뮤니티의 경험 많은 개발자와 직접 소통하며 Swift 오픈 소스 프로젝트에 기여하는 과정을 경험할 수 있도록 마련된 프로그램이다.

나는 다음과 같은 경험을 기대하며 신청했다.

  • Swift 커뮤니티의 경험 많은 개발자와 소통하기
  • 내가 부족한 부분을 발견하기
  • Swift 오픈 소스 프로젝트의 작업 과정 경험하기
  • 최종적으로 실제 오픈 소스 프로젝트에 기여하기

6월 말에 멘토링 참여 결과를 받았고, 7월부터 본격적인 활동을 시작한다.

 

아직 어떤 프로젝트에 어떻게 기여하게 될지는 모른다. 우선 멘토와 대화하면서 내가 프로그램을 통해 얻고 싶은 것이 무엇인지 구체화하고, 그것을 실제 활동으로 연결할 방향부터 정해보고 싶다.

애정이 보이는 앱을 만들고 싶다

요즘 주변과 SNS에서 바이브 코딩으로 앱을 만들었다는 이야기를 자주 접한다.

AI를 이용해 빠르게 아이디어를 구현하고 결과물을 만드는 것은 분명 좋은 능력이다. 나 역시 개발 과정에서 AI의 도움을 받고 있다.

내가 불편하게 느끼는 것은 AI 자체가 아니다.

어떤 문제를 해결하려는지, 왜 이 앱을 만들었는지, 개발자가 무엇을 고민했는지가 잘 보이지 않는 결과물을 볼 때 마음이 오래 머물지 않았다. 특별한 목적 없이 앱을 만들었다는 사실 자체만 남은 것처럼 느껴질 때도 있었다.(특히 SNS에서 "바이브 코딩으로 N시간만에 ~~앱 만듦" 하는 글들...)

반대로 다음과 같은 앱에는 한 번이라도 더 눈이 갔다.

  • 문제를 선택한 이유가 분명한 앱
  • 사용자를 오래 관찰한 흔적이 있는 앱
  • 작은 인터랙션까지 세심하게 다듬은 앱
  • 출시 이후에도 오래 운영하고 개선하는 앱

단순히 많은 시간을 사용했다고 좋은 앱이 되는 것은 아닐 것이다. 하지만 사용자의 문제를 이해하기 위해 고민한 시간과 더 나은 경험을 만들기 위해 반복한 시도는 결과물 어딘가에 남는다고 생각한다.

 

나도 그런 앱을 만들고 싶다.

 

개발자가 어떤 문제를 중요하게 생각했는지, 사용자에게 어떤 경험을 전달하고 싶었는지, 작은 부분을 왜 그렇게 결정했는지 설명할 수 있는 앱을 만들고 싶다.

6월 말, Challenge 4를 시작했다

6월 말에는 Apple Developer Academy Challenge 4도 시작했다. 이번 챌린지의 주제는 Understanding User Experience다.

 

처음에는 '이동과 공간'이라는 넓은 주제에서 출발했지만, 조사할수록 실제 문제가 아닌 것을 억지로 문제처럼 만들고 있다는 느낌을 받았다. 팀원들과 방향을 다시 논의한 끝에 카풀 경험으로 범위를 좁혔고, 사용자 인터뷰를 통해 현재는 정산 과정의 어려움을 살펴보고 있다.

아직 어떤 해결책을 만들지는 정하지 않았다. 오히려 이번에는 결과물을 빠르게 만드는 것보다, 사람들이 실제로 어떤 문제를 겪고 있는지 충분히 관찰하고 이해하는 과정을 경험해보고 싶다.(그걸 위한 챌린지이기도 함)

어쩌면 Challenge 4는 내가 말한 '문제를 선택한 이유와 사용자를 관찰한 흔적이 보이는 앱'을 만드는 연습이 될지도 모르겠다.

7월에는 개발의 주도권을 되찾아보기

7월에는 Swift Mentorship Program을 시작한다.

먼저 이 프로그램에서 내가 얻고 싶은 것을 구체적으로 정리하고, 멘토링을 통해 그 목표에 도달하려면 어떤 활동을 해야 하는지 방향을 잡아보려고 한다.

 

기술적으로는 다음 주제를 깊게 공부하고 싶다.

  • Swift 6
  • Swift Concurrency
  • visionOS

 

AI를 사용하는 방식도 다시 정립해보려고 한다.

단순 검색이나 학습 방향을 잡을 때는 AI를 활용하되, 코드를 작성하는 과정에서는 먼저 내가 충분히 생각하고 시도하는 시간을 가지려고 한다. 정말 해결하기 어렵거나 오랫동안 막힌 문제에 도움을 요청하더라도, 받은 답을 이해하고 설명할 수 있는 상태까지 확인하고 넘어가고 싶다.

 

아직 다음에 어떤 앱을 만들고 싶은지는 모르겠다. 마음이 맞는 사람과 함께 앱을 만들고 싶지만, 그런 사람을 어떻게 만나고 어떤 문제를 함께 선택해야 하는지도 아직 답을 찾지 못했다.

 

그래서 당장 앱을 정하기보다 내가 중요하게 생각하는 문제와 개발 태도를 조금 더 선명하게 만들어보려고 한다.

빠르게 결과물을 하나 더 만드는 것보다, 오래 고민한 흔적이 남는 앱을 만들기 위해서.

728x90
반응형

'경험' 카테고리의 다른 글

2026년 4월 8일 - 아카데미에서 내 색깔 찾기  (2) 2026.04.15
'경험' 카테고리의 다른 글
  • 2026년 4월 8일 - 아카데미에서 내 색깔 찾기
P_Piano
P_Piano
Apple 생태계 개발자가 되기 위해 학습과 경험을 기록하고 있습니다.
    반응형
    250x250
  • P_Piano
    피피아노의 개발 일지
    P_Piano
  • 전체
    오늘
    어제
    • 분류 전체보기 (235) N
      • Apple (151)
        • iOS (25)
        • visionOS (5)
        • Swift (80)
        • UIKit (2)
        • SwiftUI (27)
        • RxSwift (2)
        • Xcode (6)
        • Metal (2)
      • Apple Developer Academy (1)
      • C언어 (5)
      • C++ (8)
      • Dart (1)
      • Python (3)
      • JavaScript (17)
      • Git (1)
      • CS (40)
        • 디자인 패턴 (6)
        • 네트워크 (20)
        • 운영체제 (8)
        • Database (5)
        • 자료구조 (0)
      • IT 지식 (2)
      • IT 뉴스 (4)
      • 경험 (2) N
      • 출처 표기 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    동시성
    티스토리챌린지
    제어문
    함수
    Vision Pro
    상속
    Initializers
    swiftUI
    데이터베이스
    운영체제
    이니셜라이저
    프로퍼티 래퍼
    Apple
    비동기
    Xcode
    스위프트
    프로세스
    visionOS
    회고
    자바스크립트
    클래스
    디자인패턴
    ios
    변수
    배열
    오블완
    네트워크
    UIKit
    SWIFT
    코딩테스트
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
P_Piano
[6월 회고] 오래 고민한 흔적이 남는 앱을 만들고 싶다
상단으로

티스토리툴바