데브허브 | DEVHUB | How Im using AI as a software engineerHow Im using AI as a software engineer
- AI는 소프트웨어 엔지니어의 생산성을 증강하는 도구로 활용되며, '바이브 코딩' 대신 TDD와 같은 핵심 소프트웨어 엔지니어링 원칙을 고수한다. 🛠️
- AI를 단순히 코드를 생성하는 도구가 아닌, 오케스트라를 지휘하는 '아키텍트' 또는 '페어 프로그래머'로 간주하며, 개발자는 기본적인 코드 이해를 유지해야 한다. 🧑💻
- AI 모델에 프로젝트 문서, 아키텍처 다이어그램 등 충분한 컨텍스트를 제공하는 것이 고품질의 결과물을 얻는 데 결정적인 역할을 한다. 📚
- Claude의
/init 명령을 통해 코드베이스를 분석하게 하여 프로젝트의 기술 스택, 아키텍처, 통신 방식 등을 AI가 깊이 이해하도록 돕는다. 🧠
- AI는 복잡한 작업을 작은 하위 작업으로 효과적으로 분할하여 실행하며, 이는 전체 작업의 성공률과 결과물의 품질을 향상시킨다. 🧩
- 실험을 통해 AI가 새로운 서비스의 스켈레톤 코드, Dockerfile, Kubernetes 배포 파일 등을 성공적으로 생성하고, 실제 환경에서 문제없이 실행됨을 입증했다. 🚀
- 반복적인 작업을 위해 AI에게 프롬프트 개선을 요청하거나 사용자 정의 명령어를 생성하여 프롬프트의 재사용성을 높이고 효율적인 워크플로우를 구축한다. 🔄
- 테스트 주도 개발(TDD)은 AI와 협업 시 매우 효과적인 방법론으로, AI가 코드의 동작 방식과 엣지 케이스를 명확히 이해하고 구현하는 데 도움을 준다. ✅
- 가장 중요한 원칙: AI가 테스트 코드를 작성하게 해서는 안 된다. 테스트는 비즈니스 규칙의 진실된 원천이며, 개발자가 직접 작성해야 AI가 생성한 코드를 신뢰하고 프로젝트의 통제권을 유지할 수 있다. 🛑