iOS 개발자가 프론트엔드 유지보수를 하며 겪은 성장 스토리

by DD
3개월 전
조회수 36

iOS 개발자가 프론트엔드 직무 확장을 통해 리셀마켓 유지보수를 담당하게 됨

AI 기반 도구(Cursor)를 활용하여 코드 이해 및 문제 해결에 도움을 받았으며, Plan 모드를 통해 작업 효율을 높임

검수 가이드 이미지 추가, 바우처 명의 변경 자동화 등 유지보수 작업을 수행

웹뷰(WebView) 관련 문제 해결 과정에서 플랫폼별 지식 부족을 인지하고 지속적인 학습의 필요성을 느낌

유지보수자의 핵심 역량: 문제 해결 능력

본문에서 유지보수자는 전체 아키텍처(Architecture)를 완벽하게 이해하기보다, 문제 해결(Problem Solving)에 집중해야 한다고 강조한다.

Cursor를 활용하여 코드 구조를 시각화하고, 수정해야 할 부분을 빠르게 파악

“어디를 고쳐야 하는가”에 대한 질문에 답하기 위해 컴포넌트 관계도(Component Relationship)를 적극 활용

Swift에 익숙한 개발자가 새로운 언어를 학습할 때, 기존 지식을 활용하고 AI를 통해 효율을 높임

결과적으로 유지보수(Maintenance)는 문제 해결 능력과 빠른 학습 능력을 요구하며, AI 도구는 이러한 과정을 돕는 강력한 조력자 역할을 한다.

AI 기반 개발 도구 활용 전략

발표자는 AI 기반 도구인 Cursor를 활용하여 개발 효율을 높인 경험을 공유했다. 특히, Cursor 블로그에서 소개된 세 가지 팁을 실제 업무에 적용했다.

Plan 모드를 통해 작업 계획을 수립하고, 의도에서 벗어나는 것을 방지

결과가 만족스럽지 않을 경우, 계획을 재정비하여 재실행

기능 단위가 변경될 때마다 새로운 대화를 시작하여 작업 범위를 명확히 함

이러한 전략은 AI 도구의 성능을 극대화하고, 개발 생산성을 향상시키는 데 기여한다.

웹뷰(WebView) 환경에서의 문제 해결

웹뷰(WebView) 환경에서 발생하는 문제 해결을 위해, 개발자는 다양한 문제 해결 전략을 사용했다.

모바일 웹뷰(Mobile WebView)에서 SendBird 아이콘이 보이지 않는 문제를 해결하기 위해, 정책 및 코드 검토를 진행

Charles를 활용하여 배포 없이 웹뷰 동작을 검증하고, Map Local 기능을 통해 로컬 환경에서 테스트

안드로이드(Android)에서 사진 업로드(Photo Upload)가 되지 않는 문제, 무한 리로드(Infinite Reload) 문제 등 플랫폼별 특성을 고려한 문제 해결 시도

결과적으로 웹뷰 환경은 플랫폼별 특성을 고려해야 하며, Charles와 같은 도구를 활용하여 효율적인 디버깅(Debugging) 환경을 구축해야 한다.

직무 확장을 통한 성장과 학습

Product Engineer 직무 확장을 통해, 개발자는 스스로 해결할 수 있는 문제의 범위를 넓혔다.

이전에는 백엔드(Backend) 개발자에게 요청했던 데이터 수집 및 필터링 작업을 직접 수행

의사 결정에 필요한 정보를 더 빠르게 확보하고, 팀의 업무 효율에 기여

플랫폼별 특성, 웹뷰(WebView), SSR(Server-Side Rendering) 등 새로운 기술에 대한 지속적인 학습의 필요성을 강조

결론적으로 직무 확장은 개인의 성장뿐만 아니라, 팀 전체의 역량 강화에도 긍정적인 영향을 미친다.

Product Engineer — 리셀마켓 그 후, iOS 개발자의 유지보수기