제가 추구하는 개발 프로세스와 개인 성향을 정리해 둔 문서입니다.
Development Process
AI Tools
AI는 개발 프로세스 전반에 적극 활용합니다.
- 25년 12월 기준 Claude Code를 주력으로 사용하고 있습니다.
- 전반적인 작업을 모두 맡아서 처리하고 있습니다.
- Subagent, Custom command 등은 잘 활용하지는 않고, 가능하면 Skill을 활용하거나 Raw prompt로 끝내는 방향으로 잡고 있습니다.
- Google의 Antigravity를 IDE 겸 보조 AI 도구로 활용하고 있습니다.
- 프론트엔드 개발과 Planning, 브라우저를 통한 자동화에 강점이 있습니다.
- 무료로 사용할 수 있는 것도 매력적입니다.
- FE 프로토타입에는 v0, Lovable 등 서비스의 무료 플랜을 활용합니다.
- 코드도 코드지만 UI 디자인을 해결하기 위함입니다.
Development Process
- 개발 초기에는 기능 구현에 집중합니다.
- AI에게 최대한 많은 권한을 주고 작업을 위임합니다. 개인의 부하도 줄이고, 아직까지는 AI의 코드를 통제할 개인 능력이 충분하다고 판단하였습니다.
- 프로세스도 상당 부분 생략합니다. 규칙을 만들어도 깨지기 쉽고 오히려 프로세스에 매몰되어 생산성이 떨어진다고 판단하였습니다.
- 기능 구현이 끝나거나, 코드가 과도하게 복잡해지면 손수 리팩토링을 수행하는 편입니다.
- 아직까지는 사람이 코드를 보아야 하는 경우도 많고, 고통스럽지만 해 두면 이후 생산성이 높아집니다.
- 이후 AI에게도 코드베이스 구조를 유지하며 작업하거나, 다른 서비스도 기존 프로젝트를 참고하여 구현 또는 리팩토링을 하도록 유도합니다.
- 1번과 2번을 반복하며 코드가 안정화되면 코드를 GitHub로 옮기고, 통상적인 개발 프로세스를 적용합니다.
- 중요한 내용은 문서와 GitHub Discussion으로 기록합니다.
- 브랜치와 이슈 관리는 Linear을 사용합니다.
- 무료 플랜으로도 티켓을 지속적으로 정리해 주면 사실상 무제한으로 사용 가능합니다.
- 경험상 개인 프로젝트에서 히스토리를 세세하게 돌아봐야 하는 경우는 많지 않았습니다.
- PR Convention 사용을 지향하고 있습니다. 형식은
type: [ticket] description입니다.
Test Code
테스트 코드와 프로세스를 최소한이라도 잡으면서 작업합니다. 특히 AI가 활용되면서 테스트에 대한 접근성이 올라갔습니다.
- 백엔드는 마크다운 문서로 작성된 테스트 시나리오를 파싱하여 테스트를 실행할 수 있도록 합니다.
- ty의 테스트 코드를 보고 영감을 받았습니다.
- 현재 Go 언어로 E2E 테스트와 Type validation을 할 수 있도록 설정해 둔 상태입니다.
- 프론트엔드는 Playwright를 활용한 E2E 테스트를 계획 중입니다.
- Antigravity의 등장으로 테스트에 대한 압박이 줄어들었다고 생각합니다.
Productivity
- 코드를 세세하게 적기보다는, 중요한 컨셉과 개념, 고민한 내용을 위주로 기록합니다.
- 갈수록 고민과 경험, 전체 프로젝트의 흐름과 아키텍처를 짜는 능력이 더 중요해질 것이라 생각합니다.
- 자동화와 일반화를 항상 고려합니다.
- 멀티태스킹을 지향합니다.
- AI 도구가 생기면서 마치 게임의 자동사냥을 돌려 놓는 것처럼 한 번에 여러 일을 처리할 수 있게 되었습니다.
- 단순 작업을 직접 처리하는 경우를 줄이고, 대신 아이디어 구상, 아키텍처 설계, 리뷰 등 고급 작업을 수행합니다.
- 단, 개인의 성향을 고려하여 적절하게 조절해야 합니다.
Other information
ccusage로 Claude Code 사용량을 확인할 수 있습니다.
MAX Plan에서 한도가 걸릴 일이 흔하지는 않기는 합니다.
Personal TMI
개인적인 성향과 상황입니다. 참고만 해 주세요!
- 과거 기록 중 필요하지 않은 건 지우고, Commit 내역도 주기적으로 Squash + Force Push를 하는 편입니다. 당연히 협업할 때는 이렇게 하지 않습니다 😅
- 어떤 작업을 할 때 최대한 표준과 참고 자료를 찾되, 조금씩 변형을 가하는 편입니다.
처음부터 100% 저에게 맞는 것은 거의 없었습니다. - 바퀴를 다시 발명하지 않는 편입니다. 직접 구현하기보다는 도구나 라이브러리가 있다면 가급적 그것을 사용합니다.
- 저는 다른 용도로 Windows 컴퓨터도 많이 사용하고 이를 개발에 활용할 때도 있습니다.
따라서 PowerShell 스크립트를 짜는 등 Windows와 Mac에서 모두 개발이 가능하도록 환경을 구성합니다.