개발 프로세스
Development with AI
AI는 개발 프로세스 전반에 적극 활용합니다.
- 25년 8월 기준 Claude Code가 가장 성능이 좋습니다.
- 초기 개발과 코드 구조 설계를 Claude Code와 함께 작업합니다.
- 개발 초기에는 AI에게 많은 권한을 주고 작업을 위임합니다. 아주 빠르게 기능을 만드는 것이 목적입니다. 어느 정도 구조가 잡힌 후에는 제약을 두고 코드베이스를 유지하면서 작업합니다.
- 비교적 구조가 잡힌 후에는 Cursor, Gemini CLI를 같이 사용합니다.
- 폴더 구조가 잘 잡힌 후에는 어느 정도 낮은 성능의 AI도 작은 작업을 처리할 수 있습니다.
- Claude Code에만 의존하지 않고, 비용도 절약하기 위함입니다.
- Gemini CLI를 잘 사용하는 방법을 고민 중입니다.
- FE는 v0, Lovable 등 서비스의 무료 플랜을 활용합니다.
- 코드도 코드지만 UI 디자인을 해결하기 위함입니다.
- 다른 유용한 AI 도구를 조사 중입니다.
Test Code
테스트 코드와 프로세스를 최소한이라도 잡으면서 작업합니다. 특히 AI가 활용되면서 테스트에 대한 접근성이 올라갔습니다.
- 백엔드는 마크다운 문서로 작성된 테스트 시나리오를 파싱하여 테스트를 실행할 수 있도록 합니다.
- ty의 테스트 코드를 보고 영감을 받았습니다.
- 현재 Go 언어로 E2E 테스트와 Type validation을 할 수 있도록 설정해 둔 상태입니다.
- 프론트엔드는 Storybook, Playwright를 활용합니다.
Git + History management
- 초기 개발 동안에는 프로세스를 상당 부분 생략합니다.
- 만든 규칙도 깨지기 쉽고 오히려 프로세스에 매몰되어 생산성이 떨어진다고 판단하였습니다.
- 코드가 안정된 이후에는 코드를 GitHub로 옮기고, 중요한 내용을 이 문서와 GitHub Discussion으로 기록합니다.
- 브랜치와 이슈 관리는 Linear을 사용합니다.
- 무료 플랜으로도 티켓을 지속적으로 정리해 주면 사실상 무제한으로 사용 가능합니다.
- 경험상 개인 프로젝트에서 히스토리를 세세하게 돌아봐야 하는 경우는 많지 않았습니다.
- PR Convention 사용을 지향하고 있습니다. 형식은
type: [ticket] description
입니다.
Productivity
- MCP와 CLI를 적극 활용합니다.
- AI 생산성도 높아지고, 자주 수행하는 작업을 CLI로 만들어 두면 불필요한 리소스 낭비가 줄어듭니다.
- 어디에서나 사용할 수 있고, 개발 역량도 높이기 위해 개인 MCP와 CLI를 제작하여 사용하고 있습니다.
- 자동화와 일반화를 항상 고려합니다.
- 가끔씩은 직접 정리와 리팩토링을 수행합니다.
- 당장은 생산성이 떨어지는 것처럼 보이지만, 더 견고한 구조를 만들면 이후 생산성이 높아집니다.
- 한 번 한다고 끝나는 것은 아니고, 꾸준히 해 주어야 합니다.
- 멀티태스킹을 지향합니다.
- AI 도구가 생기면서 마치 게임의 자동사냥을 돌려 놓는 것처럼 한 번에 여러 일을 처리할 수 있게 되었습니다.
- 단순 작업을 직접 처리하는 경우를 줄이고, 대신 아이디어 구상, 아키텍처 설계, 리뷰 등 고급 작업을 수행합니다.
- 단, 개인의 성향을 고려하여 적절하게 조절해야 합니다.