Kiro와 함께 나의 첫 프로젝트 구축: 학생의 경험
Source: Dev.to
Introduction
저는 보통 튜토리얼 지옥에 빠지는 컴퓨터 과학 전공 학생입니다. 코스와 시간표를 기반으로 학생들을 매칭해 주는 스터디‑그룹 코디네이터 앱을 만들고 싶었지만, 설정 문제를 디버깅하고 의존성 문제와 씨름하며, Stack Overflow에서 이해하지 못한 코드를 복사하는 데 시간을 보내다 보니 프로젝트를 끝내지 못했습니다. Kiroween 이야기를 듣고 또 다른 AI 코딩 도구에 회의적이었지만 Kiro를 한번 써보기로 했습니다. 포트폴리오 프로젝트가 필요했으니, 한 번 시도해 보는 것이 좋겠다고 생각했습니다.
Vibe Coding with Kiro
가장 놀라웠던 점은 바이브 코딩이었습니다. 정확한 문법을 찾거나 거의 맞지만 딱 맞지는 않는 튜토리얼을 따라가는 대신, 원하는 것을 평범한 영어로 설명하기만 하면 되었습니다. 예를 들어 이렇게 말했죠:
“I need a login system with email verification and password requirements.”
Kiro는 제가 실제로 읽고 수정할 수 있는 동작하는 코드를 생성해 주었습니다. 처음엔 IDE에 말만 하는 것이 이상하게 느껴졌지만, 정확히 무엇을 입력해야 할지 알 필요가 없으니 많은 마찰이 사라졌습니다. 뭔가가 조금이라도 맞지 않으면 간단히 “그건 내가 의도한 게 아니야”라고 말하면 Kiro가 조정해 주었습니다. 이제 하나의 함수를 이해하려고 문서를 세 시간씩 읽을 필요가 없었습니다.
Using Specs to Document Features
특징을 제대로 문서화하기 위해 스펙을 사용하기 시작하면서 상황은 더욱 좋아졌습니다. 다음과 같이 조직적으로 원하는 내용을 적었습니다:
- 사용자는 최대 인원 수가 정해진 스터디 그룹을 만들 수 있다.
- 그룹은 과목 태그를 가져야 한다.
- 인증된 학생만 참여할 수 있다.
Kiro는 이러한 요구사항을 일관되게 구현해 주었습니다. 보통은 코딩을 시작하고 운에 맡기는 편이었는데, 기능을 먼저 생각해 보게 되면서 개발 속도가 빨라졌습니다. 이제 같은 내용을 다섯 번씩 다른 대화에서 설명할 필요가 없었습니다.
Mistakes and Lessons Learned
물론, 여전히 실수는 했습니다.
- 비밀번호 처리: 비밀번호를 해시해야 한다는 것을 명시하지 않아, Kiro가 제가 요청한 그대로 평문으로 저장하도록 만들었습니다.
- 데이터베이스 성능: 두 시간을 들여 느린 쿼리를 디버깅했지만, 결국 모든 사용자 레코드를 가져온 뒤 필터링하도록 Kiro에게 요청한 것이 원인이라는 것을 알게 되었습니다.
이것들은 제가 요구사항을 설명하는 과정에서 생긴 오류였지, Kiro의 잘못이 아닙니다. 무엇을 만들고 있는지 이해해야 한다는 것을 배웠습니다. Kiro는 마법이 아니라 도구입니다. 기술적으로는 동작하지만 좋은 아이디어가 아닌 것을 요청하면 그대로 만들어 버립니다.
Outcome
가장 큰 변화는 제가 실제로 무언가를 끝냈다는 점입니다. 제 스터디‑그룹 앱은 작동하고, 배포도 되었으며, 동료들이 사용하고 있습니다. 코드는 완벽하지 않고 아직도 배우고 있지만, 다음과 같은 기능을 갖춘 실제 프로젝트를 만들었습니다:
- 사용자 인증
- 데이터베이스 관리
- 매칭 알고리즘
중간에 포기하지 않고 말이죠. 이제 새로운 프로젝트를 시작하는 것이 두렵지 않습니다. 무엇을 만들고 싶은지 명확히 설명할 수 있다면, 그것을 도와줄 도구가 있다는 것을 알게 되었으니까요. Kiro가 저를 시니어 개발자로 만들지는 않았지만, 튜토리얼에 머무르지 않고 실제로 프로젝트를 배포할 수 있는 자신감을 주었습니다. 학생으로서 배우면서 실제로 제품을 내놓고 싶다면, 그 차이는 엄청납니다.