글쓴이는 컴공을 나와서 현재 백엔드 개발자 4년차이다.
컴공을 가기 전에 중고등학교 내내 공부는 안하고 실음과를 가겠다고 기타만 치던 사람이었다.
그러나 연습을 더럽게 안 하던 나는 음악을 결국 취미로 남겨두게 되었고,
언젠가 스스로에게 악기 연습을 시키기 위해서 앱을 하나 만들기로 결심한다.
이 글은 앱 개발 과정기를 녹인 글이다.
개발자 중 밴드 하시는 분들
학부생 시절 iOS 개발을 깔짝 했었는데, 정작 취업은 백엔드로 하였다.
음악과 악기는 애증이 되었지만 여전히 놓지 못해 방구석에서 릴스도 찍고, 지인들과 종종 공연도 한다.
기타는 항상 잡고 있는데, 내 연습량은 어떻게 되고 뭘 주로 연습하지? 라는 생각이 문득 들었고 기록하는 앱을 만들자는 결심만 사실 1년 했다. 1차 MVP 기획도 마치고, 밴드 플랫폼을 만들겠다는 원대한 계획만 1년을 했다. 사실 혼자 하기 벅차서 누구와 함께 하고 싶었으나 같이 할 사람을 구하지 못했다.
쓰레드를 매일 염탐하다 보니 codex와 claude code의 성능이 꽤나 올라왔다는 말이 자자했고, 지금이면 혼자 내가 기획한 앱을 만들어 볼 수 있지 않을까? 싶었다.
그러나 믿지 못하고 자만심에 iOS랑 api 서버를 혼자 뚝딱뚝딱 개발하다가 아차 싶더라. 이러다 평생 못만들겠다 싶었는데 그 찰나 카카오에서 chat gpt 대란이 났고, 나는 이때다 싶어서 구매해서 codex한테 일을 시키게 된다. (미련하고 바보같이 한 달치만 샀고, 현재는 클로드로 넘어감)

2026년 1월 2일부터 개발을 시작했는데, 이 당시만 해도 프롬프트를 어떻게 작성해야하고, skill은 뭐고 이런 개념 자체가 아예 없었다. 나에게 지피티는 그저 개발 개념 물어보거나 사주 봐달라고 하는 정도가 다였다.
실제로 1월은 내가 모르는 개념들을 물어보며 직접 개발했다. 카카오를 통해서 얻은 chat gpt pro를 얻은 이후엔 이걸 뽕뽑고 싶다는 마음에 이것저것 알아보며 정보를 얻게 되었다. 개발 속도는 미친듯이 올라가는 것이 당연한 것이었고, 나는 그저 딸깍만 하면 됐다. (물론 검토와 조사를 충분히 시킨 다음 개발을 시켰다)
언제부터는 이러고 있는 내 모습이 릴스에 뜨더라

26년 1월은 개발하며 모르는 개념만 물어보며 수정하였는데, 2월부터는 codex를 이용하니 생산성이 말도 안 되게 늘었다. (codex 5.3을 사용하는 와중 5.4로 업데이트 되었고, 성능은 체감되게 좋아진 것을 느꼈다)
단순하게, "이런 기능 만들어줘" 라고 말하면 성능을 온전히 못 뽑는다는 것을 알아서 귀찮더라도 계속 설명해주고 학습시켰다.
나는 ios 앱개발은 학부생때 해본 것이 전부였고, 현재는 spring 백엔드 개발자로 일하고 있다. (학부생 때에는 UIKit으로 개발하였고, 이번엔 swiftUI로 진행했다)
codex, claude code한테 지시할 때, 귀찮더라도 항상 다음과 같은 규칙을 세웠다.
- 계획을 세울 때 지시한 기능에 따라서 다르게 조사 시켰다.나는 이 기능이 필요한데 (내가 사용하려고 만든 앱이니까) 남들이 사용할 때에도 필요한 기능인지, 혹은 추가 기능이 필요한지 판단이 제대로 서지 않을 때에는 커뮤니티를 주로 확인하라고 했다. 주로 레딧을 많이 참조하거나 내가 모르는 해외 유명 커뮤니티, 혹은 국내의 관련 분야 유명 커뮤니티를 조사하더라.
- 내가 만든 앱은 음악 관련 앱이기에 튜너를 만들 땐 논문을 참고하라고 했다. 기타/베이스 음역대에 따른 주파수 분석, 정밀도, 핸드폰 마이크로 수음하는 소리 감지 후 분석, 캐패시터, 인덕터 등 정밀하게 분석할 수 있도록 관련 논문들을 찾아서 내 앱에 맞게 수치를 조절하며 개발하였다.
- 그리고 내가 만들려는 분야에서 실제 운영하고 서비스하는 어플, 오픈소스 등 무조건 유명한 것들을 참고해서 내 서비스에 어떻게 녹일 수 있을지 물어보았다.
- 마지막으로 위와 같은 과정을 통해 계획을 하게 되면 어떻게 개발을 할 것인지 주저리주저리 말해주는데, 해당 계획을 md 파일로 어느 순서로 개발할 것인지 Phase (혹은 step)으로 나눠서 정리해달라고 했다.
- Phase 별로 개발을 시키고, 해당 개발이 끝나면 발생할 수 있는 사이드 이펙트를 항상 분석하고 당장 수정할 수 있는 것과 추후 수정해야 할 것들을 분리시켜 알려달라고 하였다.
- 그리고 하나의 Phase가 끝나면 해당 Phase에서는 어떤 개발을 진행하였고 발생한 이슈, 앞으로 수정해야 할 것들, 다음은 무엇을 개발할 것인지 md파일에 업데이트 하며 저장하라고 했다.
- 이슈를 잡으며 개발 했지만 더 세분화되게 QA를 진행시키니 작은 기능마다 이슈가 꽤 나오더라..
- 한 기능에 대한 QA가 종료되면 회귀 테스트, 통합 테스트를 진행시켰고, ios 같은 경우 API 연동 테스트까지 진행하며 이슈를 잡았다.
- QA를 자세하게 하기 위해 만든 프롬프트 및 템플릿 가이드를 준수하도록 하였다.
- 서버에 올리기 전에는 내 코드들을 풀스캔해서 보안 취약점을 찾아달라고 한 다음, 이슈 목록 리스트 만들어주고, 어떻게 수정하면 좋을지 또 다시 계획하고 수정 시켰다.
- 서버에 배포를 하고, 앱 심사를 올리기 전에 무작정 내 서버를 알려주고 해킹하라고 했다. 간단한 해킹 기법부터 랜섬웨어 등의 다양한 해킹 기법을 사용해서 해킹하고 보안취약점을 다시 찾게 시켰다. (
회사에서 랜섬웨어 맞은 적이 있어서 보안 이슈 터지면 PTDS 온다)- 어느 정도 되었다 싶은 시점에 앱 심사를 올렸고 앱 출시를 드디어 하게 되었다.